Thursday, June 23, 2011

Choreography in Business Systems


Most of the current computer systems (from software perspective) work on two core principles:

  1. Deterministic Model
  2. Centralized control
  3. Feedback system
  4. Optimization at component/Sub System Level
  5. Evolution Proof

Deterministic systems hate uncertainty. In most of the cases logic boundaries are predefined.

Today’s most of business systems are built around centralized control where one piece of code directs others to act in particular fashion. In this scheme essentially all logic is confined at one place, interacting parties are just slave without brain. This approach keeps system simple on overall basis.

Most of the business systems do not use feedback system (If they use, they go for periodic feedback not on continuous basis). More over today’s feedback systems assume that there is one correct way, if deviation occur feedback will try to correct the system. Essentially designer of system assumed a perfect correct position. System cannot go beyond that level of correctness.

We simply assume that if individual components are optimized then system will be optimized. This thought does not leave any room for redundancy, fail over in the system. We like to make system as lean as possible to achieve high performance.

Though we understand concept of evolution but in today’s computer system, evolution is creator driven.

All of the five points mentioned above make today’s computer system not fit for Choreography. Choreography requires flexibility
All the five points above mentioned make computer system rigid, high performing and evolution proof. For choreography systems should be based on Probabilistic Model, distributive control to contain error/exception conditions, evolving feedback system which is based on increasing correctness, system level optimization and open to evolution.
But:

  1. Does business need such systems?
  2. Do we have capability in terms of sustenance of self evolving business processes?
  3. Do we have such high level of computing capability to support such system?
So, do we need Choreography in business systems? Is SOA ready for Choreography?
Reference: 

  1. http://architecture-soa-bpm-eai.blogspot.com/2009/01/orchestration-choreography.html
  2. http://architecture-soa-bpm-eai.blogspot.com/2009/03/services-orchestration-design.html
  3. http://architecture-soa-bpm-eai.blogspot.com/2008/12/enterprise-soa-reference-architecture.html

No comments:

Post a Comment