- From: Mark Baker <distobj@acm.org>
- Date: Wed, 28 Aug 2002 23:29:59 -0400
- To: "Champion, Mike" <Mike.Champion@softwareag-usa.com>
- Cc: www-ws-arch@w3.org
(moving a discussion from the private list to the public one) On Wed, Aug 28, 2002 at 06:17:52PM -0400, Champion, Mike wrote: > > -----Original Message----- > > From: Mark Baker [mailto:distobj@acm.org] > > Sent: Wednesday, August 28, 2002 5:29 PM > > To: Martin Chapman > > Cc: w3c-ws-arch@w3.org > > Subject: Re: Routing and choreography > > > > > "Routing is the specification or determination, at design time or > > run time, of the next (or preceeding) intermediary or intermediaries > > to which a message should be, or should have been, directed." > > So, "routing" is about coordinating point-to-point messages to produce > end-to-end messages, If you replace "messages" with "contracts" there, yes. I think that's probably what you meant. > and "choregraphy" is about coordinating end-to-end > messages to produce operations in a business process? That, I'm not so sure about. In the context of REST, there are two types of "control" (I'll try to avoid using existing terms); control of application state via hypertext links[1], and control of the message flow that constructs a hypertext document that declares those links. An example ... Let's say we have a complex business process for ordering shoes. The general "flow" of the application state that comprises the process is controlled by hypertext; first, you retrieve an order form which you fill out, submit to the provided URI, which returns the result which may include another link to an invoice. Now let's say you want to modify this flow, perhaps to decouple the immediate invoicing from the order submission by introducing a "confirmation receipt" step. This can obviously be done by modifying the resource which declared the invoice transition such that the new transition is to the receipt. But another way to do it is to use a specialized intermediary (a reverse proxy in this case, as WS-Referral or HTTP's 305 response code enables) that recognizes the output from the order processor, and basically intercepts the invoice link and replaces it with a receipt link - and of course, also updates the receipt to point to the invoice. That example isn't the best one to explain the value of intermediaries, but it's hopefully illustrative of how these two forms of "control" relate. [1] http://lists.w3.org/Archives/Public/www-ws-arch/2002Aug/0211 MB -- Mark Baker, CTO, Idokorro Mobile (formerly Planetfred) Ottawa, Ontario, CANADA. distobj@acm.org http://www.markbaker.ca http://www.idokorro.com
Received on Wednesday, 28 August 2002 23:31:15 UTC