Develop Siebel applications using the WCF Service Model
WCF provides a programming model called the WCF service model, which, in part, helps address some of the limitations of another programming model—the WCF channel model.
At the lowest level, the Windows Communication Foundation (WCF) presents the WCF channel model in which clients invoke operations on a service by exchanging SOAP messages over a channel established between client and service endpoints. The WCF channel model exposes data types and methods that enable you to operate directly on the WCF channel architecture. The WCF channel model provides you with direct control over the contents of the SOAP messages you create and over the way both your application and the Siebel adapter consume them. However, creating well-formed SOAP messages to send over a channel and validating the reply messages returned can be a detailed and exacting task.
The WCF service model, however, involves the use of proxy classes to invoke operations on a target service or to receive operations from a client. The Siebel adapter exposes the Siebel system as a WCF service on which you can invoke operations.
The proxy class used to invoke operations on a target service is called a WCF client class. This class models the operations exposed by a service as .NET methods with strongly-typed parameters. By using the WCF service model, you can invoke the operations exposed by the Siebel adapter as .NET methods on the WCF client. For more information about WCF clients, see WCF Client Overview.
You use tools to generate a WCF client class and associated helper code from the service metadata that the Siebel adapter exposes. You can use either of the following tools:
The ServiceModel Metadata Utility Tool (svcutil.exe), which ships with WCF
The Add Adapter Service Reference Visual Studio Plug-in, which ships with the Siebel adapter
The Add Adapter Service Reference Plug-in is integrated with the Visual Studio design experience and presents a standard Microsoft Windows interface that provides powerful browsing and searching capabilities on operations exposed by the adapter. For more information about how to generate a WCF client, see Generate a WCF Client or a WCF service contract for Siebel solution Artifacts
Why Choose the WCF Service Model or the WCF Channel Model?
Because it presents a model that is familiar to .NET programmers and hides the underlying complexities of SOAP message exchange over a channel, the WCF service model is often the best choice to develop programming solutions for the Siebel adapter. However, there are scenarios in which the WCF channel model might be a better choice. For example, serializing and de-serializing between the XML representation of objects in a SOAP message and the .NET types used to represent them in the WCF service model involves reading the entire message into memory.
The WCF channel model provides support for XML node-level streaming on all operations. In node-level streaming, only each node of the XML message is held in memory at any one time. For certain operations, for example, if you are performing queries that return large result sets, the WCF channel model might be a better choice for your application. For more information about using the WCF channel model, see Develop Siebel Applications using the WCF Channel Model.
The topics in this section contain information, procedures, and examples to help you create and use the WCF service model to develop applications by using the Siebel adapter.
In This Section
Generate a WCF Client or a WCF service contract for Siebel solution Artifacts
Run Operations on Business Components with the Siebel adapter using the WCF Service Model
Invoke Business Service Methods with the Siebel adapter using the WCF Service Model