Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This document introduces the Enterprise Service Bus (ESB) and the Java Business Integration (JBI) specification, followed by a discussion of ServiceMix as an ESB implementation based on JBI standard JSR 208.

...

  1. EAI - Enterprise Application Integration is the term given to the software and architectural principles used to integrate applications, legacy application and databases within the enterprise as opposed to between enterprises (see B2B). Commercially, application suites like SAP and Peoplesoft fall into this category, as does custom integration software developed by in house personnel.
  2. B2B - Business-to-business is the term given to the software and architectural principles used to integrate applications, legacy application and databases between enterprises as opposed to within an enterprise (see EAI). The integration, in this case, is more loosely coupled and typically of a transactional nature, e.g. submitting an electronic purchase order, checking inventory levels or monitoring the status of an order.
  3. SOA - A service-oriented architecture is a software architectural concept where composite web applications are developed as a collection of services that can be independently developed, deployed, discovered and even replaced. The services typically support one aspect of a business requirement or process and while the internals of the service can be implemented in any number of ways, the interface to other components that use the service generally conforms to a standard such as Web Services.
  4. Web Services - Web Services refers to a suite of XML based standards that allow applications to exchange information in a platform independent way. Early work in Web Services focused on standards for service description (WSDL), deployment and discovery (UDDI). The effort has expanded to include standards for security, reliability and management among others. Web services are typically invoked over the Internet using standard protocols, most often SOAP (Simple Object Access Protocol).
  5. Routing - Intelligent or content-based routing is the process of making appropriate path and/or destination decisions based on the content of the message being transported. The path/route taken will is decided by the ESB after analyzing the message content and metadata.
  6. Data Transformation - Data Transformation is the process of taking data from one format representation and translating it into another, while retaining the integrity of the information. This is most often required when applications use semantically similar data in different formats, e.g. application A identifies an "Employee" by driver's license number while application B identifies an employee by social security number. The transformation component offers the flexibility and opportunity to change data to any desired format for any desired reason.
  7. Orchestration - The automated coordination and management of composite applications components that participate in a business process. Orchestration is often most important in long running business processes where the number and type of exception conditions are greatly increased over traditional short lived business transactions. An orchestrated process will often NOT roll back all the work that has occurred at the time of a given business exception. Rather it will follow one or more rules and execute compensating transactions and/or accept the state of the process as satisfactory at the time of the exception.
  8. Transactionality - Traditionally transactionality refers to a grouping of events where ALL events are required to complete successfully. In the event that even one of the events fails, the effect of each event is undone and the system is rolled back to its state before the transaction began. The JBI specification provides for the reliable end-to-end delivery of messages (i.e. message transactionality). Note: the JBI 1.0 Draft specification assumes a single JVM/JBI for transactionality since the standards for distributed transactions are not yet mature. However, the JBI specification does not preclude distributed transactions.