Sunday, January 19, 2014

Service Orchestration vs Choreography

http://diuf.unifr.ch/drupal/softeng/sites/diuf.unifr.ch.drupal.softeng/files/file/publications/internal/WP09-03.pdf
http://jcastellssala.wordpress.com/2012/03/27/webservices-orchestration-choreography/

Orchestration versus Choreography 

Web services are used to distribute services over the Internet. They make operations
of applications available or enable information systems to be invoked over the
network [Mat09]. There are two ways to combine such services: either through
orchestration or choreography.
In orchestration, the involved web services are under control of a single endpoint
central process (another web service). This process coordinates the execution of
different operations on the Web services participating in the process. The invoked
Web services neither know and nor need to know that they are involved in a
composition process and that they are playing a role in a business process definition.
Only the central process (coordinator of the orchestration) is conscious of this aim,
thus, the orchestration is centralized through explicit definitions of operations and
the invocation order of Web services, (see Figure 1.1) [Mat09].
2

Figure 1.1 Composition of Web services with Orchestration (inspired from [Pel03])
Choreography, in contrast, does not depend on a central orchestrator. Each Web
service that participates in the choreography has to know exactly when to become
active and with whom to interoperate. Choreography is based on collaboration and is
mainly used to exchange messages in public business processes. All Web services
which take part in the choreography must be conscious of the business process,
operations to execute, messages to exchange as well as the timing of message
exchanges, (see Figure 1.2) [Mat09].

Figure 1.2 Composition of Web services with Choreography (inspired from [Pel03])
In comparison with choreography, orchestration is obviously more efficient and
flexible when it comes to compose Web services to execute business processes. In
fact, it has the following advantages over choreography [Mat09]:
1. The coordination of a process’ components is centrally managed by a specific
coordinator.
2. Web services can be incorporated without being aware that they

No comments:

Post a Comment