2008/9/8 Michael Poulin <[EMAIL PROTECTED]>: > Hi Ashley, > > I am fully agree with your first paragraph about orchestration. > > I understand your second paragraph about choreography but see a conflict in > between this concept and SO Principles. Nothing more.
Why? Independent services working together for a mutually inclusive goal set, to me its right at the heart of the SO principles. > > Out of this, I am trying to find a business case where choreography would be > more preferable than orchestration in SOA, i.e. where me must violate SO > Principles to have choreograph-based solution. If we deal with stand-alone > self-contained autonomous services, then any idea about their collaboration > is the external ised with regard to them. Thus, instead of modifying the > services by embedding the knowledge about other services for the > collaboration, I can easier (I think) create a new service to play an > orchestration manager (conductor) role. I'm really not seeing how SO doesn't allow choreography. Negotiation and collaboration are normal business service scenarios and they don't require a conductor. The Value Network work from the likes of Verna Allee has "Services" written all over it and its all about collaborating networks rather than orchestration. > > Overall, it is not about choreography per se, it's about a mismatch between > SOA and choreography (I know how unusual this sounds). It sounds more than unusual to me, it sounds wrong. Steve > > - Michael > > > > ----- Original Message ---- > From: Ashley at Metamaxim <[EMAIL PROTECTED]> > To: [email protected] > Sent: Monday, September 8, 2008 4:47:09 PM > Subject: Re: [service-orientated-architecture] Re: Distinction between > "Choreography" and "Orchestration" > > Hi Michael > > On the issue of "statelessness" : > > It seems to me that if multiple participants (P1, P2, P3, ..) are engaged in > a collaboration but only one of them (say P1) holds a state, then the > situation is one of "Orchestration" rather than "Choreography" . Only P1 can > determine or impose any ordering on events in the collaboration, because > such determination/ imposition requires the maintenance of state. P1 > "orchestrates" the collaboration and the other participants are "slaves": > they are invoked to provide some service but, as they have no state, > "forget" they that have done it once they have done their job. > > "Choreography" comes into play when state is held by multiple participants > and they all have their own sequencing rules/constraints. Choreogrpahy is > about managing the collaboration in such a way that all their constraints > are obeyed but without one distinguished orchestrator. In other words, it is > peer-to-peer between stateful participants. > > Rgds > Ashley >
