Business Ecology Initiative & Service-Oriented Solution

Michael Poulin

Service-oriented chess game: choreography or orchestration? Part 1

user-pic
Vote 0 Votes

Recently I had a discussion with a friend of mine about usefulness of choreography and orchestration in service-oriented (SO) environment. One of examples we analysed was just a chess game. Quite interesting about it was the fact that we looked at it from different points of view: one of us considered that the chess game is a good example of choreography while another one saw a good example of orchestration in the same chess game.

From the choreography perspective, the players were services that had the same common goal - win the game. Certainly, both players shared the same game rules, e.g., how the pieces move. The pieces were used as messages that the services exchanged in the game, i.e. in the service collaboration.

From the orchestration perspective, the pieces were the services. Each service had its own capabilities defined by the game's rules about how each type of the pieces can move, 'beat' another piece and even become promoted into another piece (for pawn and queen). The business functionality of the services was move and beat the 'enemy' if met. The players were viewed as the orchestrating entities that commanded the service the next invocation and other directives, e.g. where to move to. That is, the players performed as two independent processes concurrently working against each other for the same goal - the game victory.

I am telling you this story to illustrate that even for such well known thing as chess game, the analysis and definition of what service is for particular situation is the must have thing. Continuing with the analysis, a few questions were set against each approach.

For choreography:

• Can we consider competition for the game victory as service collaboration in resolving the same task? My answer is - NO, those services did not share the same goal, they had individual goals, the victory for themselves
• Can we consider that sharing the game rules is the same as sharing the targeted collaboration (required by the orchestration via 'global' contract)? My answer is - NO because knowledge of the game rules does not specify any ordered steps toward the collaboration goal, every player/service performs moves (message sending) based on personal plans and situation analysis. What they are going to do in each next step is unknown.
• Can we consider the pieces as messages that the services exchanged? My answer is - NO. If pieces were messages, they were not 'exchanged' between services but rather were 'sent to the game' and changed the state of the game, which reflected on the situation to be analysed for each next move.

So, I do not find choreography as an adequate model for the chess game. Let see how orchestration model is doing:

• Did an execution of a service/piece produce a Real World Effect (result)? My answer is - YES. The result was in the change of the state of the position/situation on the chessboard observable to all.
• Did services/pieces operate in collaborations? My answer is - YES though separately for the white and black capms. Each service did not need to know how to collaborate; this knowledge was externalised into the orchestrating entity (the player's mind) but all services acted toward the same common goal - the game victory
• Did the services exchange messages in these collaborations? My answer is - YES though not directly with each other. The messages about new piece position and about event of being captured by the 'enemy' were sent to the position/situation on the chessboard where each orchestrating entity acquired the information from for the decision about the next move.

Thus, an orchestration represents a pattern of collaboration without direct interactions between collaborating participants. Instead, they interact, explicitly or implicitly, with the orchestrating entity. The most important thing about such model is that all participants act toward the benefit of the same shared goal, this is what a collaboration is about.

(continued)

Reference Lable.JPG

No TrackBacks

TrackBack URL: http://www.ebizq.net/MT4/mt-tb.cgi/15633

Leave a comment

Business and Technology ideas, concepts, methodologies and solutions leading to Service-Oriented Enterprise - the primary instrument for obtaining business objectives in fast changing environment

Michael Poulin

Michael Poulin is an enterprise-level solution architect working in the financial industry in the UK and USA.

He specializes in bridging between Business needs and Technology capabilities with orientation on business and technical efficiency, scalability, robustness and manageability. He writes about service orientation, application security and use of modern technologies for solving business problems. Michael contributes to OASIS SOA standards as an Independent Member; he is listed in International WHO's WHO of Information Technology (Historical Society) for 2001. View more

Subscribe

 Subscribe in a reader

Recently Commented On

Categories

Tag Cloud

'Navigating the SOA Standards Landscape, abstraction, active service, ADM, adopt changes, aggregate service, AIA, analysis, API, application, Application Integration Architecture, Architect, architect, architectural mission, architecture, Architecture, architercture, B-SOA, BAWG, BEI, Best Practice, bottom-up, BPEL, BPM, Busienss, busienss case, Business, business, Business Architect, Business architecture, business architecture, Business Architecture, Business Architecture Working Group, business concerns, business data, Business Ecology, business efficiency, business model, business operational model, business organisation, Business Platform Division, business process, Business Process Designer, Business Requirements, business risk, business service, Business service, Business SOA, business value, business view, business-centric, Business-IT problem, capability, CBDI, CBM, choreography, Cloud, Cloud Computing, COBA, collaboration, Collaboration, collaboreation, commodity, component, composition, concept, Conciliator, consumer, COSMIC, cost, cost estimate, cost of ounership, cost of ownership, crisis, CRUD, culture, Cutter Consortium, data ownership, data service, data store, DDD, decision logic, decomposition, demand, design, Design Pattern, development, domain, Domain, Domain Aggregate, Domain Events, Domain Service-Oriented Modelling, DOSOM, DOSOSM, driver, Dynamic Process Edition, EA, EDA, efficiency, end-to-end, Enterprise, Enterprise Architect, Enterprise Architectural Framework, enterprise architecture, Enterprise Architecture, ERP, ESB, event, Event, execution context, Execution Context, expertise, failure, feature, Flexibilit, flexibility, FPA, FSM, Full Functional Points, Functional Points, functionality model, future, Gartner, Governance, governance, granularity, harmonization, Healthcare, IBM, identiy credential, IEEE 1471, IFPUG, implementation, intangible value, Integration-Oriented Architecture, intent, interface, interface orientation, IOA, IT, IT Architect, IT Operation Support, IT organisation, IT without the IT Department, ITIL, Ladder to SOE, leasable Cloud, lease, Loose coupling, Lost in Translation, Management, Manifesto, market, MDA, Michrosoft, Mike Rosen, model, Model-Driven Approach, modelling, Navigating the SOA Standards Landscape Around Architecture, navigation, OASIS, OASIS SOA RA, OASIS SOA RAF, OASIS SOA Reference Architecture Foundation, OASIS SOA RM, ODBC, OMG, ONA, OO, Open Group, Oracle, orchestration, organizational change, participant, pattern, policy, principle, principle of separation of concerns, principles, priority, Private Cloud, Process, process, process-oriented, process-orineted, process-service, project, Provisioning, Pub/Sub, Public Cloud Busienss Requirements, QCon, RA, Real World Effect, Real World SOA, Referemce Architecture, Reference Architecture, Reference Architecture Foundation for SOA, Reference Model, Registry, rent, rentable Cloud, Repository, reuse, RIA, risk, RM, ROI, RPC, rules engine, RWE, SCA, scalability, security, service, Service, Service Autonomy, Service Composability, Service Contract, service contract, service description, Service Description, Service Discoverability, Service Execution Context, Service Orientation, service orientation, Service Oriented Enterprise, Service Relative Autonomy, Service Reusability, Service Separation of Concerns, Service State Management, Service Statelessness, service-oriented, service-oriented eco-system, service-oriented enterprise, Service-Oriented Enterprise, service-oriented environment, ServiceContract, seven properties that differentiate emergent architecture from the traditional approach to EA, situational, sizing, SLA, SO, SO environment, SO Principles, SOA, SOA Manifesto, SOA standard, SOA-RAF, SoaML, SOBA, social networking, SOE, SOEA, solution SOA, SOMA, Spring, standard, study, Summit, supply, T-SOA, tangible value, Technical Architect, Technical Architects, Technical Architecture, technical capabilities, Technology, technology, The Open Group, TOGAF, TOGAF 9.0, top-down, UI, UI Mediator, use, Value Chain, Value Network, Value Networks, view, view model, viewpoint, vision, VPEC-T, Web, Web Service, Web Services, WebSphere, WSDL, ZapFlash,

Monthly Archives

Blogs

ADVERTISEMENT