OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

soa-rm-ra message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [soa-rm-ra] Orchestration v. Choreography Discussion


Michael,

I find some good examples here and some additional layers without end.

The ship's crew responding with known procedure chunks in an overall new emergency could be seen as choreography among crew doing their separate orchestrations, choreographies, or combinations thereof.  The crew is still under the overall command of the ship's captain, so there is a degree of orchestration present.  If the ship sends out a distress call, the combined actions of those responding would likely be choreography.

The RA questions will likely be:
- what architectural pieces need to be identified to enable a solution
- what does this say about governance for SOA and, again, the architecture necessary to make it happen

Ken

On Nov 28, 2007, at 9:48 AM, Poulin, Michael wrote:

Ken,
 
I would treat each interaction "somehow independent". You have mentioned a "choreography step" which looks very similar to an orchestration step. I had problems in understanding the difference between them for long time until came up with the explanation I put into my previous message. So, while an orchestration aims the final target directly like a process defines its final goal from the beginning, a choreography can aim the same target but it is invisible in every choreography step. It is a 3rd Party that can analyse multiple choreography steps and announce that the target is achieved (or not achieved yet).
 
Here is my example.
Assume, we have an emergency in a highly regulated environment, e.g.,on a ship. The manuals and instructions cover a lot of cases but usually formulated in the form "IF - THEN". That is, before applying an instruction somebody has to recognise that the emergency fits into one or several "IF" parts, then the case description may be applied as an action. 
 
So, since "IF" is identified, the manual gives a scenario of actions, i.e. an action orchestration.
 
What to do if "IF" is not recognised or described "IF" does not cover the emergency in full? The actions are taken anyway but each of them isolated and somebody has to control every time whether the next action leads to resolving the emergency situation; this is choreography. Of cause, some actions ought to be performed sequentially but it is not an orchestration because there is no scenario known up-front; certain actions just demand other actions to be executed, nothing more.
 
Finally, in ballet, each figure may be taken independently from another one, it may be replaced by another one, it may be reused in another dance - this is choreography. Orchestration (in this EC) is conducting, managing the music generation process. It cannot be split into small units of conducting and reused because it is a single process of management; an isolated movement of a conductor's hand does not make much sense on its own and becomes meaningful only in combination with other movements. Right?
 
- Michael
 


From: Ken Laskey [mailto:klaskey@mitre.org]
Sent: 28 November 2007 14:06
To: Poulin, Michael
Cc: Rex Brooks; soa-rm-ra@lists.oasis-open.org
Subject: Re: [soa-rm-ra] Orchestration v. Choreography Discussion

Michael,

This gets interesting.  If I have a situation where I have a number of participants and the choreography is a set of unfolding interactions towards a common goal, do you see the overall setting as a single, multi-phase choreography or is each choreography step somehow independent?  As an example, I am thinking of a scenario where in an emergency there are numerous reporting and assessment capabilities all cooperating towards a common goal of situation assessment and response.  The interactions begin with the recognition of some incident and continue until the incident is no longer deemed an emergency.

How do you parse this?

Ken

On Nov 28, 2007, at 8:31 AM, Poulin, Michael wrote:

Ken,
 
in your example the choreography ends when the neighbour service gets engaged. The choreography does not care of what engaged service is doing ( yes, it can be implemented as an orchestration ). From this perspective, a choreography cannot composed of an orchestration because 1) orchestration  is not needed to implement choreography, 2) orchestration starts when choreography ends.
 
From another hand, an orchestration cannot be implemented w/o choreography because all service invocations, arranged by the orchestration uses a sort of choreography (Web or non-Web based communication models).
 
So, while I agree with you that "it goes both ways", i.e. orchestration and choreography can collaborate well, the relationship between them is not symmetrical, I think.
 
- Michael


From: Ken Laskey [mailto:klaskey@mitre.org]
Sent: 28 November 2007 13:14
To: Poulin, Michael
Cc: Rex Brooks; soa-rm-ra@lists.oasis-open.org
Subject: Re: [soa-rm-ra] Orchestration v. Choreography Discussion

Michael,

While I may know the neighbor service to invoke, that neighbor may perform its expected functions through one or more orchestrations.  I likely will not know how my neighbor actually performs its functions.

So I really think it goes both ways.

Ken

On Nov 28, 2007, at 6:54 AM, Poulin, Michael wrote:

To my knowledge, the relationship between orchestration and choreography is right opposite than stated in " in practice Choreography is composed of a number of Orchestrations taking place together. "
 
In the orchestration, an execution of multiple services is coordinated and managed by a mediating entity which calls the services in certain order; the services exchange messages with the mediating system primarily.(Some participating services may be composite services themselves engaging other services via orchestration, or choreography or directly)

In the choreography, each service knows exactly which neighbour service to invoke in the chain and how ( what message exchange has to be performed). That is, choreography is about explicit inter-service communication; it serves as a fragment of an orchestration.

In orchestration, the mediating system knows how to perform transformation, routing and exception handling. In choreography, all these are the service's responsibilities.
"Orchestration is akin to traffic lights where events are controlled centrally, whereas Choreography is more like a roundabout, where each participant is following a prearranged set of rules." - very well illustrates what I described. That is, orchestration is the traffic picture while choreography is a traffic element only. That is, an Orchestration  is composed of a number of Choreographies taking place together.
 
Cheers,
- Michael 

Important: Fidelity Investments International (Reg. No.1448245), Fidelity Investment Services Limited (Reg. No. 2016555), Fidelity Pensions Management (Reg. No. 2015142) and Financial Administration Services Limited (Reg. No. 1629709, a Fidelity Group company) are all registered in England and Wales, are authorised and regulated in the UK by the Financial Services Authority and have their registered offices at Oakhill House, 130 Tonbridge Road, Hildenborough, Tonbridge, Kent TN11 9DZ. Tel 01732 361144. Fidelity only gives information on products and does not give investment advice to private clients based on individual circumstances. Any comments or statements made are not necessarily those of Fidelity. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. If you received this in error, please contact the sender and delete the material from any computer. All e-mails sent from or to Fidelity may be subject to our monitoring procedures. Direct link to Fidelity’s website - http://www.fidelity-international.com/world/index.html

 
 

From: Rex Brooks [mailto:rexb@starbourne.com]
Sent: 21 November 2007 20:30
To: Ken Laskey; Rex Brooks
Cc: soa-rm-ra@lists.oasis-open.org
Subject: Re: [soa-rm-ra] Orchestration v. Choreography Discussion

That's exactly what I thought, too.

Cheers,
Rex

At 3:19 PM -0500 11/21/07, Ken Laskey wrote:
I like the traffic light and roundabout example.  Works equally well with a 4-way stop sign in the US.

Ken

On Nov 21, 2007, at 2:56 PM, Rex Brooks wrote:

Hi Folks,

Before I needed to drop off, I heard what I could agree to as a working distinction between Choreography and Orchestration. Choreography is what takes place in Business Process Modeling of interactions (to some extent DesignTime work), and Orchestration is what takes place when actual Actions are triggered by some central conductor to produce Real World Effects (to some extent RunTime work). The distinction between RunTime and DesignTime does not hold since both can occur in realtime interactions that produce Real World Effects.  This was just another analogy.

I liked Frank's notion that in practice Choreography is composed of a number of Orchestrations taking place together. I would say taking place according to some agreed set of rules or parameters.

I looked on the web for better analogies than symphony composer or ballet choreographer doing Choreography and an orchestra conductor or ballet director doing Orchestration, and found:

"Orchestration is akin to traffic lights where events are controlled centrally, whereas Choreography is more like a roundabout, where each participant is following a prearranged set of rules."

http://blog.whatfettle.com/?p=247

Cheers,
Rex


--
Rex Brooks
President, CEO
Starbourne Communications Design
GeoAddress: 1361-A Addison
Berkeley, CA 94702
Tel: 510-898-0670



------------------------------------------------------------------------------------------
Ken Laskey
MITRE Corporation, M/S H305     phone:  703-983-7934
7515 Colshire Drive                        fax:        703-983-1379
McLean VA 22102-7508


Attachment converted: Macintosh HD:smime 660.p7s (    /    ) (003443DE)


-- 
Rex Brooks
President, CEO
Starbourne Communications Design
GeoAddress: 1361-A Addison
Berkeley, CA 94702
Tel: 510-898-0670


-----------------------------------------------------------------------------
Ken Laskey
MITRE Corporation, M/S H305      phone: 703-983-7934
7151 Colshire Drive                         fax:       703-983-1379
McLean VA 22102-7508





-----------------------------------------------------------------------------
Ken Laskey
MITRE Corporation, M/S H305      phone: 703-983-7934
7151 Colshire Drive                         fax:       703-983-1379
McLean VA 22102-7508






------------------------------------------------------------------------------------------

Ken Laskey

MITRE Corporation, M/S H305     phone:  703-983-7934

7515 Colshire Drive                        fax:        703-983-1379

McLean VA 22102-7508


smime.p7s



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]