- From: Jean-Jacques Dubray <jjd@eigner.com>
- Date: Wed, 19 Mar 2003 06:55:06 -0500
- To: <edwink@collaxa.com>, "'Burdett, David'" <david.burdett@commerceone.com>, "'Assaf Arkin'" <arkin@intalio.com>, "'Patil, Sanjaykumar'" <sanjay.patil@iona.com>, "'Fletcher, Tony'" <Tony.Fletcher@choreology.com>, <ChBussler@aol.com>, <steve@enigmatec.net>, <public-ws-chor@w3.org>
- Message-ID: <00be01c2ee0e$7591fdd0$0502a8c0@JJD>
David, Edwin: 5a is a very interesting part of the choreography specification: 1) one could argue that there is little difference at the choreography specification level whether the response is positive or negative, the choreography definition will have n paths associated with each response type whether they are positive or negative. Probably the real difference is at the business level whereby a negative message (out of widgets) could imply that a commitment or a fulfillment cannot be made. 2) there seem to be requirements in the real world for unsolicited business exceptions whereby a given service component could send this type of message at any point of the collaboration rather than just as part of a response to a request. Typically this type of message exchange is harder to model within the main flow of the choreography. It there an agreement that all the other exceptions can be conveyed via the use of "fixed format" messages that could be part of the specification (e.g. at the message exchange pattern level)? JJ- -----Original Message----- From: public-ws-chor-request@w3.org [mailto:public-ws-chor-request@w3.org] On Behalf Of Edwin Khodabakchian Sent: Wednesday, March 19, 2003 12:28 AM To: 'Burdett, David'; 'Assaf Arkin'; 'Patil, Sanjaykumar'; 'Fletcher, Tony'; ChBussler@aol.com; steve@enigmatec.net; public-ws-chor@w3.org Subject: RE: [Requirements] Non-requirement for MEPs David, This list covers all the use cases I have seen. One of the other pieces of feedback we have been collecting is that there is a gap between how 5a process errors are defined and managed based on if the interaction is synchronous or asynchronous. In BPEL, Synchronous: <invoke>, fault and <faultHandler> (explicit error semantic) Asynchronous: <pick> and normal containers (implicit error semantic). Although this is not a hurdle for developers, it make management by introspection more difficult. I am not sure that there is anything that can be done here but I think that the lesson here is that looking at operation tasks is an important aspect of creating a viable standard. Edwin -----Original Message----- From: public-ws-chor-request@w3.org [mailto:public-ws-chor-request@w3.org] On Behalf Of Burdett, David Sent: Tuesday, March 18, 2003 12:36 PM To: edwink@collaxa.com; 'Burdett, David'; 'Assaf Arkin'; 'Patil, Sanjaykumar'; 'Fletcher, Tony'; ChBussler@aol.com; steve@enigmatec.net; public-ws-chor@w3.org Subject: RE: [Requirements] Non-requirement for MEPs Edwin Good points. Here's my complete "stack" of different types of errors that can occur - they all have an impact on choreographies ... 1. Transmission error. - The message was never sent. This is a send side error, the rest below are receive side. 2. Delivery Failure - The message was sent but was (probably) not received - this is the WS-RM domain 3. Message format error - the components of the message were not validly constructed. If this is really bad, you might not be able to work out who sent the message and therefore can't send an error back. 4. Message Content structure error. These are errors where one of the parts of the message is not valid. This splits into several different lower level variations: a) Not well formed - e.g it's not well formed XML, or its a MS Word doc that can't be read b) Invalid - it's well formed but does not conform to its rules, e.g it does not conform to the schema c) Integrity error - for example the total amount on the Invoice does not equal the sum of the individual line items d) Reference error - for example the part number on a line item is not recognized by the receiver 5. Process error. This also has a number of lower level variations: a) Process failure. For example, you wanted to order 10 widgets, but they were out of stock. You could argue this is a normal business response and not actually an error. b) Process abort. For some reason the processing of the message started but crashed part way through. The resultant state may not be known. However from a choreography perspective you can simplify this to: 1. Transmission error - 1 above 2. Delivery failure - 2 above 3. Message not processed (3 & 4 above) 4. Process Failure - 5a above 5. Process Abort - 5b above Thoughts? David -----Original Message----- From: Edwin Khodabakchian [mailto:edwink@collaxa.com] Sent: Monday, March 17, 2003 11:19 PM To: 'Burdett, David'; 'Assaf Arkin'; 'Patil, Sanjaykumar'; 'Fletcher, Tony'; ChBussler@aol.com; steve@enigmatec.net; public-ws-chor@w3.org Subject: RE: [Requirements] Non-requirement for MEPs David, If you look at BPEL today, you will see that there are 2 types of errors: (1) errors that are described as part of the WSDL of the service (business errors like Insuficient Credit, Invalid Part Number, etc...) and (2) errors that are caused by SOAP "remoting" stack (equivalent of RemoteException in Java like IO exception, version mismatch exception etc...). Both kind of error need to be handled and manage by the orchestration layer and therefore defined in the choreography layer. BPEL4WS v1 forgot to standardize (2) which is a problem with regard to portability across BPEL4WS engine. Edwin -----Original Message----- From: public-ws-chor-request@w3.org [mailto:public-ws-chor-request@w3.org] On Behalf Of Burdett, David Sent: Monday, March 17, 2003 10:44 PM To: 'Assaf Arkin'; Patil, Sanjaykumar; Fletcher, Tony; ChBussler@aol.com; steve@enigmatec.net; public-ws-chor@w3.org Subject: RE: [Requirements] Non-requirement for MEPs I tend to agree with Assaf. I think that WS-Chor should focus on describing exchanges of information that change the state of the process. For example if a buyer sends an order to a supplier the message sent in return is often an order response that indicates the extent to which the supplier can (or can't) satisfy the order. However other "errors" can occur as a reysult of sending the order which are detected at different levels in the stack: 1. Delivery errors - for example the message could not be delivered. This is typically WS-RM function to detect 2. Message structure errors - this means tha the order could not be unpacked from its (SOAP ) envelope at its destination - this is a messaging error 3. Document structure errors - e.g. the structure of the document was not valid. If bad enough this can prevent the generation of the "business level" order response. Any of these errors can be sufficient to stop the conversation (i.e. an instance of the choreography) from completing and therefore the idea of an "error" as the result of sending a message in a choreography is definitely part of the choreography. However, how the error is detected, is not, IMO, particularly relevant. So in this case this choreography should say, for example ... "Send Order, from Buyer to Supplier" ... and the valid responses could be ... "Send "OrderError" from Supplier to Buyer", or "Send "OrderResponse" from Supplier to Buyer. ... where "Order Error" could be any of the errors described above. Thoughts? David -----Original Message----- From: Assaf Arkin [mailto:arkin@intalio.com] Sent: Monday, March 17, 2003 5:38 PM To: Patil, Sanjaykumar; Fletcher, Tony; ChBussler@aol.com; steve@enigmatec.net; public-ws-chor@w3.org Subject: RE: [Requirements] Non-requirement for MEPs I'm going to do the "hot potato" thing and suggest that we leave those issues that are not specific to choreography to other working groups. For example, signals. How do you represent the fact that a message must be acknowledged? Let's say WS-Chor comes up with a solution. Can you use it with a service that it no used in the context of any defined choreography? Or do we have one way to do it in WS-Chor and another in WSD? What about WS-RM (1 and 2) which already deal with that issue. Do we come up with yet another solution for sending/receiving acks? Do we try to model their approach with WS-Chor? Did anyone identify the need to use WS-Chor to define these acks? Try as I may I only found one sequence set that is parameterized by the QoS requested. So we can exchange different sequences, but it appears to me that just exchanging different QoS policies would be easier (to write, validate and process). This seems more of a problem for WS-Policy to provide the framework, and WSD to allow these patterns to occur within the operation (so not to affect it's abstract definition). arkin -----Original Message----- From: public-ws-chor-request@w3.org [mailto:public-ws-chor-request@w3.org]On Behalf Of Patil, Sanjaykumar Sent: Monday, March 17, 2003 11:05 AM To: Fletcher, Tony; ChBussler@aol.com; steve@enigmatec.net; public-ws-chor@w3.org Subject: RE: [Requirements] Non-requirement for MEPs Agree, except that perhaps we should keep the two issues (supporting MEP and supporting signals) separate. Regarding MEP, I guess WSDL may not define all the MEPs for us, specifically the ones that have additional semantics in the context WS-choreography and which in the context of a single WSDL may map to one of the pre-defined MEP. For example, a multi-cast MEP in the context of a choreography that sends a request for quote to multiple parties may be perceived as a simple notification MEP by the individual services of the recipient parties. Basically, I think, we can expect WSDL to define only a set of basic MEPs, that are meaningful in the context of individual services. We, the WS-chor group may define the additional complex MEPs and perhaps we (along with the WSDL working group) should ensure that the the WS-chor defined MEPs can be decomposed into the WSDL defined basic MEPs. The issue of signals on the other hand is orthogonal to the WSDL defined MEP. I guess, the signals will be defined by the WS-chor (and perhaps some other specifications) and their transmittal can be mapped to a pre-defined MEP. For example, the receival of a business message and sending an acknowledgement signal can be mapped to a request-response MEP. On a side note, I would however like to raise an issue related to the proper scoping of the signals, whenever we define them. In some of the previous business process related work (such as RosettaNet), signals were used to represent simultaneously different meanings such as a notification of the status of the delivery of message and also the notification of the outcome of the business level content validation, etc. Although it was not a blocker issue, this overloading of the semantics of signals had kind of intermixed the different functional layers, making it harder to provide for exceptional handling, etc. We should perhaps identify clearly the signals that map to the WS infrastructure stack such as the message delivery guarantee and the ones that have application semantics such as business content-validation. With this, we would also be able to reuse support for the infrastructural signals from other specifications such as WS-reliability (whatever and wherever this spec is today!), etc and focus only on the business process level signals. thanks, Sanjay Patil Distinguished Engineer sanjay.patil@iona.com ------------------------------------------------------- IONA Technologies 2350 Mission College Blvd. Suite 650 Santa Clara, CA 95054 Tel: (408) 350 9619 Fax: (408) 350 9501 ------------------------------------------------------- Making Software Work Together TM -----Original Message----- From: Fletcher, Tony [mailto:Tony.Fletcher@choreology.com] Sent: Monday, March 17, 2003 8:22 AM To: ChBussler@aol.com; steve@enigmatec.net; public-ws-chor@w3.org Subject: RE: [Requirements] Non-requirement for MEPs Dear Colleagues, I should make it clear that I was not thinking in terms of WSDL at all. (I guess that by its nature this group will have to map onto WSDL as a 'lower' thing and so hopefully we can make use of WSDL's basic MEPs - we may just need a simple 'send' and 'receive' at the WSDL level (i.e. only 2 of its current 4 / 7 patterns) and we compose those at will to make other patterns at the WS-Chor spec level). I was thinking in terms of the message pattern that is built into BPSS. This called a Business Transaction and is a Request ( only mandatory part) from 'Requester' to 'Responder' followed by an (optional) receiptAcknowledgement from 'Responder' to 'Requester' followed by an (optional) acceptenceAcknowledgement from 'Responder' to 'Requester' followed by an (optional) Response from 'Responder' to 'Requester' followed by an (optional) receiptAcknowledgement from 'Requester' to 'Responder' . The Request and Response are messages compiled by the driving application (/process). The Acknowledgements are pre-defined messages structures were only the values are supplied on the fly. So in BPSS a Business Transaction (that which I was meaning as a MEP) is the lowest layer of message sequencing. Business transactions can be composed into sets known as binary collaborations (which will have a particular purpose) and can be built into higher level binary collaborations (with a wider purpose) and so on. The highest layer of BPSS adds in multiple roles and the sequencing of the binary collaborations into a complete multi role collaboration. The folks who designed BPSS believe that the Business Transaction message exchange pattern is all that is required to provide any *business* message exchange and are thus prepared to live with its restriction. They may be correct, but personally I am not sure and feel that it may be safer to allow the users of the WS-Chor language to have freedom to design their own business message exchange patterns. I do think that specifying some standard 'messages' (the things that BPSS calls signals) that users of the language can readily call up and invoke would be useful and should be added to the requirements Best Regards Tony A M Fletcher Cohesions 1.0 (TM) Business transaction management software for application coordination Choreology Ltd., 13 Austin Friars, London EC2N 2JX UK Tel: +44 (0) 20 76701787 Fax: +44 (0) 20 7670 1785 Mobile: +44 (0) 7801 948219 tony.fletcher@choreology.com (Home: amfletcher@iee.org) -----Original Message----- From: public-ws-chor-request@w3.org [mailto:public-ws-chor-request@w3.org] On Behalf Of ChBussler@aol.com Sent: 17 March 2003 15:38 To: steve@enigmatec.net; Fletcher, Tony; public-ws-chor@w3.org Cc: ChBussler@aol.com Subject: Re: [Requirements] Non-requirement for MEPs Hi, I think it is preferrable not to be restricted to WSDL, but also allow for the inclusion of other definitions/mechanisms. Christoph In a message dated 3/17/03 7:04:24 AM Pacific Standard Time, steve@enigmatec.net writes: Subj:RE: [Requirements] Non-requirement for MEPs Date:3/17/03 7:04:24 AM Pacific Standard Time From:steve@enigmatec.net To:Tony.Fletcher@choreology.com, public-ws-chor@w3.org Sent from the Internet Tony, I think that there is an implication of this exclusion. It is that the choreography would be tied to WSDL based MEP's. If however we make MEP's part of the scope then we could extend the reach of the groups work to include non-WSDL based formalisms. Cheers Steve T -----Original Message----- From: public-ws-chor-request@w3.org [mailto:public-ws-chor-request@w3.org]On Behalf Of Fletcher, Tony Sent: 17 March 2003 13:26 To: public-ws-chor@w3.org Subject: [Requirements] Non-requirement for MEPs Dear Colleagues, Just to put in a message what I stated at the inaugural F2F. Non- requirement for MEPs: It presently seems to me that it is a 'non-requirement' to standards message exchange patterns (MEP) as part of the WS-Chor work. MEPs act as a constraint on what you can do, so if one, or more, are defined we will have to be very sure that users of the technique can live within that set of constraints without having to 'jump through hoops' such as extending the standard MEPs or having to chain them together to get the pattern they actually need. Requirements: We certainly need to specify the 'construct' for sending a single message so that should be added to the requirements list. We may also wish to standardise as part of the specification (in a normative appendix perhaps) some standard business messages, such as a generic error reporting message and an acknowledgement message Best Regards Tony A M Fletcher Cohesions 1.0 (TM) Business transaction management software for application coordination Choreology Ltd., 13 Austin Friars, London EC2N 2JX UK Tel: +44 (0) 20 76701787 Fax: +44 (0) 20 7670 1785 Mobile: +44 (0) 7801 948219 tony.fletcher@choreology.com (Home: amfletcher@iee.org) ------------------------------------------------------------------------ --------------------------------- Christoph Bussler ChBussler@aol.com hometown.aol.com/ChBussler/ www.google.com/search?q=bussler www.google.com/search?hl=en&q=bussler&btnI=I%27m+Feeling+Lucky ------------------------------------------------------------------------ ----------------------------------
Received on Wednesday, 19 March 2003 07:11:24 UTC