Cetrix Blog

Pros and Cons of Enterprise Service Bus

Paul Nilsen - May 9, 2018 6:12:57 PM

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.

Fig 1,   ESB

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.

Messaging Channels

 Point to Point Channels


Point-to-Point Channel


How the caller receives the document or perform the call.

 Publish-Subscribe Channels


Publish-Subscribe Channel


How the sender broadcasts an event in asynchronous fashion.

     
     

 

System Management

 Channel Purger


Channel Purger


How to removes unwanted messages

 Control Bus


Control Bus


Administers a messaging system that is distributed

 Detour


Detour


Routes a message and performs validation,

 Message Store


Message Store


Reports loosely coupled and transient nature of a messaging system.

 Smart Proxy


Smart Proxy


Tracks and publishes reply messages to the Return Address specified by the requester.






 

Enterprise Integration Pattern

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.

System capacity            

 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.

Fig 3,  Time Vs TPS

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:

A new cost model for comparison of Point to Point and Enterprise Service Bus integration styles

Figure 4

Figure 4 shows how much transitioning to ESB reduces costs. You reach higher savings with higher a number of new planned systems.

Figure 5

Figure 5, shows how much ESB reduces costs for existing systems.  

Disadvantages:    

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.

Find out how to overcome technical challenges and join the software revolution!

Download the eBook Now.

GET THE EBOOK

Digital Business

Digital Business

Topics: Application Integration

Paul Nilsen

Paul Nilsen

Paul Nilsen is the director of solution development at Cetrix Cloud Services. He also works with the Solution Development Department at Cetrix Technologies, where he headed the department for three years. Paul has over 20 years of experience in IT, working on software engineering projects, hardware-software product integration, design of special purpose systems using artificial intelligence, and implementing CRM and ERP software systems.

Previous Post

Integrating SAP SuccessFactors

Next Post

Design Principles of Application Integration Architecture

0 Comments

Subscribe Here!

sidrbar_icon

WATCH DEMOS

CASE STUDIES

GET THE EBOOK

Related Blogs