Hi Harald,
Thank you for your feedback. Sorry for the long delay in responding to you.
The SOAP/JMS working group at the W3C has a response to all but one of
your concerns, I think. Those responses are noted below.
Harald Alvestrand wrote:
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.
The answer is slightly more subtle - JMS URIs can span the globe, but
that implies a shared context that also spans the globe. I'm thinking
that the following additional paragraph in the introduction might help
to clarify:
As a consequence of building upon an API, rather than a protocol, the
utility of a "jms" URI depends on the context in which it is used.
Critical details affecting utility include agreement on the same JMS
provider or underlying protocol, agreement on the context for looking up
endpoints, and when using serialized Java object messages, sufficiently
similiar Java Class environments that the object can be appropriately
read and written. Uses of this scheme must establish the necessary
shared context - a context which can span the globe, or merely a small
local network. With that shared context, this URI scheme enables
endpoint identification in a uniform way, and the means to connect to
those endpoints.
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?)
I've been aware of this this point since we introduced the variants. I
see variants as so rare that this is essentially a moot issue. In
practice, I think there is at most one additional variant per vendor,
and the market pressures are such that there will not be many
implementations.
- 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?
We're still discussing this in the working group. We've not settled on
an answer because I think there multiple tensions here, such as between
brevity and completeness, familiarity vs. convention, and so forth.
We'll hopefully have a more complete answer soon.
- 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.
There's a trade-off here. We could move the entire section here up to
be a sub-section of #3. I think there's some value to having an top
level-"encoding considerations" section called out in the TOC, and I
don't see how we move that closer to the front.