The New WSO2 Enterprise Service Bus - RESTy, Connected, Collaborative, and Optimized
By Kasun Indrasiri
- 17 Dec, 2013
Integration is a key aspect of building a Connected Business. To build a Connected Business, you have to integrate your organization’s systems, be it on-premise, cloud offerings, or cloud APIs. Today modern enterprises have diverse and dynamic business requirements; therefore, it is imperative that these organizations adopt and adapt to these changing requirements. To this end, the organization needs to be agile in terms of its IT solutions due to the constantly changing customer requirements.
The reality in implementing a software solution is that you cannot rely on a single solution because you have to select different IT solutions from various vendors, e.g. your organization may have some legacy systems and ERP systems, such as SAP, as well as you may have to integrate with some cloud offerings, such as Salesforce. As a result, you would need to pick and choose different solutions from various vendors based on their speciality.
As modern organizations evolve, challenges with regard to legacy systems is a common issue faced by most enterprises today. Legacy systems are often complicated and cannot be easily done away with, and even if this were possible, it could be a time-consuming effort. Therefore, given these challenges, in reality, organizations may have to retain their legacy systems for sometime. Hence, an organization’s integration solutions would need to cater to these requirements as well. A further complication is the presence of cloud offerings.
The primitive approach to connecting all of these, as illustrated in Figure 1, would be point-to-point integration. Here, you would be getting into silos and carrying out spaghetti integration point-to-point of just connecting two given systems, which may not be a feasible or long-term solution as it would come with scalability, maintainability, and troubleshooting issues.
Figure 1: An example of point-to-point/spaghetti integration
WSO2 ESB as the integration bus
Only a solid integration platform would be able to connect cloud APIs, on-premise applications, and legacy systems to meet the requirements of a Connected Business. And WSO2 ESB has the capability to address these needs.
WSO2 ESB is a lightweight ESB implementation that integrates with all standards and protocols and is designed with non-blocking architecture, which can scale up to any number of instances; it is also very well known for high performance. It is the fastest ESB available in the open-source ESB space, and is completely configuration driven with XML-based integration, which means it requires zero coding.
In terms of features, WSO2 ESB offers almost all the service integration capabilities, such as orchestration, routing, filtering, and caching. Among the key focus areas of the recent ESB releases has been a full analysis of all standard Enterprise Integration Patterns, which were then documented for each of the patterns. WSO2 ESB is the only ESB vendor that supports all the EIPs and has documentation on how each and every pattern can be implemented with WSO2 ESB Click here to refer to documentation.
Retrospect of WSO2 ESB in 2013
WSO2 has already announced two releases of its ESB, and the latest version will be released shortly. WSO2 ESB 4.6 was mainly a performance-based release that revolutionized the performance space and became the fastest open source ESB; the release of WSO2 ESB 4.7 incorporated comprehensive RESTful integration support; the upcoming release of WSO2 ESB 4.8 will unveil ESB connectors offering cloud-to-cloud as well as cloud-to-enterprise integration capabilities.
WSO2 ESB connectors - WSO2 ESB connectors are the foundation of cloud-to-cloud as well as cloud-to-enterprise integration. It connects disparate cloud APIs, mobile, and on-premise systems.
Cloud to cloud integration - Illustrated below is an example with the use of Salesforce and Google SpreadSheet. Here, let’s assume you have some customer or lead details in your Salesforce CRM and you need to get this into a Google spreadsheet. WSO2 ESB Connectors allow you to seamlessly integrate such SaaS APIs.
Figure 2: An example of cloud to cloud integration
Cloud to enterprise integration - This is very common in modern day enterprises; here let’s assume you have your on-premise application, such as SAP and any other legacy system, and these need to be integrated with cloud APIs, such as Salesforce. Salesforce to SAP integration is a very common use case and this is where cloud to enterprise integration through WSO2 ESB comes into play.
Figure 3: An example of cloud to enterprise integration
WSO2 ESB Connectors can meet the requirements of different patterns to enable the above-mentioned integrations. It helps to simplify the invocation of a given cloud API and hides all the low-level details from the user. A given Connector is self contained and is totally independent from a given ESB release, and thus can be dynamically plugged into the ESB.
RESTful integration made easy
From WSO2 ESB 4.7 version onwards, there has been greater focus on RESTful integration, especially by looking at every aspect of the REST triangle. WSO2 has also focused on the JSON space, offering comprehensive support for JSON to JSON transformation with the use of the new payload factory. The 4.8 release will include JSON-based Content Based Routing as well because WSO2’s key objective is to strengthen the RESTful and JSON capabilities with the new ESB.
In terms of message media enhancements, a revolutionized ‘call’ mediator will be introduced, which will significantly simplify the service orchestration capabilities, enabling service orchestration in a single sequence. In addition, two new mediators have been introduced; ‘respond’ and ‘loopback’ to manipulate the direction of the message flow.
Enhanced message store and message processors
Extensive work has also been carried out in the area of store and forward, where message store and implementation have been completely revamped. In addition, the new Message Store and Processor implementation supports implementing store and forward scenarios in RESTful integration as well.
Modern Enterprise IT systems are evolving at an immense pace and business requirements are changing at a rapid rate. Enterprise IT systems should quickly respond to business changes with agility. Hence, most organizations adopt SOA as its enterprise architecture owing to the loosely coupled nature and the extensibility of SOA.
The successful realization of an SOA completely relies on the platform in which is it built on. You need to have a solid foundation to establish your SOA implementation and cater to all the integration needs. As an enterprise integration infrastructure, an ESB needs to provide the foundation for SOA implementation and cater to integration requirements of disparate systems, services and protocols. To this end, WSO2 ESB brings you the most robust, highest performance, lowest footprint, and most interoperable integration solution. In terms of further developing WSO2 ESB, key focus is to strengthen the RESTful integration support along with the introduction of some new transport concept (i.e. inbound and polling transport), which is useful in multi-tenanted scenarios.