Funding for 'IT Lab' Project, Phase 1: Progress of sticker sales. Purchase a sticker to help us reach our target.Updated: 2010-02-28 11:53
10.7%
SOA building blocks II - Service composition, orchestration and choreography

by Nuwan Bandara

During the last two articles we have discussed many fundamentals about SOA and web services. I have explained why SOA is so much important and benefitting to a large enterprise. We concluded our last article (http://digit.lk/10_jan_soa) with a discussion on service composition, orchestration and choreography, hence this article is about that very subject of service composition and how they reside in a service oriented environment.

By now you have understood that services are the foundation of a SOA solution. However composing services the right way, is significantly important. Like traditional OOP the atomic services should be cohesive, which is aimed to do a specific task or a business process. Hence some people argue that the right way to create a service is the contract first approach (where you build the service from a WSDL). However the important fact is to maintain the right level of granularity, and ensure the fundamental rule, which is reusability. Whatever way you write the service it should be reusable and easily pluggable.

There is a reason why services should be reusable and pluggable in a SOA infrastructure. Hence an information system is built with a large amount of and deferent levels of services coordinating and getting them involved to a larger process is inherently important. That’s where the service orchestration and choreography plays a major role. By definition orchestrations is a flow of a process managed by a central controller. Like in an orchestra, where the music director coordinates all the musicians, in an orchestrated SOA environment services are coordinated by a coordinating service. But from the other hand choreography is more of a freely behaving pattern where there is no central coordinator is involved and each service is aware of its role and performs its tasks. In SOA world these two composition patters are introduced as specifications and rules in WSCI (Web Services Choreography Interface) and BPEL4WS (Business Process Execution Language for Web Services) for choreography and orchestration respectively. These specifications describe how to ensure functional and technical requirements such as the importance of flexibility, importance of basic and structured activities, recursive composition, persistence, correlation, exceptions and transactions handling.

Figure 1: http://gemsres.com/photos/story/res/39800/fig1.jpg


Another important service composition pattern, which is rather new in the SOA arena, is “Mashups” as for its literal meaning; mashups are services that are made up with a set of useful services available within the enterprise and/or in the web as open services. These are mostly using web technologies like javascript for presentation and are inherently data driven.

Figure 2 : http://blog.sherifmansour.com/wp-content/uploads/2007/11/webmashupstyles.jpg

In our next article we will discuss the security aspect of web services and how it is differentiating form normal web security.
Some useful likes on service composition,

Previous Article

Share/Save
No votes yet

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options