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
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
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
|