user manual

Chapter 27: Using VisiConnect 315
Application Development Overview
-->
<!ELEMENT role-name (#PCDATA)>
<!--
The authorization-domain element specifies the authorization domain to
be used for determining the definable set of valid user roles.
-->
<!ELEMENT authorization-domain (#PCDATA)>
<!ELEMENT description (#PCDATA)>
Application Development Overview
Developing Application Components
Common Client Interface (CCI)
The client APIs used by application components for EIS access can be
categorized as follows:
The standard common client interface (CCI) defined in Section 9 of the
Connectors 1.0 specification.
A general client interface specific to the type of Resource Adapter and its
underlying EIS. For example, JDBC is one such interface for RDBMSs.
A proprietary client interface specific to the particular Resource Adapter
and its underlying EIS. For example, the CICS Java Gateway is one such
interface for the IBM CICS transaction processor, and the JFC for the SAP
R/3 enterprise resource planner is another.
The Connectors 1.0 specification defines the CCI for EIS access. The CCI is a
standard client API for application components that enables these and EAI
frameworks to drive interactions across heterogeneous EISs. The CCI is
primarily targeted for Enterprise Application Integration (EAI), third-party
enterprise tool vendors, and migration of legacy modules to the J2EE
Platform. In the CCI, a connection factory is a public interface that enables
connection to an EIS instance. The ConnectionFactory interface is
implemented by the Resource Adapter to provide this service. An application
looks up a ConnectionFactory instance in the JNDI namespace, and uses it to
request to obtain EIS connections. The application then uses the returned
Connection interface to access the EIS. To provide a consistent application
programming model across both CCI and EIS-specific APIs, the
ConnectionFactory and Connection interfaces comply to the Interface
Template design pattern. This defines the skeleton of the connection creation
and connection closing, deferring the appropriate steps to subclasses. This
allows for these interfaces to be easily extended and adapted to redefine
certain steps of connection creation and closing without changing these
operations' structure. For more information on the application of the Interface