- From: Doug Davis <dug@us.ibm.com>
- Date: Thu, 19 Aug 2010 08:50:29 -0400
- To: Stephan Poehlsen <poehlsen@itm.uni-luebeck.de>
- Cc: Gilbert Pilz <gilbert.pilz@oracle.com>, public-ws-resource-access@w3.org
- Message-ID: <OFBEE81907.9FE0DA47-ON85257784.00440D6B-85257784.00468AB6@us.ibm.com>
Stephan Poehlsen <poehlsen@itm.uni-luebeck.de> wrote on 08/19/2010 05:28:11 AM: > Hello, > > On 2010-08-18 Gilbert Pilz wrote: > > Doug, > > > > Your changes look good. The whole "disambiguate the Notification WSDL > > from other WSDL docs" problem is just another strike against > > Notification WSDLs as far as I am concerned . . . > > As an outsider (since I am not in the RA-WG) in the first place I did > not see the reasons why you specify two solutions: Notification WSDLs > and EventDescriptions. In addition, for me it is not clear why a wrapped > and an unwrapped notification exist. These redundancies increase the > complexity for interoperable implementations only, don't they? > > From the phrase "is just another strike against Notification WSDLs" I > can assume that there exists a longer discussion. Can you point me to > any results of that? I am interested in it, because I am currently > considering how to provide metadata about SOAP-over-UDP multicast "events". As you said, there's a lot of history behind this and I'll try to give my version of it. There are basically two different views of how event sinks will want to process/see incoming events: 1 - the event will be the child of the SOAP Body element. This is the unwrapped model. In this particular model the event sink will either have an operation defined for each event - which means as new events are added a new operation will need to be added - or it will have a single operation catch for all events. If there are other SOAP messages (non-events) that can be processed that single catcher will need to have some mechanism to know how to distinguish event from non-event soap messages. Either way the point is that some people just want the raw event and do not need or want the event to be wrapped in something else. Likewise, they're ok with a variety of wsa:Action values and will know the complete set of event action URIs. 2 - the SOAP Body element has a well defined child element (the wrapper) and a single (well defined) wsa:Action value. As hinted to above, this makes it possible for someone to have a single catcher for all events regardless of their shape. For some people this is just easier to process. Its also handy for logging service that don't process the events, rather they just save them for someone else to process later. In this model the sink doesn't need to know anything about the events, or when a new one is created, it just blindly take the child of the wrapper element as the event. Personally, I can understand the need for both. As for the EVD vs NotifWSDL discussion... its very related to the above. If all you care about is the raw event (and this could actually apply to both wrapped and unwrapped) then the EVD data is more meaningful. For example, when you go to construct your XPath filter expression, I think using the EVD data for this is easier than NotifWSDL. However, if your event sink is designed such that you really need to know the WSDL of the event messages (perhaps so that you can run it through some WSDL2Java tooling) then the NotifWSDL becomes necessary. Technically, the NotifWSDL can be derived from the EVD data (and there's a mapping section that describes how to do this), but it was decided that rather than requiring all sinks that need this info to do it themselves, if the Event Source has it available then it should offer it up. Its worth noting that the EVD data is required when dealing with wrapped notifications. In this case the NotifWSDL will just contain a high-level description of the messages - meaning the action and wrapper element. The xsd of the events themselves can't appear - so in order for the sink to know the shape of the events (for processing or for specifying the filter expression) it needs to grab the EVD data. I view the EVD data as the original source of the event xsd and the NotifWSDL as a by-product of that information, something that might be made available out of convenience but not as authoritative as the EVD data. But I know that others have almost the exact opposite view because they would prefer to deal with the WSDL and not a new data type. Hope this helps. I'm sure others will chime in as there are many different views. BTW - does the resolution for this issue satisfy your concerns? -Doug
Received on Thursday, 19 August 2010 12:51:07 UTC