Subject: [APPS-REVIEW] Review of draft-merrick-jms-uri-05
From: Harald Alvestrand <[email-masked]>
To: [email-masked], Lisa Dusseault <[email-masked]>, [email-masked], [email-masked], [email-masked], [email-masked]
Date: Fri, 06 Feb 2009 00:15:21 +0100
List-Id: Applications Review List <apps-review.ietf.org>

Document: draft-merrick-jms-uri-05
Reviewer: Harald Tveit Alvestrand
Type of review: Apps area review
Date: February 5, 2009

Summary: This document is strange, but just about ready.

This specification is highly unusual in that it really doesn't document 
an URL for a protocol that can be resolved across the Internet - it 
documents a way to describe the parameters that one should send across a 
Java API.

I think it a pity that the examples given give the impression that these 
mechanisms are strictly local in scope - a "jndi name" of REQ_QUEUE, and 
a "jndiURL" of file:/C:/JMSadmin both give the impression that these 
URLs won't ever be resolvable outside of a quite local context.
I suspect that it is possible to construct JMS URLs that can be shared 
globally with an expectation of uniform interpretation - if such exist, 
it would be better for the document if they had been used in examples.

On the other hand, if this possibility does not exist, the document 
should be very clear that these URIs are *not* possible to use in 
Internet interchange without a prenegotiated context for interpretation, 
and that they have no more global semantics than the "file:" URL scheme.

Apart from that, the document seems to do its job of describing how to 
pick apart one of these URLs and push the pieces through a Java API. 
Some nits:

- in section 4.1, some "shared" parameters are defined, but in section 
4, it says that new variants can be defined, whose parameters should 
begin with the variant name as prefix (without specifying a separator 
character). Is there an expectation that there will never be a variant 
called "delivery", "time" or "priority"? If so, should this expectation 
be documented? (what about the "del" variant? possible or not?)

- in section 4.2.1, it seems somewhat bizarre that the JNDI-specific 
parameters all start with "jndi", while section 4.2.1.4 states that 
additional JNDI-specific parameters should start wiht "jndi-" (note the 
additional dash). Why not be uniform?

- the fact that the URI needs to be in UTF-8 only surfaces in section 5, 
long after the definition of the URI, and long after I'd started 
wondering about it. I think it would be better if this section was moved 
up  after section 3, just after the URI syntax is defined.

The security section seems reasonably comprehensive - if one wants 
additional review of this, it should be by someone who understands the 
JMS and JNDI security models and can tell how they relate to this scheme 
- this reviewer doesn't.

Good luck!