WSO2 Enterprise Integrator (EI) is a comprehensive integration solution that enables communication among various, disparate applications. Instead of having your applications communicate directly with each other in all their various formats, each application simply communicates with the EI, which handles transforming and routing the messages to their appropriate destinations. The WSO2 EI product can be used to manage short-running, stateless integration flows (using the Integrator runtime) as well as long-running, stateful business processes (using the Business Process Server runtime). The product also includes a separate Analytics runtime for comprehensive monitoring as well as a Broker runtime (WSO2 MB ) that can be used for reliable messaging.
The Integration runtime in EI provides its fundamental services through an event-driven and standards-based messaging engine (the bus), which allows integration architects to exploit the value of messaging without writing code. This Integrator product is a step ahead of the ESB product introduced by WSO2 (WSO2 Enterprise Service Bus), as it allows back-end applications and services required for an integration process to be hosted within the same runtime. This eliminates the need to use a separate application server or data services server for your integration processes.
The Business Process runtime in EI enables developers to easily deploy long-running integration processes (business processes), written using either BPMN 2.0 standard or WS-BPEL 2.0 standard. Powered by the Activiti BPMN Engine 5.21.0 and Apache Orchestration Director Engine (ODE) BPEL engine, the Business Process runtime in EI comes with a complete web-based graphical management console, enabling users to easily deploy, manage, view and execute processes as well as human tasks.
Therefore, WSO2 EI is essentially a collection of enterprise architecture design patterns (WSO2 ESB++) that can be implemented directly using a single product. This product is light-weight and versatile. It is 100% open source and is released under Apache Software License Version 2.0, one of the most business-friendly licenses available today.
Short-running integration flows
The following diagram illustrates the message-flow architecture in the Integration runtime of EI, which is used for implementing integration flows.
This shows how a request propagates to its actual endpoint through the Integrator runtime. Response handling is the reverse of this operation. Note that the components of the pipes are not in a specific order.
- An application(client) sends a message to the runtime of WSO2 EI.
- The message is picked up by a transport.
- The transport sends the message through a message pipe, which handles quality of service aspects such as security. Internally, this pipe is the in-flow and out-flow of the Axis2 engine. The Integration runtime can operate in two modes:
- Both message transformation and routing can be considered as a single unit. As the diagram specifies, there is no clear separation between message transformation components and routing components. In the Integration runtime of EI, this is known as the mediation framework. Some transformations take place before the routing decision has been made while others take place after the routing decision. This is part of the Synapse implementation.
- The message is injected to the separate pipes depending on the destinations. Here again, quality of service aspects of the messages are determined.
- The transport layer takes care of the transport protocol transformations that are required before sending the message to the receiver application.
- The message is sent to the receiver application.
Long-running business processes
The following diagram illustrates the message-flow architecture in the Business Process runtime of EI, which is used for long-running, stateful business processes.