Quick Thoughts on Enterprise Service Bus
Join the DZone community and get the full member experience.
Join For Free
there's no perfect definition for esb: the scope and role may vary depending on the needs at hand. 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, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments