In computing, an enterprise service bus (ESB) is a software program that makes modular services available to consumers on the Internet. This bus is the delivery mechanism for service oriented (SOA) software technology. These are used in online banking, travel reservations, and stock-ticket readers.
The enterprise service bus is a message-delivery system for web services. It is responsible for sharing and routing messages among computer systems. This is similar to an automated post office that ensures data is securely delivered to the appropriate individual on the network.
When service oriented architecture was first created, there was no standard method for presenting business services to the community at large. This made it difficult for companies to share information because files were not available in an standard method. The enterprise service bus created a standard platform with defined protocols for all companies to safely share business services across networks.
There are many types of service buses available. These typically vary in price and complexity. It is important to determine the level of sophistication a company needs before purchasing an enterprise service bus because large complex systems can cost several million dollars. Small buses are available on the Internet and provide adequate support for small service-based web applications.
The enterprise service bus is an example of message oriented middleware (MOM) technology. This family of tools provides the conduit to share information among consumers and other business. Some other examples of MOM technology include IBM MQSeries®. This technology provides a generic way for computer systems to send messages in a standard reliable manner.
Small services buses are typically sufficient for start-up companies that only have a few services available. This type of enterprise service bus will provide the minimum functionality needed to manage business modules on the Internet. As the demand grows, the business can upgrade the bus platform and infrastructure into a more complex model.
The enterprise service bus is responsible for sharing service messages from a company. This type of sharing requires sufficient security around the exposed data. The bus typically includes functions that can encrypt and decrypt messages before they are shared across the network. This encryption process secures the messages before they are transferred over the network.
Business process execution language (BPEL) relies on an enterprise service bus to communicate the business services to external customers. This special scripting language encapsulates the rules for specific business processes for a company. The BPEL program requires an ESB application to ensure the reliability and performance of services.