Read how WCF is used by the WCF LOB Adapter SDK

The WCF LOB Adapter SDK extends the WCF channel architecture and depends on the WCF runtime to provide the basic messaging services required to expose adapter functionality and exchange information.

The WCF LOB Adapter SDK provides a framework for writing adapters, surfacing them in WCF, and complementing them with common adapter elements such as metadata and connection pooling. It also consists of support tools to enhance the experience such as the Add Adapter Service Reference Plug-in for .NET applications and Consume Adapter Service Add-in for BizTalk Server applications and the WCF LOB Adapter Development Wizard.

It is the responsibility of the WCF to expose services to a wide array of consuming applications, to manage the flow of messages between different endpoints, and to provide an SDK and tools to customize, configure, and monitor message flow. For example, a developer can customize the behavior of a WCF LOB Adapter SDK by extending its channel with custom message handlers.

The relationship between the WCF LOB Adapter SDK and WCF is shown in the following high-level architectural figure.

Image that shows the relationship between the WCF LOB Adapter SDK and WCF.

The WCF LOB Adapter SDK is built on top of WCF as an extension to the WCF channel model. It provides a domain-specific and simplified object model and tool set for building adapters as custom WCF channels. Adapters built using the WCF LOB Adapter SDK are surfaced as custom WCF bindings.

The following figure shows the outbound message exchange using a given adapter binding.

Image that shows the outbound message exchange using a given adapter binding.

The following figure shows the inbound message exchange using a given adapter binding.

Image that shows the inbound message exchange using a given adapter binding.

For more information about the WCF channel model, see Channel Model Overview.

WCF Services and the WCF LOB Adapter SDK

When developing a typical WCF service, the first step is to create the contract for the service that is shared with the outside world that describes how to communicate with the service. This contract essentially specifies the collection and structure of messages required to access the operations offered by the service.

Once this contract is exposed as a service, the Service Model Metadata Utility Tool (Svcutil.exe) can be used to create a WCF client to consume it. The contract provides information about a static set of operations and messages that must not change.

Image that shows a typical WCF service.

In contrast, adapters built using the WCF LOB Adapter SDK provide a dynamic set of metadata about the collection of operations and data that are available within a line-of-business system. The line-of-business system often has too many operations to be described in one contract and may have new operations added to respond to emerging business needs.

For example, a line-of-business system may provide account management operations. After identifying a need to streamline the creation of new customer accounts, the company updates the line-of-business system to include the new operation. An adapter built using the WCF LOB Adapter SDK exposes this operation in the metadata it provides to clients.

At design time, the WCF LOB Adapter SDK-based adapter generates contracts dynamically to meet the needs of the line-of-business system.

Image that shows the dynamically-generated contracts that meet the needs of the line-of-business system.

The ASDK provides Add Adapter Service Reference Plug-in and Consume Adapter Service Add-in tools for the adapter consumer to generate dynamic contracts at design time.

At runtime, when the message flows into the adapter written using the WCF LOB Adapter SDK, the adapter often must take a series of actions on the receive message. These actions include:

  • Looking up metadata pertaining to the message

  • Opening the message

  • Interpreting the message

  • Calling the appropriate functions in the line-of-business system

    In the case of a WCF service, messages simply pass through without being resolved through metadata.

See Also

BizTalk Adapter for Oracle Database and the WCF LOB Adapter SDK