Download presentation
Presentation is loading. Please wait.
1
Enterprise Service Bus
(ESB)
2
INTRODUCTION WHAT IS ESB- Enterprise service bus is a software architecture model used for designing application in SOA (Service Oriented Architecture) and promotes agility and flexibility with regard to communication between applications.
3
An ESB is valuable to the implementation of a service-oriented architecture (SOA) because it exchanges messages, executes transactions, orchestrates services, and performs publish and subscribe functions between disparate and distributed applications. The ESB was created to meet demands and avoid common problems that other enterprise application integration (EAI) platforms could not. The popular hub and spoke EAI platform, in which all integrated applications work through a single message broker, creates a single point of failure, an incredible risk for a complex business system. The ESB, though, has numerous brokers, and so avoids this risk. an ESB facilitates the loose-coupling of systems and the use of open-standards, two features of most successful SOA implementations. Basically ESB allows two mutual software applications to communicate with each other in SOA(Service oriented architecture)
4
ROLE OF ESB An ESB transports the design concept of modern operating systems to networks of disparate and independent computers. Like concurrent operating systems an ESB caters for commodity services in addition to adoption, translation and routing of a client request to the appropriate answering service. The primary duties of an ESB are: Monitor and control routing of message exchange between services Resolve contention between communicating service components Control deployment and versioning of services Marshal use of redundant services Cater for commodity services like event handling, data transformation and mapping, message and event queuing and sequencing, security or exception handling, protocol conversion and enforcing proper quality of communication service
5
ESB as a software The ESB is implemented in software that operates between the business applications, and enables communication among them. Ideally, the ESB should be able to replace all direct contact with the applications on the bus, so that all communication takes place via the ESB. To achieve this objective, the ESB must encapsulate the functionality offered by its component applications in a meaningful way. This typically occurs through the use of an enterprise message model. The message model defines a standard set of messages that the ESB transmits and receives. When the ESB receives a message, it routes the message to the appropriate application. Often, because that application evolved without the same message model, the ESB has to transform the message into a format that the application can interpret. A software adapter fulfills the task of effecting these transformations, analogously to a physical adapter. ESBs rely on accurately constructing the enterprise message model and properly designing the functionality offered by applications. If the message model does not completely encapsulate the application functionality, then other applications that desire that functionality may have to bypass the bus, and invoke the mismatched applications directly. Doing so violates the principles of the ESB model, and negates many of the advantages of using this architecture.
6
The beauty of the ESB lies in its platform-agnostic nature and the ability to integrate with anything at any condition. It is important that Application Lifecycle Management vendors truly apply all the ESB capabilities in their integration products while adopting SOA. Therefore, the challenges and opportunities for EAI vendors are to provide an integration solution that is low-cost, easily configurable, intuitive, user-friendly, and open to any tools customers choose. ESB Enterprise Message Model: ESB System promotes loosely coupled architectures that Allows changes in the formats of messages.
7
Protocol Transformation
The ability to accept one type of protocol from the consumer as input(i.e. SOAP/JMS) and communication to services provider through different protocols. Has both physical connections attributes as well as logical connectivity. Examples SOAP/JMS------IIOP XML/HTTP CICS/MQ SOAP/MQ RMI/IIOP
8
Service Mapping This is the ability to translate a business service into corresponding implement services location information 1. Usually contains the following information Implementation service name Service protocol and binding of information Protocol specific into(time out, failure information) Services specific routing information
9
Message processing The ability to manage state and performance request management by accepting input request delivery back to client via message synchronization. Client Error Notification Output Request Input Queues To ESB ESB
10
Process Choreography The ability to manage complex business process that requires the co-ordination of multiple business services to fulfill a single business services request Usually BPEL based
11
Services orchestration
The ability to manage co-ordinate of multiple implementation services. Usually BPEL based Differences b/w services choreography and services orchestration process choreography : business services services orchestration : implement services
12
Transaction management
The ability to provide a single unit of work for business services request to provide a frame work for the co-ordination of multiple resources across multiple disparate services.
13
Security The ability to protect enterprise services from unauthorized access. in SOA there are no more silos: services because visible to the entries enterprise through ESB. Four types security Authentication Authorization Auditing Administration
14
Characteristics of ESB
1.Invocation- Support for synchronous and asynchronous transport protocols, service mapping 2. Routing-addressability, static routing, content based routing. 3. Mediation- Adapters, protocol transformation, service mapping 4. Messaging-message processing, message transformation and message enhancement 5. Q.O.S- Security, reliable delivery, transaction management 6. Management- monitoring, audit, logging, metering, admin console 7. Protocol conversion- comprehensive support for topical communication 8. Adapters- adapters for supporting integration with legacy systems, possibly based on standards 9. Security- a standardized security model to authorize, authenticate and audit use of the ESB 10. Validation- validation against schemas for sending and receiving messages 11. Governance- the ability to apply business rules uniformly 12. Routing and transformation- routing or transformation messages conditionally, based on a non centralized policy
15
Benefits of ESB ESB resolves issues of management and also handles various functions. There are plenty of other advantages which enable an enterprise to effectively solve the compatibility issues between its workstations and its intra-network. Some of the advantages of deploying an ESB are: Routing: An ESB routes the data packets between services and application according to type of application or service. It also serves as a mediator, for routing the correct information to the correct service based on the type of content to be transmitted, version of the service or application or any other user-defined parameter. Support for complex Message Exchange Patterns (MEPs): ESB can support multiple message transfer protocols so as to improve the overall efficiency of the machine communication . From point to point connection type message transmission to broadcasting messages, different MEPs are supported in ESBs. Data transformation: Each node on the network need not to understand the standard message syntax instead each node or workstation can transport the data in its local format and the ESB will transform the data in the local format of to the destination. Standardization: Though each workstation uses its own syntax or format for data encapsulation and transportation, ESB unifies all these syntaxes to standardize the communication method inside an intranet. These assist in easy integration of applications services and system despite the standards they follow. Reliability: Fault tolerance, load balancing and high availability are efficiently handled using an ESB, making it a more reliable solution in enterprise network architecture. During any network failure condition, messages are redirected to a backup service provider which provides high availability of network for the users. During high traffic conditions, messages are distributed between the providers so as to balance the network traffic and load.
16
Advantages of ESB ESB as Single Point of Access
One advantage of connecting clients and services via an enterprise service bus is that clients need only look for services in a single location: The enterprise service bus. If a service is moved from one server to another, you only need to reconfigure the ESB. The clients still just access the service via the ESB. ESB as Transaction Manager Another advantage is that the ESB can coordinate distributed transactions which multiple services participate in. When multiple distributed services need to participate in a transaction some entity typically has to coordinate the transaction. Rather than forcing the client to do this, the enterprise service bus can do so. The client may still have to demarcate the beginning and end of the transaction, even if the work of coordinating the participants is done by the ESB.
17
ESB as Security Manager
Security aspects like authentication and authorization can be centralized in the enterprise service bus. Even if a service in an application does not have authentication and authorization, the enterprise service bus can require this in the service interface it exposes to potential clients.
18
ESB as Service Proxy An ESB may function as a gateway or proxy for applications that do not expose a standardized service interface to the world. For instance, lets say an application exposes a Java RMI service. The rest of your network is running on .NET which cannot directly call the RMI service. To solve this problem you can implement a service proxy in Java which can call the RMI service. The service proxy then exposes a web service interface (SOAP + WSDL) via the ESB to the .NET applications. Such a proxy service does not have to be a built-in capability of an ESB. It can also just be deployed as a separate service, made available via the ESB.
19
ESB as Gateway to the World
If some clients need to connect to services running in the outside world, the ESB can potentially function as a gateway to the world outside. Again, security aspects etc. can be added on top of the external service. Furthermore, if the external service is capable of participating in distributed transactions, the ESB can coordinate this too.
20
ESB Disadvantages Connecting your services via an ESB also has a few disadvantages. First of all the ESB may become a single point of failure. If the ESB is down, no communication between clients and services can take place. Second, the extra level of indirection may result in decreased performance of client-service communication.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.