What is Enterprise Service Bus?
Enterprise Service Bus (ESB) is a middle layer communication tool that combines the best features of service-oriented architecture with the best features of the message-based architecture. While you must configure it before you can use it within your organization, there are about 65 pre-written integration patterns already on the market you can use to quickly get set up and running without having to create new code.
While there are several different ESB solutions out there, WSO2 ESB is a popular solution and that provides the power of ESB with the flexibility and cost-effectiveness of a 100% open source integration platform.
What are the integration patterns?
These integration patterns are few samples collected from Enterprise Integration Patterns with WSO2 ESB.
What are the advantages of using ESB?
- Message Bus:
Architecture in which all applications work in a decoupled fashion. So that applications can be plugged out or plugged in without any technical difficulties.
- Message Bridge: the interconnection between message systems.
- Connectors: easier to connect one system to another. They act as switches between applications.
- Interoperability: one system is communicating with other system without any technical difficulties.
- Protocol conversion: Converts messages from one protocol to another.
- Message Translation: Fixes the messages with correct data formatting as per a standard.
- Message routing: Defines the path messages take through the system and any filters from beginning to end
(Reference in Enterprise Service Bus )
- Service coordination: manages business and application services
- Monitoring: monitor development and run time policies, track dependencies and take care of life cycle management.
- Pipes and filters: deals with complex logic and process to maintain simplicity, independence, and flexibility.
- Business rule engine: Sets business logic for a network
- Publish and subscribe: Coordinates services in an asynchronous fashion.
- Transaction management: Oversees transactions
- Content enricher: Adds missing required data to messages in a communication channel
- Security: security and identity management.
- Exception handling. Handles communication and transactional errors
- Integrated environment: Applications can communicate with each other and your network
Connected business: Integrate components and infrastructure from across your enterprise
- Reusability: You can reuse integration patterns and resources
- Configuration: Change applications settings through a single interface tool instead of coding.
- Load balancing: cluster services together to achieve scalability and high availability
- Quicker time to market: Identify and replace repeated patterns and applications with simpler logic. , reducing your time to market.
You will find more information on open source integration platforms, these modules, and their configuration options in the Reference documentation (WSO2 Library).
They are such as ESB profile, broker profile, API profile, MSF4J profile, WSO2 DSS, WSO2 DAS, WSO2 BPS are configured.
It is important to examine the performance of the system whether it works out well enough to expected capacity. Throughput is measured the number of transactions performed over a period of time. TPS is defined as atomic action per second. This is a major characteristics for a stateless server.
If a transaction triggers, XML based transformation or processing operations occur. This is categorized under work done per transaction.
At any given time, the number of distinct users simultaneously accessing the system are known Concurrent active users System throughput increases with the number of concurrent users until it reaches maximum capacity. After that, Throughput decreases. It is vital to find out the maximum concurrency the system can withstand. Message size and latency are other parameters used in the system. These details are mentioned under non-functional requirements.
The success rate and failure rate occurred in the last one hour by ESB. It is mapped in the graph shown in figure 3.
Maximum backend throughput Limits – setup:
This is the total number of the API manager is permitted to the backend. When the other throttling levels dictate the quota the API invoker gets. When evaluating the maximum backend throughput, the counters managed are shared across all nodes of the Gateway cluster. It also applies all users utilizing any application that access the particular API. WSO2 API manager is open source and complete enterprise wide API management solution with governance and analysis in open source integration platform
When you should you use ESB?
If you have more than three applications or services to integrate, you should use ESB. You should also consider ESB if you use third-party services from external vendors.
Let us look at a case study on how much ESB changes your network. More details are available here:
Figure 4 shows how much transitioning to ESB reduces costs. You reach higher savings with higher a number of new planned systems.
Figure 5, shows how much ESB reduces costs for existing systems.
ESB dies create a single point of failure, and can lead to reduce performance due to over abstraction. But, you can reduce these disadvantages with efficient monitoring and exception handling. You can also reduce them by using multiple reliable cloud systems and connectors.
WSO2 is a fully open source integration platform ESB solution with standardized, fully interoperable, and single point of contact for all your business infrastructure. It allows you to quickly monitor and handle risks and points of failure in your network.