- From: Tom Rutt <tom@coastin.com>
- Date: Wed, 12 Jan 2005 13:40:46 -0500
- To: Hugo Haas <hugo@w3.org>
- CC: public-ws-addressing@w3.org
- Message-ID: <41E56F2E.6060408@coastin.com>
To aid discussion of Hugo's action item, I came up with a simplified UML data model of endpoint references, which helps to illustrate the things being discussed in Hugo's contribution below. It is attached as a one page PDF document. Tom Rutt Hugo Haas wrote: > In the midst of discussing the nature of EPRs as identifiers, we > started discussing what a Web identifier was identifying, and I > pointed out that the interesting question for us was how many things > we were identifying, since whatever we identify, a Web identifier can > identify. I got the following action item[1]: > > ACTION: Hugo to start discussion on what and how many things we > are identifying > > To make things clear up front, I am talking in the email about > identifier in the Web architecture sense and not in the formal sense > as we discussed on the 2004-12-03 teleconference. > > I have tried to draw a parallel with WSDL concepts to try and clarify > this issue. > > Here is what the specification currently says about EPRs and their > properties in terms of identification: > > - an EPR is used for "identification [..] of specific service > instances". > > - the [address] property "identifies the endpoint". > > - the [reference properties] property identifies "the entity or > resource being conveyed"; it also says that "endpoints represented > by endpoint references with different [reference properties] [..] > may have different associated metadata (WSDL, XML Schema, and > policies)". > > - [reference parameters] are parameters "associated with the endpoint > to facilitate a particular interaction". > > RParId. The definition above is a very fuzzy one; based on people's > feedback at the F2F, [reference parameters] can be used as data or > identifier. Therefore, a subset of those, that we concentrate on > here, has a role as identifier. Let us call this subset RParId from > now on. > > - [selected port type] identifies "the primary portType of the > endpoint being conveyed". > > - [service-port] "[identifies] the WSDL service element that contains > the definition of the endpoint being conveyed". > > [address], [reference properties], and RParId (defined above) are > properties used to identify the destination and properties of the > message as we have been talking since the beginning of issue i001. > > [selected port type] and [service-port] are actually metadata. The > role of ([address], [reference properties], RParId) and ([selected > port type], [service-port]) as identifiers indeed differs in that, > when EPRs are bound to SOAP for addressing a message, only the former > are being used. Therefore, the latter can be considered along with > [policies] as metadata and it is assumed that the former contains all > the necessary information to identify what needs to be identified, > i.e. the service instance. > > This means that only a portion of an EPR is the identifier, and this > portion is ([address], [reference properties], RParId). > > Let's draw a parallel with WSDL concepts. > > We are identifying a service instance. A service being a collection of > endpoints, a service instance is restricted to one of these endpoints. > An endpoint has an an address, and [address] clearly identifies the > address part of an endpoint. > > Several services and instances of those may sit at this endpoint > location, so [reference properties] and RParId are used to identify > which one is targetted. > > What are [reference properties] doing? They "identify the entity or > resource being conveyed", but they also qualify the endpoint with > "associated metadata (WSDL, XML Schema, and policies)". Going back to > our WSDL definitions, [reference properties] reflect a different > service or binding component, or a difference policy, without > necessarily explicitely identifying those with say their WSDL QName. > > In practice, people have expressed their desire to do routing based on > SOAP headers. Therefore, they want to address particular code which is > behind the endpoint address. Since RParId have no impact on the > description of the service, they may be used to identify a different > instance of the service identified by combination of [address] and > [reference properties]. > > This results in the following identification mapping, the left-hand > column being concepts identified/referenced by the property in the > right-hand column: > > endpoint address ↔ [address] > > --------------------------------------------------------------- > > (service, binding, policy) ↔ [reference properties] > > instance of service ↔ RParId > > Therefore, issue i001 is essentially about the use of several services > at the same endpoint address requiring routing headers in the message > to be addressed. > > If we adopt my proposal to remove [reference properties] (archived at > [3]), we basically encourage people to make sure that a message can be > dispatched with the [address] URI, and the message content only. > > Since the definition of [reference parameters] is fuzzy, they can > still be used by people in case they really want to use header > routing, but we're basically discouraging them to do so. Basically, > just like with the Web today, one can do whatever one wants, but one > is encouraged to do things the Web architecture friendly way. > > As an amendment to my own proposal, in addition to removing [reference > properties], I would like to specify that [reference parameters] > SHOULD NOT be used to identify services. In other words, RParId should > be an empty set, because [reference parameters] SHOULD NOT be used to > identify service instances. > > In essence, we're aligning our spec with the Web architecture by using > one URI as the service instance identifier, while leaving a not > recommended door open for people to use SOAP headers to identify a > service if they must. > > Regards, > > Hugo > > 1. http://www.w3.org/2002/ws/addr/4/12/13-ws-addr-minutes.html#item08 > 3. > http://lists.w3.org/Archives/Public/public-ws-addressing/2004Dec/0051.html > > -- > Hugo Haas - W3C > mailto:hugo@w3.org - http://www.w3.org/People/Hugo/ > -- ---------------------------------------------------- Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com Tel: +1 732 801 5744 Fax: +1 732 774 5133
Attachments
- application/pdf attachment: EprDataModel.pdf
Received on Wednesday, 12 January 2005 18:42:52 UTC