Summary: Application integration is the biggest challenge today for many enterprises. Building an Enterprise Service Bus (ESB) is probably the quickest and most cost-effective way to address this challenge. In this article, you gain insight on ESBs, and how to model and construct ESB service-oriented architecture frameworks.
An Enterprise Service Bus exhibits these minimum, or mandatory, capabilities:
Supports routing and addressing for at least one messaging style (such as request/response, or publish/subscribe), and at least one transport protocol that is or can be made widely available. This enables location transparency and service substitution, which enables the decoupling of the consumer view of services from their implementation.
Supports several integration styles or adapters. It enables the provision of services based on these integration capabilities, and decouples technical aspects of service interactions and the integration of services in the enterprise.
- Service interaction
Supports an interface definition format and associated messaging model (such as WSDL and SOAP) to allow the decoupling of technical aspects of service interactions.
- Management and autonomic
Provides a consistent administration model across a potentially distributed infrastructure, including control over naming, routing, addressing, and transformation capabilities. This enables the management of services in the enterprise.
More advanced ESBs typically offer a number of additional value-added features, including:
- Adapters, to enable connectivity to packaged and custom enterprise applications, as well as to leading technologies.
- Service orchestration engines, to support both long-running (stateful) and short-running (stateless) processes.
- Quality of service and service-level capabilities.
- Presentation services, to enable the creation of personalized portals that aggregate services from multiple sources.
The architecture of an ESB is centered on a bus. The bus provides message delivery services based on standards such as SOAP, HTTP, and Java™ Messaging Service (JMS). It is typically designed for high-throughput, guaranteed message delivery to a variety of service producers and consumers. The ESB enables the use of multiple protocols (such as synchronous and asynchronous) and performs transformation and routing of service requests. The ESB enables services to interact with each other based on the quality of service requirements of the individual transactions. It also supports different standards such as SOAP, XML, WSDL, JMS, J2EE, JAX-RPC, and so on.
Figure 2 illustrates component types that can connect to an ESB:
- Custom applications, based on standards like J2EE and Struts, which plug into the ESB to provide a user interface to enterprise services.
- Service orchestration engine, which hosts long running business processes, based on standards like Business Process Execution Language (BPEL).
- Adapters, typically built to the Java Connector Architecture (JCA) specification, enable integration with a wide variety of enterprise applications.
- Presentation and portals enable the creation of personalized portals that aggregate services from multiple sources.
- Data services which provides real time view of data from heterogeneous data sources.
- Web services provides a standard means of connectivity to legacy and proprietary integration technologies.
- SOA and REST with Grails (architects.dzone.com)
- Need for Java SOA Developer (sreedharevani.wordpress.com)
- Enhancing your JBoss Integration with JBoss BRMS (schabell.org)
- KISS My YAGNI (javacodegeeks.com)
- BI Software Market to Exceed $40 Billion by 2018 Despite Slowing Growth Rates, According to TBR’s Business Intelligence Software Vendor Benchmark (prweb.com)