Enterprise Integration Zone is brought to you in partnership with:

Cristian Chiovari is a Senior Software Engineer specialized in developing enterprise software applications with experience on software integration and messaging. His expertise include helping clients build software using industry best practices, Test Driven Design, Weblogic, Oracle Service Bus , Spring Frameworks, JEE. Performance improvements is something that is really passionate about and considers software development not only his job but also his main hobby. Cristian is a DZone MVB and is not an employee of DZone and has posted 10 posts at DZone. You can read more from them at their website. View Full User Profile

Notes on Defining the Enterprise Service Bus

11.26.2012
| 4207 views |
  • submit to reddit

A thing to know about ESB is that there is not perfect definition for it. The scope and role may vary depending on the needs.
One of the most important things that you can do via ESB is to decouple the client from the service providers


ESB helps to have:
  • a service location transparency
  • sharing of services accross the enterprise
  • separate the business service from service implementation
 Esb Capabilities 


Routing
The ability to redirect a client request to a particular service provider based on deterministic or variable routing criteria.
Types of routing to consider:

  • static or deterministic routing
  • content based routing
  • policy based routing
  • complex rules based routing

Message transformation
The ability to transform the client request to the format the service provider expects it. Most used transformations are:

  • Xml -> Xml
  • Xml -> Cobol
  • Object -> Xml Xml -> Json etc.

Message enforcement

The ability to enrich,enhance the message that comes as request as the service provide requires.Types of message enforcement:

  • Date format conversion
  • Data conversion (ex: transform spaces to 0)
  • Rule based enhancements. (ex: if message is from x add some information to the request)etc.
Protocol transformation

The ability to accept from the consumer one type of protocol as input (ex SOAP/JMS) and communicate to the service provider other protocol (ex: IIOP)

Service Mapping

The ability to translate a business service into the corresponding service implementation and provide binding and location information

Message processing

The ability to manage state and perform request management by accepting an input request and ensuring delivery back to the client via message synchronization.

Process choreography

The ability to manage complex business processes that require the coordination of multiple business services to fulfill a single business request.

Service Orchestration

The ability to manage the coordination of multiple implementation services.

Transaction management

The ability to provide a single unit of work for a business service request by providing a framework for the coordination of multiple resources across multiple disparate services
(see more WS – Coordination)

Security
The ability to protect enterprise services from unauthorized access
ESB should provide 4A’s of security :

  • Authentication
  • Authorization
  • Auditing
  • Administration
Published at DZone with permission of Cristian Chiovari, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)