- From: Tom Rutt <tom@coastin.com>
- Date: Sun, 05 Jun 2005 17:22:00 +0200
- To: tom@coastin.com
- CC: Rich Salz <rsalz@datapower.com>, Marc Hadley <Marc.Hadley@Sun.COM>, "public-ws-addressing@w3.org" <public-ws-addressing@w3.org>
If we decide we an extensible messageId strucutre (which I do not see as required) we could change the schema to someting like the following , using an attribute for mandatory globalID, on an extensbile sequence <xs:complexType name="MessageIdType2"> <xs:sequence> <xs:element name="Index" type="xs:unsignedLong" minOccurs="0"/> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="globalId" type="xs:anyURI" use="required"/> </xs:complexType> Tom Rutt wrote: > > > > Rich Salz wrote: > >>> If we go this route I'd like to suggest we also add an optional >>> timestamp field. I've had several requests for WS-addressing to offer >>> support for such a thing separate from the message id itself. >>> >> >> >> Can we point to wsu:Timestamp from OASIS WS-Security? >> >> > I had thought about this kind of extensibility, and one option would > be to make the messageId complex type extensible in some way. > > Before we get carried away, however, I think we should consider > keeping the messageId type just having semantics of identity. > WS-Reliability has a messageId complex type which has other > information carried beyond idenity (e.g., first message insequence, > last message in sequence), which was done for "efficiency" purposes. > However, this extra information is not necessary for the uniqueness > of identity. > > One reason to have a message id which has a globalId with an integer > index is for scalability purposes. For examle, an endpoint could > obtain its globalID URI at bootup time, using an integer counter of > messages sent as the index. This avoids generating a new globalID for > each mesage, while keeping the messageId globally unique for each > message sent. > > Another reaons for an integer index is to enabline ordering of ids. > Both WS reliability and WS- Reliable messaging use the pair as their > identity. They both also add semantics of sequence to the messageID > (i.e., they specify that the index must increase by one each time a > new message is sent, and that the global ID represents a particular > messageSequence) This sequence ID can be used for > control opeations pertainig to that sequence (eg. to terminate it). > > . > > However, in some cases the sequentiality might not be required. Thus > ws-addressing does not need to include the ordering > semantics for the integer index . > > Now adding a timestamp is going beyond identity, and, for orthoganlity > purposes, might be better to put somewhere else other than in the > MessageId structure. > > If we do not need extensibility, then ws addressing can have a > message ID structure as follows (which is backwards compatible with > the last call messageId syntax): > > > </xs:complexType><xs:complexType name="MessageIdType3"> > <xs:simpleContent> > <xs:extension base="xs:anyURI"> > <xs:attribute name="index" type="xs:unsignedLong" > use="optional"/> > </xs:extension> > </xs:simpleContent> > </xs:complexType> > > > Tom Rutt > >> /r$ >> >> >> > -- ---------------------------------------------------- Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com Tel: +1 732 801 5744 Fax: +1 732 774 5133
Received on Sunday, 5 June 2005 15:24:09 UTC