bea.com | products | dev2dev | support | askBEA

Download Docs | Site Map | Glossary
Search

Developing Adapters

Development Tools

The ADK provides a set of robust tools to assist you in developing adapters and the design-time GUI. This section describes these tools. Specifically, it includes information about the following subjects:

- Sample Adapter

- GenerateAdapterTemplate Utility

- ADK Javadoc

- Ant-Based Build Process

- XML Tools

Sample Adapter

To help you start building an adapter, the ADK provides a sample adapter with code examples that are not specific to EIS. Do not confuse this sample adapter with the DBMS sample adapters that are also provided by WebLogic Integration; the DBMS sample adapter is documented in Learning to Develop Adapters Using the DBMS Sample Adapter. You can find the DBMS sample adapter in WLI_HOME/adapters/dbms.

Why Use the Sample Adapter?

The purpose of the sample adapter is to free you from much of the coding necessary to build an adapter. It provides concrete implementations of key abstract classes that require customization only to meet the requirements of the EIS you are using. In addition, the ADK provides GenerateAdapterTemplate, a utility with which you can quickly clone the sample adapter development tree for use by the adapter you are developing. See GenerateAdapterTemplate Utility.

What Is In the Sample Adapter?

The sample adapter contains:

  sample.cci.ConnectionImpl

  A concrete implementation of the Connection interface that represents an application-level handle used by a client to access the underlying physical connection.

  sample.cci.InteractionImpl

  A class that demonstrates how to implement a design pattern using the DesignTimeInteractionSpecImpl class.

  sample.cci.InteractionSpecImpl

  An interface that provides a base implementation that you can extend by using getter and setter methods for the standard interaction properties.

  sample.client.ApplicationViewClient

  A class that demonstrates how to invoke a service and listen for an event on an application view.

  sample.eis.EIS
  sample.eis.EISEvent
  sample.eis.EISListener

  Classes that represent, for demonstration purposes, a simple EIS.

  sample.event.EventGenerator

  A concrete extension to AbstractPullEventGenerator that shows how to extend the ADK base class to construct an event generator.

  sample.event.OfflineEventGeneratorTestCase

  A class you can use to test the inner workings of your event generator outside WebLogic Server.

  sample.spi.ManagedConnectionFactoryImpl

  A concrete extension to AbstractManagedConnectionFactory that you can customize for a specific EIS.

  sample.spi.ManagedConnectionImpl

  A concrete extension to AbstractManagedConnection that you can customize for a specific EIS.

  sample.spi.ConnectionMetaDataImpl

  A concrete extension to AbstractConnectionMetaData that you can customize for a specific EIS.

  sample.spi.NonManagedScenarioTestCase

  A class you can use to test your SPI and CCI classes in an unmanaged scenario.

  sample.web.DesignTimeRequestHandler

  A concrete extension to AbstractDesignTimeRequestHandler that shows how to add an event or service at design time.

Note: For details about the classes extended by those in the sample adapter, see the ADK Javadocs.

GenerateAdapterTemplate Utility

To facilitate use of the sample adapter, the ADK provides GenerateAdapterTemplate, a command-line utility you can use to create a new adapter development tree by cloning the sample tree. For complete instructions on using this tool, see Creating a Custom Development Environment.

ADK Javadoc

ADK classes, interfaces, methods, and constructors are defined in the development kit's Javadoc. Javadoc is included with the WebLogic Integration installation. It resides in WLI_HOME/adapters/ADAPTER/docs/api, where ADAPTER is the name of the adapter, such as Sample or DBMS. For example, your Javadoc may be installed in WLI_HOME/adapters/dbms/docs/api.

Ant-Based Build Process

The ADK employs a build process based on Ant, a 100% pure Java-based build tool. For the ADK, Ant does the following:

- Creates a Java archive (JAR) file for the adapter.

- Creates a WAR file for an adapter's Web application.

- Creates a RAR file for a J2EE-compliant adapter.

- Bundles the other components in this list into an EAR file for deployment.

Why Use Ant?

Traditionally, build tools are shell-based. Like shell commands, they evaluate a set of dependencies and then execute various tasks. While the advantage of such tools is that it is simple to extend them by using or writing any program for your operating system (OS), the disadvantage is that you are limited to that OS.

Ant is preferable to shell-based make tools for the following reasons:

- It is extended with Java classes instead of shell-based commands.

- The configuration files are based on XML instead of shell commands: they invoke a target tree in which various tasks get executed. Each task is run by an object that implements a particular task interface. While this arrangement removes some of the expressive power inherent in the ability to construct a shell command, it makes your application portable across platforms.

- Ant allows you to execute various OS-specific shell commands.

For complete instructions for setting up Ant, see Step 2c: Set Up the Build Process.

XML Tools

The ADK includes the XML Toolkit, a set of two XML development tools that are considered part of the metadata support layer for the design-time framework:

- XML Schema API—Based on the Schema Object Model (SOM), this API is used to build XML schemas programmatically. The SOM is a set of tools that enables you to extract many common details, such as the syntactical complexities of XML schema operations, so you can focus on the more fundamental aspects of a schema.

- XML Document API—Based on IDocument, this API provides the x-path interface to a document object model (DOM) document.

For instructions on using these tools, see XML Toolkit.

WebLogic Integration provides Javadoc for both APIs:

- For SOM Javadoc, go to WLI_HOME/docs/apidocs/com/bea/schema.

- For IDocument Javadoc, go to WLI_HOME/docs/apidocs/com/bea/document.