Architecture overview of the BizTalk Adapter for Siebel eBusiness Applications

Describes the architecture of end-to-end solutions that use the Siebel adapter to operate on a Siebel system, and also the internal architecture of the Siebel adapter.

An understanding of the Siebel adapter architecture can help you:

  • Understand the relationship between the Siebel adapter and the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK.

  • Understand security boundaries, so that you can improve data security in your solution.

  • Understand the Siebel adapter binding properties.

  • Troubleshoot installation issues.

Adapter architecture overview

The Microsoft BizTalk Adapter for Siebel eBusiness Applications is built on top of the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK and runs on top of the WCF LOB Adapter SDK run time. The WCF LOB Adapter SDK provides a software framework and tooling infrastructure that the Siebel adapter employs to provide a rich set of features to users and adapter clients.

The Siebel adapter is a WCF custom binding. This binding contains a single custom transport binding element that enables communication with a Siebel system. The Siebel adapter is wrapped by the WCF LOB Adapter SDK run time and is exposed to applications through the WCF channel architecture.

Siebel COM data control

The Siebel adapter connects with the Siebel system through the Siebel COM Data Control library (sstchca.dll) and the Microsoft.Adapters.Siebel.SiebelBusinessObjectInterface.dll library. The Siebel COM Data Control is a component of the Siebel Web Client.

The Siebel COM Data Control interfaces enable an external client like the Siebel adapter to connect and communicate with a Siebel Application Object Manager on a Siebel Enterprise Server. The Siebel Object Manager and Siebel Enterprise Server as well as other connection parameters are specified in the Siebel adapter connection URI. For more information about the connection URI, see Create the Siebel System Connection URI.

The following figure shows the end-to-end architecture for solutions that are developed by using the Siebel adapter.

Siebel End-to-End Architecture

Consuming the adapter

The Siebel adapter exposes the Siebel system as a WCF service to client applications. To perform operations and access data on the Siebel system, client applications exchange SOAP messages with the Siebel adapter through WCF channels. The preceding figure shows four ways in which the Siebel adapter can be consumed.

  • Through a WCFchannel model application. A WCF channel model application performs operations on the Siebel system by using the WCF channel model to exchange SOAP messages directly with the Siebel adapter. For more information about developing solutions for the Siebel adapter by using the WCF channel model, see Develop SQL applications using the WCF Channel Model.

  • Through a WCF service model application. A WCF service model application calls methods on a WCF client to perform operations on the Siebel system. A WCF client models the operations exposed by the Siebel adapter as .NET methods. You can use the WCF LOB Adapter SDK or the ServiceModel Metadata Utility Tool (svcutil.exe) to create a WCF client class from metadata exposed by the Siebel adapter. For more information about the WCF service model and the Siebel adapter, see Develop SQL applications using the WCF Service model.

  • Through a BizTalk receive location or send port that is configured to use the Microsoft BizTalk WCF-Custom adapter. The WCF-Custom adapter enables the use of WCF extensibility features. By using the WCF-Custom adapter you can select and configure the Siebel Binding and the behavior for the receive location or send port. BizTalk transactions are supported by the BizTalk Layered Channel Binding Element, which can be loaded by setting a binding property on the Siebel Binding. For more information about how to use the Siebel adapter in BizTalk Server solutions, see Develop your BizTalk Applications.

  • Through an IIS-hosted Web service. In this scenario, a WCF service proxy generated by using the adapter is hosted in IIS using the standard WCF Http Binding. This exposes the service contract as a Web service to external users. IIS automatically hosts the adapter at run time, which, in turn, communicates with the Siebel system.

    The Siebel adapter and the Siebel COM Data Control library are always hosted in-process with the application or service that consumes the adapter.

Siebel adapter and WCF

WCF presents a programming model based on the exchange of SOAP messages over channels between clients and services. These messages are sent between endpoints exposed by a communicating client and service. An endpoint consists of:

  • An endpoint address, which specifies the location at which messages are received.

  • A binding, which specifies the communication protocols that are used to exchange messages.

  • A contract,which specifies the operations and data types that are exposed by the endpoint.

    A binding consists of one or more binding elements that stack on top of each other to define how messages are exchanged with the endpoint. At a minimum, a binding must specify the transport and encoding that are used to exchange messages with the endpoint. Message exchange between endpoints occurs over a channel stack that is composed of one or more channels. Each channel is a concrete implementation of one of the binding elements in the binding that is configured for the endpoint. The WCF documentation includes more details about WCF, and the WCF programming model.

    The Microsoft BizTalk Adapter for Siebel eBusiness Applications exposes a WCF custom binding, the Siebel Binding (Microsoft.Adapters.Siebel.SiebelBinding). By default, this binding contains a single custom transport binding element, the Siebel Adapter Binding Element (Microsoft.Adapters.Siebel.SiebelAdapter), which enables operations on a Siebel system. When using the Siebel adapter with BizTalk Server, you can set the EnableBizTalkCompatibilityMode binding property to load a custom binding element—the BizTalk Layered Channel Binding Element—on top of the Siebel Adapter Binding Element. The BizTalk Layered Channel Binding Element is implemented internally by the Siebel adapter and is not exposed outside the Siebel Binding.

    Microsoft.Adapters.Siebel.SiebelBinding (the Siebel Binding) and Microsoft.Adapters.Siebel.SiebelAdapter (the Siebel Adapter Binding Element) are public classes and are also exposed to the configuration system. Because the Siebel Adapter Binding Element is exposed publicly, you can build your own custom WCF bindings capable of extending the functionality of the Siebel adapter. For example, you could implement a custom binding to support Enterprise Single Sign-on (SSO) in WCF channel or service model programming. The reasons for doing this are to either:

  • Aggregate database operations into a single multifunction operation.

  • Perform schema transformation between operations that are implemented by a custom application and operations on the Siebel system.

Siebel adapter and WCF LOB Adapter SDK

The Microsoft BizTalk Adapter for Siebel eBusiness Applications implements a set of core components that:

  • Leverage functionality provided by the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK.

  • Provide connectivity to the Siebel system through the Siebel COM Data Control library (sstchca.dll).

    The WCF LOB Adapter SDK is the software layer through which the Siebel adapter interfaces with WCF; Siebel COM Data Control is the layer through which the Siebel adapter interfaces with the Siebel system. The following figure shows the relationships between the internal components of the Siebel adapter and between these components and the Siebel COM Data Control.

    Siebel Adapter Internal Architecture

See Also

Secure your Siebel applications Understand BizTalk Adapter for Siebel eBusiness Applications