规划发布 Web 服务

BizTalk Server为 Web 服务提供内置支持。 它使你能够在业务流程中重复使用和聚合现有 Web 服务。

概述

还可以发布 (,) 将业务流程公开为 Web 服务,以将 Web 服务逻辑与业务流程逻辑分开,从而根据需要更新或替换业务逻辑,而无需接触用于 Web 服务逻辑的代码。 此功能称为实现"模块化代码"。通常,在可能的情况下实施模块化代码是最佳做法。 发布 Web 服务要求启用 Web 服务,并且使用 Web 服务将业务流程或架构发布为 Web BizTalk Web 服务发布向导。

BizTalk Server SOAP 适配器实现对 Web 服务中的本机适配器的支持。 本机适配器支持为 Web Services 提供了可伸缩性、容错功能和跟踪功能,且无需为此编写代码。 有关 SOAP 适配器详细信息,请参阅 SOAP 适配器

Web 服务的规划可以分为两类:规划 Web 服务的发布和 Web 服务的使用规划。 本主题介绍发布 Web 服务应遵循的步骤。

启用 Web Services

若要发布 Web Services,必须配置 Internet 信息服务 (IIS)、BizTalk 独立主机以及 Windows 用户和组帐户。 本部分概述了如何启用 Web 服务。 有关启用 Web 服务的详细信息,请参阅 IIS 文档。

Internet Information Services

可以将 Web 服务发布到Windows配置了 IIS 的 ASP.NET。 在 IIS 中,所有 Web 服务在 ASP.NET 进程中运行。

IIS 使用应用程序池处理 Web 服务请求。 IIS 支持多个应用程序池,每个应用程序池进程可以在不同的用户上下文中运行。

BizTalk 独立主机

若要启用 Web 服务,必须在 BizTalk Server。 独立主机表示外部进程,例如 ISAPI 扩展 ASP.NET 不创建BizTalk Server控制的进程。 这些类型的外部进程必须承载某些适配器,如 HTTP/S 和 SOAP。

该BizTalk Server Configuration Manager创建 BizTalkServerIsolatedHost,BizTalk Server用作默认独立主机。 默认情况下,BizTalk Isolated Host Users 组是与此主机关联的 Windows 组的名称。 有关主机和主机实例详细信息,请参阅 管理 BizTalk 主机和主机实例

一个独立主机实例只能运行一个适配器。 如果用一个独立主机配置 HTTP 和 SOAP 适配器的接收处理程序,则必须创建两个应用程序池,每个适配器对应一个应用程序池。

例如,如果计划配置两个独立的主机,如下所示:

独立主机名 接收位置
独立主机 1 HTTP_ReceiveLocation1A

HTTP_ReceiveLocation1B

SOAP_ReceiveLocation1注意:独立主机 1 用于 SOAP 和 HTTP 适配器的接收处理程序。
独立主机 2 HTTP_ReceiveLocation2

可以创建四个虚拟目录,每个接收位置一个,如下所示:

接收位置 虚拟目录
HTTP_ReceiveLocation1A IIS_Virtual_Directory1A
HTTP_ReceiveLocation1B IIS_Virtual_Directory1B
SOAP_ReceiveLocation1 IIS_Virtual_Directory1C
HTTP_ReceiveLocation2 IIS_Virtual_Directory2

然后,必须为虚拟目录创建至少三个应用程序池,如下所示:

注意

必须至少为每个独立主机创建一个应用程序池。

虚拟目录 应用程序池 说明
IIS_Virtual_Directory1A

IIS_Virtual_Directory1B
AppPool_Host1_HTTP 不需要单独的应用程序池,原因是所有接收位置都具有相同的独立主机(独立主机 1)和相同的协议。
IIS_Virtual_Directory1C AppPool_Host1_SOAP 需要单独的应用程序池,原因是此接收位置使用的协议 (SOAP) 与同一主机(独立主机 1)中其他接收位置使用的协议不同。
IIS_Virtual_Directory2 AppPool_Host2_HTTP 需要单独的应用程序池,原因是此接收位置在独立主机 1 以外的主机下运行。

创建应用程序池时,请记住以下要点:

  • 必须将应用程序池的用户帐户添加到独立主机的相应本地或域组中。 请参阅Windows组和用户帐户BizTalk Server

  • 你需要根据上述表格在独立主机实例和相应的应用程序池之间匹配用户帐户。 有关独立主机实例和应用程序池的用户帐户之间的关系详细信息,请参阅 如何更改服务帐户和密码

单一服务器安装的数据库访问

如果 BizTalk Server 和 BizTalk 管理数据库驻留在同一台服务器上,则应该将 ASP.NET 工作进程或 IIS 应用程序池的用户上下文设置为本地 ASPNET 用户帐户,或者设置为具有最小特权的本地或域用户帐户。

多服务器安装的数据库访问

如果BizTalk Server并且 BizTalk 管理数据库驻留在不同的服务器上,则应该将 ASP.NET 工作进程或 IIS 应用程序池的用户上下文更改为域用户帐户。

实现多服务器部署时,独立主机Windows组必须存在于 BizTalk 数据库服务器所属的域中。

最小化帐户特权和用户权限

使用独立主机可为在外部进程中运行的适配器赋予访问与 BizTalk Server 交互所需的最小数量资源的权限。 对于更安全的部署,应为外部进程的用户上下文提供最小特权。

安全推荐BizTalk Web 服务发布向导

BizTalk Web Services 发布向导创建的虚拟目录将从父虚拟目录或网站继承访问控制列表 (ACL) 和身份验证要求。 如果父虚拟目录或网站允许匿名访问,则 BizTalk Web Services 发布向导将在创建此虚拟目录时删除这一功能。

为已发布 ASP.NET 启用 4.0

请参阅如何为已发布 ASP.NET 4.0 启用 4.0

使用 BizTalk Web 服务发布向导

有关将业务流程发布为 Web 服务的信息,请参阅将 业务流程发布为 Web 服务

有关将架构发布为 Web 服务的信息,请参阅将 架构发布为 Web 服务

规划 WCF 服务的发布

BizTalk Server引入了对 Windows Communication Foundation (WCF) 的内置) 。 BizTalk Server可重复使用和聚合业务流程中所有现有的 WCF 服务。 BizTalk Server WCF 服务中实现对本机适配器的支持。 本地适配器支持为 WCF 服务提供了可伸缩性、容错功能和跟踪功能,且用户无需为此编写代码。 有关 WCF 适配器的信息,请参阅 WCF 适配器

有关在客户端中规划 WCF 服务BizTalk Server,请参阅发布 WCF 服务

另请参阅

规划使用 Web 服务