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
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
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
-----------------------------------------------------------------------------
Ken Laskey
MITRE Corporation, M/S H305 phone: 703-983-7934
7151 Colshire Drive
fax: 703-983-1379
McLean VA 22102-7508
|