Forum Discussion

Janu's avatar
Janu
Occasional Contributor
8 years ago

Service Orchestration and Choreography

Hi,

Can any one please explain  what is Orchestration and Choreography in SOA .

 

  • Service orchestration: you put together several services by a fixed logic. This logic is described at a single place. You can imagine a team of people with a manager doing micro-management. The manager precisly tells what, when and who should do. The team members do not care of the entire goal of the job, the manager combines the outputs into a single deliverable.

    A practical example is a BPEL process. BPEL process contains the logic, can invoke several services and combine their responses into a single service response.

     

    Service choreography: the decision logic is distributed, with no centralized point. You can imagine a home, where everybody aims for the common good and works pro-actively without micro-management. Or you can imagine a human body, where different members are interdependent and work for the common goal.

    A practical example is event driven processing, where an agent is activated by an event and does its job. All the agents make a system together. There is no centralized logic.

    Choreography possibilities may go farther beyond orchestration as it is more aligned with the real world.

     

    My opinion is that we do not need to distinct much between these two, as we need to focus on the business logic. Where a single point of logic does the job, we do orchestration. Where a problem cannot be covered by a centralized logic, we are forced to choreography anyway. That is why we often come accross orchestration in IT, whereas choreograhy remains more an academical concept and a subject for reasearch. And very often we do choreography without actualy knowing it, as in the real world.

  • Janu's avatar
    Janu
    8 years ago

    Thank you so much karel husa for the reply ,Really helped a lot .I searched different links over the net,but i am not clear ,finally i am clear with your explanation.

     

     

     

     

     

    Thanks,

    Janu

     

     

2 Replies

  • KarelHusa's avatar
    KarelHusa
    Champion Level 2

    Service orchestration: you put together several services by a fixed logic. This logic is described at a single place. You can imagine a team of people with a manager doing micro-management. The manager precisly tells what, when and who should do. The team members do not care of the entire goal of the job, the manager combines the outputs into a single deliverable.

    A practical example is a BPEL process. BPEL process contains the logic, can invoke several services and combine their responses into a single service response.

     

    Service choreography: the decision logic is distributed, with no centralized point. You can imagine a home, where everybody aims for the common good and works pro-actively without micro-management. Or you can imagine a human body, where different members are interdependent and work for the common goal.

    A practical example is event driven processing, where an agent is activated by an event and does its job. All the agents make a system together. There is no centralized logic.

    Choreography possibilities may go farther beyond orchestration as it is more aligned with the real world.

     

    My opinion is that we do not need to distinct much between these two, as we need to focus on the business logic. Where a single point of logic does the job, we do orchestration. Where a problem cannot be covered by a centralized logic, we are forced to choreography anyway. That is why we often come accross orchestration in IT, whereas choreograhy remains more an academical concept and a subject for reasearch. And very often we do choreography without actualy knowing it, as in the real world.

    • Janu's avatar
      Janu
      Occasional Contributor

      Thank you so much karel husa for the reply ,Really helped a lot .I searched different links over the net,but i am not clear ,finally i am clear with your explanation.

       

       

       

       

       

      Thanks,

      Janu