Share via


Adapter Anatomy

The adapter built using WCF LOB Adapter SDK is comprised of design-time and run-time components. The design-time user experience consists of browsing, searching and extracting Service Contract with choice of operations from the adapter. The run-time provides features such as Connection Pool Management and in-memory Metadata Cache Management.

 

Adapter SDK Channel Implementation

The adapter built using Adapter SDK is basically a transport channel. This component intercepts messages coming in from a WCF client (channel factory) and sends messages to the WCF service (channel listener). It understands the internal WCF channel shapes (IInputChannel, IOutputChannel, IRequestChannel, etc.) and accordingly invokes the appropriate Metadata Handlers and Message Exchange Handlers in the adapter.

Handles the Browse and Search calls and invokes relevant queries on the adapter’s Metadata Handlers.

Metadata Cache Management

It maintains the in-memory cache for the adapter metadata (based on the Adapter SDK Metadata Object Model), used by the Adapter SDK for building Service Description Contracts and within Metadata Driven XML Reader / Writer.

Metadata Exchanger

It handles the client’s metadata messages including WS-MEX and Adapter SDK’s Search / Browse / Get Metadata.

<o:p></o:p>

Dynamic Contract (WSDL) Builder

This component is responsible for building the contract for the client from the adapter’s metadata based on the client’s request (after searching and browsing).

(Target System) Connection Pool Management

This component manages the adapter’s connections.

(Target System) Connection URI Builder

The Connection Uri Builder component is a helper class for the Adapter Developer to define the connection string for target system in a Uri format. It contains “Build” and “Parse” methods that are used by the Adapter Metadata Utility Tool to help the Adapter Consumer define the connection string. It also provides a secure representation for used in tracing and logging.

Comments

  • Anonymous
    July 14, 2007
    hi Sonu, my team is now working on a WCF LOB adapter that consumes a tcp-ip based system. We would like to know more about the connection pooling in this case since all samples just describes pooling over SQL Connections. one more thing, I'd like to know more about the message flow between Readers (Adapter Reader, Operation Reader, Structured Types Reader), and writers as well. Thanks