ESB brings flow-related concepts such as transformation and routing to SOA. Flexibility in the transformation layer + easy connection between services.
ESB requires to provide the following characteristics:
invocation, routing, mediation, messaging, process choreography, service orchestration, complex event processing, QoS, management.
----
Paper
ESB is a mediation solution: early mediation solutions evolved to enhance the gloabl quality of services provided by large scope of DB systems. ESB uses mediation to facilitate the design of applications based on Web Services.
Wiederhold in [8, 9], mediation is "a layer of intelligent middleware services in information systems, linking data resources and application programs".
a mediator as "software module that exploits encoded knowledge about certain sets or subsets of data to create information for a higher layer of applications. It should be small and simple, so that it can be maintained by one expert or, at most, a small and coherent group of experts"
types of mediators:
- examiners -> content body for validation, authentication, etc.
- transformation mediators -> content body for data type transformation
- transcoder mediators -> modify the format and not the content. helps to go through different protocols
- cache mediators
- routers
- operator mediators -> comparators, aggregators, etc.
- clone mediators -> dispatch a unique request to several services
- a trading service in order to find services
- commuication service (mostly synchronous with MOM and pub/sub)
- orchestration service (based on BPEL)
- Security
- Dynamic Routing and dispatch of requests (load balancing, responding to data source failure)
- other non-functional actions related to QoS management -> quality measurement, tracing, caching, failure detection, recovery.
Open-source ESBs
- Celtix
- Petals
- Objectweb
- Mule
- ServiceMix
- OpenESB
with workflow languages we can model the our application but we cant serparate the proxies from the application model. as a consequence any change in the implementation will aslo affect the model and vice versa, even though in many situations it is not desirable.
Looking at the picture above, the question is whether an event processing engine handles the process of mediation and to what extent?designing a mediation element should be kept separate from composing a mediation element.
Mediation tool development is used. This tool allows to
- describe mediation chains with ADL
- describe the execution environment
- automate the deployment and administration

This is a very interesting image as it is very close to things that we have in mind with mediation and enabling composition of services through mediators.
ESB combined with a pub/sub middleware seems to be the way to go towards this direction. In this sense mediator is a component that is able to receive 1 to n pieces of data and send 1 to n pieces of data. it can be seen as a binding between clients (1..n) and services (1..n).
A mediation chain is close to the concept of partnerlink in BPEL.
OSGi can help ESB with improving dynamism. so mediators can be defined and implemented as OSGi bundles to be dynamically loaded to the ESB infrastructure to enable communication between services of different types.
No comments:
Post a Comment