A - Adapters


Adapters








Adapters are proxy processes that act as an interface between the Enterprise Information System (EIS) which include Legacy Application and communications protocols, and the Integration Bus. Adapters used in the Java Business Integration (JBI) Model are known as Binding Components. Binding Components have the same architecture and connectivity requirements as other JBI Components, and differ from adapters in that they implement Java Connector Architecture (JCA) as the standard connectivity protocol. There are no restriction for the installation of several  

An adapter is a special type of intermediary Service that maps the signatures and message formats of one Service to the requirements of a client. Adapters are particularly useful when two organizations have merged or collaborated based on an MOU and Services need to be accessed from one organization to another to serve the combined customer base.
Generally, an Adapter is a software component that acts as a proxy for another not equipped to communicate using the formats and protocols of external applications. 

Adapters became standard integration components in integration from the early days of Message Oriented Middleware (MOM). Frequently, systems that required the incorporation of an Adapter were Enterprise Information System (EIS), including databases, ERP and CRM components and Mainframe transaction processing systems, such as CICS.

                                          Adapters in the SOA Stack

Adapters are bi-directional conduit of input and output. They support dual communication protocol, a native protocol of the adapted component, which could be APIs, IIOP, RMI, etc., and the protocol of the system to which such components are to be integrated. 

In SOA, adapters lie below the Services layer. Typically they are connected to individual Services through the common bus, the Middleware or the ESB, for example, ensuring complete independence of the Adapter and its potential reuse in multiple Composite Applications.

The widespread use of adapters led to the development of specifications that govern their architecture and design in the Java universe. The Java EE Connector Architecture (JCA) which is the result of JSR 112. The specifications created a systematic approach to adapter development and management of the adaptation mechanism of the resources. 

Adapters in Java Business Integration (JBI) are referred to as Binding Components. They are specified to use .

Performance
As shown in the diagram above, Adapters introduce a new processing layer. This may represent an unavoidable source of inefficiency and established an architecture and design criterion aimed at minimizing the impact on performance. It is important to note, however, that the alternative, which would be establishing a direct connectivity with the external application by the Service or Services locks the Service or the Services to the current architecture, design and available protocols of the external application. This implies in most circumstances that a change in the revision of the external application requires redesigning the Service or Services that interconneted with it directly, a task greatly more onerous than upgrading a single adapter.

An Adapter is a software component introduced to facilitate communication between two other components. Normally such components use different mechanism to communicate with other components, and at times no such a feature at all. The Adapter is designed to comply with the requirements of each component for communication, or use available access to methods and functions in each component when necessary to act as mediator between them. As such, the adapter appears to a component as a proxy for the other component.
Adapters are normally bi-directional carrying messages to and from each attached component.

Adapters rely on whatever communication protocol is served by each of the components it connects to. These could be provided by the component designers or are offered in the form of APIs.
Adapters became standard components in integration when integrating one or more of the Enterprise Information System (see EIS), such as the human resource system or the financial system or their components.
In SOA (see SOA) adapters lie below the Services layer and connected them to the EIS through the common bus, the ESB (see ESB), as detailed Figure A-I, below.

Note that the processing layer that adapters introduce is, at time, a source of inescapable inefficiency suggesting specific styles in their architecture, design and coding to minimize their impact on performance.

Standard Adapters
Most vendors of integration products provide a set of adapters to integrate common IES products, such as RDBMS, Human Resources and others. Specialist vendors provide adapters for common integration products.

Adapter SDKs
Some integration products provide an SDK for developing custom adapters…

Adapters in Java Business Integration (see JBI)
Adapters are, at times, referred to as Binding Components (see Binding Components). They are specified to use Java EE Connector Architecture (see JCA).

-K – 2009-06-05.