Enterprise service bus

From Free net encyclopedia

Template:Cleanup-spam In computing, an enterprise service bus refers to a software architecture construct, implemented by technologies found in a category of middleware infrastructure products usually based on Web services standards, that provides foundational services for more complex service-oriented architectures via an event-driven and XML-basedTemplate:Ref messaging engine (the bus). An enterprise service bus generally provides an abstraction layer on top of an Enterprise Messaging System which allows integration architects to exploit the value of messaging without writing code. Contrary to commonly used EAI brokers which are usually implemented as a monolithic stack in a hub and spoke architecture, the foundation of an enterprise service bus is built of base functions broken up into their constituent parts, with distributed deployment where needed, working in harmony as necessary.

Contents

Common characteristics

Although the exact definition of an ESB varies, most agree that the following are characteristics of an ES:

  1. it requires the clear separation of message headers and message body
  2. it is usually operating system and language independent; it should work between Java and .Net applications, for example
  3. it (often) uses XML and Web services to transport messages
  4. it includes adapter standards (such as J2C/JCA) for incorporating existing applications into the bus
  5. it includes support for asynchronous processing
  6. it includes intelligent, content-based routing services
  7. it includes a standardized security model to authorize, authenticate, and audit use of the ESB
  8. it includes transformation services (such as XSLT) between the format of the sending application and the receiving application, including the transformation of data formats
  9. it includes validation against schemas for sending and receiving messages
  10. it can uniformly apply business rules, enrichment of the message from other sources, splitting and combining of multiple messages, and the handling of exceptions
  11. it can conditionally route or transform messages based on a central policy
  12. it is monitored for message latency and other characteristics described in a Service Level Agreement
  13. it (often) facilitates "service classes," responding appropriately to higher and lower priority users
  14. it supports queuing, holding messages if applications are temporarily unavailable
  15. it handles a "publish and subscribe" messaging model, including event handling
  16. it is comprised of selectively deployed application adapters in a (geographically) distributed environment

Key benefits

  • faster and cheaper accommodation of existing systems
  • increased flexibility: easier to change as requirements change
  • standards-based
  • scales from point solutions to enterprise wide deployment (distributed bus)
  • more configuration rather than integration coding

ESB-related vendors

Strictly speaking ESB is an architectural concept which may be implemented by one or more products. Most vendors naturally argue that ESB is a product — their product — and more and more are putting "ESB" in their product names and literature. There are a number of vendors who offer ESB-oriented products. Here's a partial list (in alphabetical order by vendor):

See also

External links

Blogs

Footnotes

  1. Template:Note An alternative view, particularly for high performance enterprise service buses, is that "standard" message formats should flow across the bus, not just XML. Generating XML and parsing it can be costly in terms of processing and memory, and high volume scenarios may not be viable.fr:Enterprise Service Bus

zh:企业服务总线