使用 WCF 服务模型开发 Siebel 应用程序

WCF 提供了一个名为 WCF 服务模型的编程模型,这在一定程度上有助于解决另一个编程模型(WCF 通道模型)的某些限制。

在最低级别,Windows Communication Foundation (WCF) 提供了 WCF 通道模型,其中客户端通过在客户端和服务终结点之间建立的通道上交换 SOAP 消息来调用服务上的操作。 WCF 通道模型公开数据类型和方法,使你能够直接在 WCF 通道体系结构上操作。 使用 WCF 通道模型可以直接控制所创建的 SOAP 消息的内容,以及应用程序和 Siebel 适配器使用它们的方式。 但是,创建格式正确的 SOAP 消息以通过通道发送并验证返回的答复消息可能是一项详细而严格的任务。

但是,WCF 服务模型涉及使用代理类来调用目标服务上的操作或从客户端接收操作。 Siebel 适配器将 Siebel 系统公开为可对其调用操作的 WCF 服务。

  • 用于调用目标服务操作的代理类称为 WCF 客户端类。 此类使用强类型参数将服务公开的操作建模为 .NET 方法。 通过使用 WCF 服务模型,可以在 WCF 客户端上调用 Siebel 适配器作为 .NET 方法公开的操作。 有关 WCF 客户端的详细信息,请参阅 WCF 客户端概述

    使用工具从 Siebel 适配器公开的服务元数据生成 WCF 客户端类和关联的帮助程序代码。 可以使用以下任一工具:

  • WCF 附带的 ServiceModel 元数据实用工具 (svcutil.exe)

  • 添加适配器服务参考 Visual Studio 插件,随 Siebel 适配器一起提供

    添加适配器服务参考插件与 Visual Studio 设计体验集成,并提供了一个标准 Microsoft Windows 界面,可在适配器公开的操作上提供强大的浏览和搜索功能。 有关如何生成 WCF 客户端的详细信息,请参阅 为 Siebel 解决方案项目生成 WCF 客户端或 WCF 服务协定

为什么选择 WCF 服务模型或 WCF 通道模型?

由于 WCF 服务模型呈现了 .NET 程序员熟悉的模型,并隐藏了通过通道进行 SOAP 消息交换的基本复杂性,因此 WCF 服务模型通常是为 Siebel 适配器开发编程解决方案的最佳选择。 但是,在某些情况下,WCF 通道模型可能是更好的选择。 例如,在 SOAP 消息中的对象的 XML 表示形式与用于在 WCF 服务模型中表示对象的 .NET 类型之间序列化和取消序列化涉及将整个消息读取到内存中。

WCF 通道模型支持所有操作上的 XML 节点级流式处理。 在节点级流式处理中,每次只有 XML 消息的每个节点保存在内存中。 例如,对于某些操作,如果执行返回大型结果集的查询,则 WCF 通道模型可能是应用程序的更好选择。 有关使用 WCF 通道模型的详细信息,请参阅 使用 WCF 通道模型开发 Siebel 应用程序

本节中的主题包含有助于创建和使用 WCF 服务模型以使用 Siebel 适配器开发应用程序的信息、过程和示例。

本节内容

另请参阅

开发 Siebel 应用程序