Enterprise Service Bus. In the past, companies have implemented a number of services that constitute a service-oriented architecture, which is what we often call SOA. Both parties to the service must establish 1-to-1 linkages, so let's review what the basic requirements of the SOA architecture are:
- SOA encapsulates and reuses application services or business modules on a relatively coarse granularity;
- The service is loosely coupled, and based on open standards, the interface description of the service is irrelevant to the implementation;
- Flexible architecture-the implementation details of the service, the location of the service, and the underlying protocol of the service request should be transparent;
In SOA, we also need a middle tier that helps to intelligently manage the different services in the SOA architecture. This is what we need for enterprise service bus.
ESB in N-tier structure:
Enterprise Service Bus communication layer:
The main functions of the ESB are:
1. Message monitoring and routing across services
2. Resolving communication between service components
3. Control Service version and deployment
4. Meet the service like event processing, data conversion and mapping, message and event query and sequencing, security or exception handling, protocol loop, guarantee the quality of service communication.
There are also the following tables:
Clear positioning |
An ESB helps decouple from service consumer service providers. The ESB provides a centralized platform for any application to communicate with each other so that the sender of the message is decoupled from the message receiver. |
|
|
Protocol conversions |
The ESB should be able to seamlessly integrate different transport protocol applications such as HTTP,JMS,FTP, file batching, and smtp,tcp. |
|
|
Message conversion |
The ESB provides the conversion of messages from one format to other open-based standards, such as XSLT and XPath. |
|
|
Message routing |
An important function of an ESB is to determine the final destination of incoming messages, which is typically categorized as message routing. |
|
|
Message enhancement |
The ESB provides a message enhancement mechanism that attaches lost data based on incoming messages. |
|
|
Safety |
Authentication, authorization and encryption function, to ensure the security of incoming messages, to prevent malicious use of the ESB to meet the security of service provider information. |
|
|
Monitoring and management |
Monitoring and managing environments can configure high-performance and reliable features, and can also monitor run-time message flows. |
ESB Portrait diagram:
Key Benefits:
Increased flexibility for easier adaptation to demand changes
Deployment solutions that extend from point to enterprise-wide (distributed bus)
More configuration, not integration code
No centralized rule engine, no centralized broker
0 downtime; Making the Enterprise a "reconfigurable" solution
Main disadvantages:
Increase system overhead
Slow communication, especially for services that are already compatible
Current Open source ESB products and projects:
- Apache ServiceMix
Apache Synapse
JBoss ESB
Masstransit
NetKernel
Nservicebus
Petals ESB
Spring Integration
Open ESB
WSO2 ESB
Mule
Ultraesb
Talend ESB
Shuttle Service Bus
Hope to help you with your software architecture.
Enterprise Service Bus Introduction