Wednesday, February 2, 2011

Evolution of integration patterns and why Enterprise Service Bus (ESB) suit for modern business world

Abstract – The aim of this paper to demonstrate the evolution of integration patterns by identifying the advantages and disadvantages in each phase and identify the affects of enterprise service bus to the modern business world by discovering it is core features and advantages.
Keywords: Enterprise Service Bus (ESB), Service Oriented Architecture (SOA), Message-Oriented Middleware (MOM), Enterprise Application Integration (EAI).

Introduction
A large enterprise could have their branches and warehouses in different geographical locations spreading all over the world. These branches and warehouse can have their own applications and web sites. These applications and websites should interact with each other in order to provide best service to the end-users. Also they might have to interact with external business process and also third party components as well. Future more existing applications need to be modified according to new requirements and need to create new applications and merge them with existing application. Therefore application integration process can not be omitted inside a large enterprise and it should be capable to handle all the kind of different approaches as explained above.

Evolution of integration patterns
Historical way of system integration was point-to-point integration. As the figure states in this scenario each pair of component must have unique communication interface. Main advantage is easy to set up and efficient [O'Brien 2008]. The main drawback is when increase the number of components, it increase the system complexity [O'Brien 2008]. This is also known as n2 problem. That means for each new system add to this architecture that needs to be integrated, solution end up with a total of n2 integration points [Brooks-Bilson 2007]. This leads to high maintenance cost and lack of flexibility. Furthermore it is bind with low scalability, which means to extend an existing function or to add a new function; each and every component should be upgraded. It will take relatively high cost plus more time.

To address above drawbacks hub and spoke integration or Enterprise Application Integration (EAI) introduced. As the figure shows, in this mechanism there is a centralized component which is known as hub or message broker. All the components are connected each other through the hub. The message broker is capable to store the messages and transform the messages to different formats. Therefore sender and receiver should not be online to exchange messages and also they can use their own message formats. The main advantage of this architecture is loose coupling. Furthermore the entire configuration can be done within the centralized point, which increases the scalability plus reduce the time and cost. [Menge 2007] The main disadvantage of this scenario is lack of interoperability. The solution is only supports to the subsets of developed vendor. It is unable to interact with other solutions which are developed by another vendor or internally developed solution. Another drawback is this architecture does not capable to handle components which are in a large geographical area. Also they are expensive and heavyweight plus most of the traditional EAI solutions were unsuccessful in the industry [Mulesoft]. Mulesoft.org revealed that 70 percent of EAI projects ultimately failed in year 2003. This architecture has a performance issue as well [O'Brien 2008]. When system expanding hub requires more processing power and disk space in order to perform and it is affect to the cost.

Enterprise Service Bus
Therefore modern business world requires a solution which supports interoperability, highly scalable, lightweight and with high performance for low cost. The approach is Enterprise Service Bus (ESB). According to the Menge [2007] “Enterprise Service Bus is an open standards, message based, distributed integration infrastructure that provides routing, invocation and mediation services to facilitate the interactions of disparate distributed applications and services in a secure and reliable manner”.

ESB also contains a centralized component as EAI to facilitate communication, but this architecture has designed to reduce the functionalities of the centralized component and distribute them among components called service containers within the network. These service containers can be routers, transformers or application adaptors.

ESB core features
ESB supports location transparency, which means message receiver does not need to know message origin in order to receive a message. ESB also can transform the format of a message. This allows both sender and receiver to use their existing formats because ESB transform the message. ESB is able to merge and aggregate messages. ESB can combine several messages and build a one message and vice versa. ESB can do the message re sequence, which means it can collect related but out of order messages and rearrange them in to correct order. ESB can do content-based message routing that is ESB can make the decision of the receiver based on the message content and sender does not need to specify the message receiver [Menge 2007]. According to above message routing features, ESB solution is ideal for complex business processes.

ESB provides well secured platform to communicate. That means message content can be encrypt and decrypt, and also it facilitates the authentication and access control mechanism [Menge 2007]. This means ESB also address a main concern, which is security in the business industry.

Usually ESB solution come up with set of adapters which can be use to connect widely use industrial application packages such as Enterprise Resource Planning (ERP), Supply Change Management (SCM), Customer Relationship Management (CRM) [Menge 2007]. Therefore ESB solution is high scaleable and flexible.

ESB solution also facilitates to monitor the system performance and allow to handles errors. System configuration and administration can be done by central location [Mulesoft]. These features increase the maintainability of the system.

ESB Advantages
Apart from the above core features ESB solution contains significant advantages as well. The foremost advantage is ESB supports Service Oriented Architecture (SOA). Therefore an organization can expand their business process by plug-in reusable service to existing ESB solution. For an instance an organization can expand their existing Enterprise Resource Planning system by plug-in Customer Relationship Management (CRM) system and a Supply Chain Management (SCM) system which are developed by using SOAP or REST web services. These web services can be run on different operating systems with different databases and can be developed by using different programming languages. Furthermore they can locate in different geographical locations. These Service component can be adopt, upgrade or modify without interrupting to each other as they behave independently.

ESB Limitations
There are few limitations as well. This solution is recommended if there are three or more components to integrate and need to integrate more components in future. Therefore this is not suitable for small or medium size business process integration. The main disadvantage is that ESB solutions are vendor specific [Mason 2009], which means features of a solution is depend on vendors as ESB does not contains a features specification. Therefore consumers should be aware of features before implement an ESB.

Conclusion
Today business process model should interact with different kind of components and services which are locate in different locations as they have complex business requirements. Enterprise Service Bus provides an ideal platform to manipulate this integration by using Service Oriented Architecture. ESB contains many features and advantages which can be use to empower today business world. But it is also contains some limitations as well, therefore before construct an ESB solution, it is mandatory to conduct a proper research inside an organization.


References
Falko Menge (2007), Enterprise Service Bus, [online] Free and open sourse software conference. Last accessed data 03 December 2010 at: http://programm.froscon.de/2007/attachments/15-falko_menge_-_enterpise_service_bus.pdf

Mulesoft, Understanding Enterprise Application Integration - The Benefits of ESB for EAI [online]. MuleSoft Inc. Last accessed data 03 December 2010 at: http://www.mulesoft.org/enterprise-application-integration-eai-and-esb

Rob Brooks-Bilson (2007), The Evolution of Integration Architecture: An Introduction to the Enterprise Service Bus (ESB), [online]. digitalnature.ro. Last accessed data 03 December 2010 at: http://rob.brooks-bilson.com/index.cfm/2007/12/14/The-Evolution-of-Integration-Architecture--An-Introduction-to-the-Enterprise-Service-Bus-ESB

Ross Mason (2009), To ESB or not to ESB, [online], MuleSoft Inc. Last accessed data 03 December 2010 at: http://blogs.mulesoft.org/to-esb-or-not-to-esb/

Russell O'Brien (2008), Integration Architecture Explained, [online]. Hubpages Inc. Last accessed data 03 December 2010 at: http://hubpages.com/hub/Integration-Architecture-Explained

* above article wrote by Kasun P Kularatne for Sheffield Hallam University postgraduate course under web services module

No comments:

Post a Comment

Don't hesitate to ask something or write your feedback