webMethods Adapter Development Kit Documentation
About This Help
Document Conventions
Online Information and Support
Data Protection
webMethods Adapter Development Kit Installation and User’s Documentation
Overview
What is the Adapter Development Kit?
Points of Integration
Data-Level Integration
Application Interface-Level Integration
Method-Level Integration
User Interface-Level Integration
Development-Time Tasks and Support
Create the Adapter Definition
Define Connections and Connection Factories
Define Adapter Service Templates
Define Polling Notification Templates
Define Listener Notification Templates
Define Metadata
Transaction Support
Exception Support
Logging Support
Internationalization Support
Design-Time Tasks
The Run-Time Conceptual Model
Installing, Upgrading, and Uninstalling the Adapter Development Kit
Overview
Requirements
Installing Adapter Development Kit 6.5
Before You Begin
Install Adapter Development Kit 6.5
Upgrading to Adapter Development Kit 6.5
Uninstalling Adapter Development Kit 6.5
The Adapter Definition
Overview
Setting Up Your Environment for Adapters
Modifying Your Classpath
Including Jar Files in Your Classpath
Specifying Your JDK in Your Classpath
Modifying Your Classpath for Startup and Shutdown Services
Creating an Adapter Package
Registering Your Adapter's Major Code with Software AG
Adapter Definition Classes
Adapter Definition Implementation Classes
Creating a WmAdapter Implementation Class
Describing the Adapter to Integration Server
Describe WmAdapter method
Describing the Adapter's Resources to Integration Server
Initializing and Cleaning Up
Adding Custom DSPs to the Adapter Interface
Internationalization Considerations for Custom DSPS
Example WmAdapter Implementation Class
Creating Resource Bundles
Resource Bundle Lookup Keys
Considerations for Adapter Definition Lookup Keys
Considerations for Specifying URLs in Resource Bundles
Example Resource Bundle Implementation Class
Deploying the Adapter
Creating Adapter Startup and Shutdown Services
Example Adapter Startup and Shutdown Services
Compiling the Adapter
Debugging the Adapter
Registering the Adapter Startup and Shutdown Services in Software AG Designer
The Adapter Load Process
The Adapter Unload Process
Reporting Adapter Fix Levels
Connections
Overview
Connection Factories
Connection Management Properties
Connection Management
Overview of Creating Connections
Connection Classes
Adapter Connection Implementation Classes
Creating a WmManagedConnection Implementation Class
Example WmManagedConnection Implementation Class
Creating a WmManagedConnectionFactory Implementation Class
Connection Callbacks
webMethods Metadata Parameters
Metadata Parameter Names
Metadata Parameter Arguments
Metadata Parameter get Accessor Methods
The WmDescriptor Interface
Example WmManagedConnectionFactory Implementation Class
Updating the Resource Bundle
Updating AdapterTypeInfo
Connection Class Interactions
Retrieving Connection Metadata
Enabling Connection Nodes
Creating Connections
Disabling Connection Nodes
Releasing Connections
Receiving AdapterConnectionExceptions
Configuring and Testing Connection Nodes
Adapter Services
Overview
Adapter Service Classes
Registering Adapter Service Templates in Connection Factories
The Metadata Model for Adapter Services
Metadata Parameters for Adapter Services
The WmTemplateDescriptor Interface
The WmTemplateDescriptor Methods
Resource Domains
Registering Resource Domains
The addResourceDomain Method
The addResourceDomainLookup Method
Example of Registering Resource Domains
Associating Metadata Parameters with Resource Domains
Parameter Dependencies
Populating Resource Domains with Values
Resource Domain Lookups
Adapter Check Value Callbacks
Field Maps
Tuples
Field Maps with Resource Domain Dependencies
Adapter Service Node Signatures
Implementing Resource Domain Lookups for Signature Names and Data Types
Field Name String Values
Data Type String Values
Adapter Service Execution
Interacting with the Pipeline
The getIData Method
Adapter Service Template Interactions
Creating Adapter Service Nodes
Selecting Connection Nodes
Entering Names and Folders for Adapter Service Nodes
Viewing or Editing Adapter Service Nodes
Executing Adapter Service Nodes
Adapter Service Implementation
Defining a WmAdapterService Implementation Class
Updating the Resource Bundle
Specifying Adapter Service Configuration Data
Creating "Data Entry" Parameters
Specifying the Display and Data Entry Attributes of the "Data Entry" Parameters
Placing the Column Names and Column Data Types Parameters in a Field Map
Placing the Column Names and Column Types Parameters in a Tuple
Implementing Adapter Service Configuration Resource Domains
Manipulating Adapter Service Signature Properties
Template-Based Signature Properties
Signature Field Properties
Specifying Adapter Service Signature Data
Specifying Adapter Service Signature Resource Domains
Implementing the WmAdapterService.execute Method
Code Example 1: WmAdapterService Implementation Class
Code Example 2: WmManagedConnection Implementation Class Updates
Code Example 3: Resource Bundle Updates
Configuring and Testing Adapter Service Nodes
Polling Notifications
Overview
Implementing Polling Notifications
Polling Notification Classes
The Metadata Model for Polling Notifications
Polling Notification Callbacks
The runNotification Method
The Exactly Once Notification Feature
Polling Notification Interactions
Loading Polling Notification Templates
Creating and Loading Polling Notification Nodes
Updating Polling Notifications
Enabling Polling Notifications
Disabling Polling Notifications
Polling Notification Implementation
Defining a WmPollingNotification Implementation Class
Updating the fillAdapterTypeInfo Method
Updating the Resource Bundle
Specifying Configuration Metadata for Polling Notifications
Implementing Configuration Resource Domains for Polling Notifications
Specifying Notification Signatures (Document Type)
Manipulating Adapter Notification Document Properties
Implementing Signature Resource Domains
Implementing the runNotification Method and Callbacks
Configuring and Testing Polling Notification Nodes
Example Polling Notification: SimpleNotification
Cluster Support for Polling Notifications
Callback Coordination
Polling Coordination
Configuration Settings
Global Settings
Adapter-Specific Settings
Node-Specific Settings
Listener Notifications
Overview
Synchronous and Asynchronous Listener Notifications
Listener Classes
Asynchronous Listener Notification Classes
Synchronous Listener Notification Classes
Listener and Listener Notification Interactions
Listener Implementation
Defining a WmConnectedListener Implementation Class
Implementing the shutdownCallBack() Method
Updating the fillAdapterTypeInfo Method
Updating the Resource Bundle
Specifying Configuration Metadata
Restricting Listeners to Register Specified Notification Templates
Implementing Run-Time Code
Listener Notification Implementation
Defining a WmAsyncListenerNotification Implementation Class
Updating the fillAdapterTypeInfo Method
Specifying Metadata
The useParam Argument of setResourceDomain
Implementing Resource Domains
Implementing the supports and runNotification Methods
Configuring and Testing Listener Nodes and Listener Notification Nodes
Design-Time Tasks
Overview
Package Management
Package Dependency Considerations for Namespace Node Packages
Package Dependency Considerations for Namespace Nodes
Group Access Control
Enabling and Disabling Packages
Loading, Reloading, and Unloading Packages
Reloading Packages Manually
Unloading Packages
Configuring Connection Nodes
Configuring Adapter Service Nodes
Polling Notification Nodes
Configuring Polling Notification Nodes
Scheduling and Enabling Polling Notification Nodes
Listener Notification Nodes
Configuring Listener Nodes
Configuring Listener Notification Nodes
Enabling Listener Notification Nodes and Listener Nodes
Run Time Activities
Overview
Retry and Recovery Architecture
Detection
Removal/Regeneration
Retry Mechanisms
Putting It All Together…
Run Time Connection Allocation for Adapter Services
Dynamically Selecting a Connection Node
Partitioned Connection Pools
Implementing Partitioned Connection Pools
Extending WmConnectionRequestInfo
Extending WmConnectionSpec
Updating the Connection Factory
Alternative Approaches to Metadata
Overview
Implementing Metadata Parameters Using External Classes
An Alternative Approach to Organizing Resource Domains
Using Resource Bundles with Resource Domain Values
Integration Server Transaction Support
Overview
Simple Transactions
More Complex Transactions
Implicit Transaction Usage Cases
One Local Transaction
Three XAResource Transactions
One Local Transaction and One XAResource Transaction
Explicit Transaction Usage Cases
Two Local Transactions
Two XAResource Transactions
One XAResource Transaction and Two Nested Local Transactions
One XAResource Transaction and One Nested Local and XAResource Transaction
Built-In Services For Explicit Transactions
WmART.pub.art.transaction:commitTransaction
WmART.pub.art.transaction:rollbackTransaction
WmART.pub.art.transaction:setTransactionTimeout
WmART.pub.art.transaction:startTransaction
Changing the Integration Server's Transaction Timeout Interval
Transaction Error Situations
Specifying Transaction Support in Connections
Using the Services for Managing Namespace Nodes
Overview
Connection Services
Adapter Service Services
Listener Services
Listener Notification Services
Polling Notification Services
wm.art.dev.listener:analyzeListenerNodes
wm.art.dev.notification:analyzeListenerNotifications
wm.art.dev.service:createAdapterServiceNode
wm.art.dev.connection:createConnectionNode
wm.art.dev.listener:createListenerNode
wm.art.dev.notification:createListenerNotificationNode
wm.art.dev.notification:createPollingNotificationNode
wm.art.dev.service:deleteAdapterServiceNode
wm.art.dev.connection:deleteConnectionNode
wm.art.dev.listener:deleteListenerNode
wm.art.dev.notification:deleteListenerNotificationNode
wm.art.dev.notification:deletePollingNotificationNode
wm.art.dev.service:fetchAdapterServiceTemplateMetadata
wm.art.dev.connection:fetchConnectionManagerMetadata
wm.art.dev.connection:fetchConnectionMetadata
wm.art.dev.listener:fetchListenerTemplateMetadata
wm.art.dev.notification:fetchListenerNotificationTemplateMetadata
wm.art.dev.notification:fetchPollingNotificationTemplateMetadata
wm.art.dev.service:updateAdapterServiceNode
wm.art.dev.connection:updateConnectionNode
wm.art.dev.listener:updateListenerNode
wm.art.dev.notification:updateListenerNotificationNode
wm.art.dev.notification:updatePollingNotificationNode
wm.art.dev.listener:updateRegisteredNotifications
Using the Sample Adapter
Overview
The Sample Server
Sample Server Client APIs
Transaction Control
Customizing the Behavior of the Sample Server
Starting the Sample Server
Banking Functions
Banking Event Queries
Banking Alerts
Prerequisites for Code Compilation
Phase 1: Creating an Adapter Definition
Compiling the Phase 1 Implementation
Before you begin
Creating the WmSampleAdapter1 Package
Compiling the WmSampleAdapter1 Package
Testing the WmSampleAdapter1 Package
Disabling or Deleting Your Copy of the Phase 1 Implementation
Phase 2: Adding a Connection
Implementing the Connection Template
Revised Code From Phase 1
Compiling the Phase 2 Implementation
Creating the TestSampleAdapter2 Package
Configuring the Connection Node
Enabling the Connection Node
Disabling or Deleting Your Copy of the Phase 2 Implementation
Phase 3: Adding Adapter Services
Implementing the Adapter Service Template
Implementing the execute Method in the FunctionInvocation Class
Revised Code From Phases 1 and 2
Compiling the Phase 3 Implementation
Creating the TestSampleAdapter3 Package
Configuring the Deposit Adapter Service Node
Testing the Deposit Adapter Service Node
Disabling or Deleting Your Copy of the Phase 3 Implementation
Phase 4: Adding Polling Notifications
Implementing the Polling Notification Template
Implementing the runNotification Method
Revised Code From Phases 1, 2, and 3
Compiling the Phase 4 Implementation
Configuring and Testing the Polling Notification Nodes
Creating the TestSampleAdapter4 Package
Configuring the underBalancePolling Notification Node
Creating the Flow Service for the underBalancePolling Notification Node
Creating the Trigger for the underBalancePolling Notification Node
Scheduling and Enabling the underBalancePolling Notification Node
Testing the underBalancePolling Notification Node
Disabling or Deleting Your Copy of the Phase 4 Implementation
Phase 5: Adding Listener Notifications
Implementing the Listener
Implementing the Asynchronous Listener Notification Template
Revised Code From Phases 1, 2, 3, and 4
Configuring and Testing the Listener and the Listener Notification Nodes
Creating the TestSampleAdapter Package
Configuring the Listener Node
Configuring the checkDepositListener Notification Node
Creating the Flow Service for the checkDepositListener Notification Node
Creating the Trigger for the checkDepositListener Notification Node
Enabling the checkDepositListener Notification Node and the Listener Node
Testing the checkDepositListener Notification Node
Copyright
webMethods Adapter Development Kit Documentation
Copyright