体系结构图

AppFabric 由 Windows 服务器中托管和管理 WCF 和 WF 服务的 Windows Process Activation Service (WAS) 和应用程序服务器角色演变发展而来。同样,AppFabric 与 .NET Framework 4 密切相关,并且充分利用作为框架产品主要功能提供的多种功能,例如暂留、监控和托管 WCF 和 WF 服务。AppFabric 还与 Internet Information Services (IIS) 相集成,以在 IIS 管理控制台中提供管理和监控工具。

以下体系结构图显示了部分 AppFabric 以及 .NET Framework 4 和 AppFabric 使用的 IIS 组件:

体系结构概述图

在本主题中,我们将通过提供有关体系结构图中介绍的每项技术的进一步详细信息来详细介绍整个 AppFabric 体系结构。

增强 Windows Process Activation Service

因为体系结构图的底部显示了 AppFabric 作为构建基础的基础技术,因此我们以 IIS 和 WAS 开始。

IIS 和 WAS

AppFabric 构建的基础是 IIS 和 WAS 提供的强大的托管环境。WAS 中的托管应用程序提供面向服务的体系结构 (SOA) 所需的多种功能,例如:

  • 基于消息的应用程序激活,允许应用程序动态启动和停止以响应传入消息。

  • 强大的应用程序和工作进程回收,维护运行应用程序的运行状况。

  • 应用程序配置和管理。

  • 站点中应用程序的组织,用于解决问题和管理。在运行时,应用程序与定义运行时进程边界的应用程序池相关联。

但是,对于提供的所有功能,找不到 WCF 和 WF 服务的部署、管理和监控功能,需要应用程序开发人员来提供部署机制、管理指导和自定义监控解决方案。同时,由于按需激活和进程回收,因此托管长期运行进程(例如,IIS 和 WAS 中的工作流)十分具有挑战。如果应用程序要求,则状态暂留和主机激活必须由开发人员明确配置。AppFabric 通过提供工具和服务来解决这些问题,以便您能轻松部署和监控应用程序,以及配置托管环境的功能。

运行时服务和组件

AppFabric 为暂留存储、基于内容的路由和基于配置的激活提供服务,例如暂留长期运行的工作流的状态。

ASP.NET

ASP.NET 提供了使得 WAS 托管环境具有吸引力的许多基本功能,例如应用程序域、生存期管理、运行状况监控、常规配置系统和动态编译。ASP.NET 还为使用 HTTP 接收消息的 WCF 和 WF 服务提供基于消息的激活。

WCF 和 WF

WCF 和 WF 服务为创建 SOA 应用程序提供构建基块,这些服务是 AppFabric 的核心。WCF 为开发可通过 Web 进行通信的 SOA 应用程序提供统一编程模型,包括与使用其他技术构建的应用程序的互操作性。WF 提供可用于实现长期运行进程的工作流引擎。

有关 WCF 和 WF 的详细信息,请参阅 Windows Communication FoundationWindows Workflow Foundation

运行时数据库

当实现执行应用程序的状态暂留或捕获监控信息时,首要考虑因素之一就是数据的存储媒体。这对于 SOA 应用程序尤其重要(此数据存储应具有可靠性、安全性、可缩放性和高可用性)。由于您的应用程序可能包含场中多个服务器上运行的组件,因此还必须可从多个服务器同时轻松访问数据存储。

为满足这些条件,AppFabric 将所有暂留和监控信息存储在数据存储中。

备注

默认情况下,暂留和监控数据存储在同一数据库中。但是,您可以将数据分为单独的数据库,甚至为特定应用程序创建其他暂留和监控数据库。

有关 AppFabric 使用的数据库的详细信息,请参阅数据库管理

暂留

托管应用程序的挑战之一是确保应用程序能够承受事件(例如,系统故障或重新启动)。AppFabric 可在系统故障或重新启动时,通过使用暂留提供程序实现上述目标,该提供程序允许 WF 服务将其状态保存到暂留数据库中,然后在正常系统上继续执行。

除了为系统故障或重新启动提供持久性之外,长期运行 WF 服务可以在正常执行期间挂起以便为其他应用程序释放资源,以及当消息到达时继续必须由暂留的工作流实例处理的操作。还可以使用持久计时器在特定间隔之后触发 WF 服务以继续,该计时器可监控暂留的 WF 实例上的“运行位置”指标并继续实例。

有关暂留的详细信息,请参阅暂留概念

托管

AppFabric 将 ServiceHost(托管 WCF)和 WorkflowServiceHost(托管 WF)服务托管环境与 IIS 和 WAS 相集成。例如,两个主机都参与了正常的 appDomain 关闭和回收,以及应用程序自动启动进程。尽管 IIS 和 WAS 的结合功能为 WCF 和 WF 应用程序提供了强大的托管环境,但充分利用这些功能通常需要开发人员在部署和配置应用程序上投入相当大的精力。AppFabric 提供一套全面的工具,允许以标准方式配置应用程序,而无需自定义部署解决方案或手动配置过程。

有关 AppFabric 如何使用 IIS 和 WAS 技术的详细信息,请参阅托管概念

监控

由于使用 WCF 和 WF 服务构建的解决方案具有耦合和分布松散的特质,因此监控和疑难解答通常是十分困难的流程,需要查看每个独立服务,然后将观察的事件手动关联起来,以便获得应用程序内的整体运行情况。使用 AppFabric,可以从各种源中收集和关联事件,以提供运行进程执行的整体情况。此数据存储在数据库中,可以使用 IIS 管理控制台中托管的监控工具或 用于 Windows PowerShell 的 ApplicationServer 模块 cmdlet 对其进行检索。

有关监控的详细信息,请参阅监控概念

管理 API

为支持广泛的管理情形,AppFabric 通过将 用于 Windows PowerShell 的 ApplicationServer 模块 作为 cmdlet 提供对所有管理功能的访问。此实现方法为您提供使用管理功能的多种方法,例如从 Windows PowerShell 命令行 Shell 交互调用 cmdlet、创建用于调用 cmdlet 的脚本或从自定义应用程序中调用 cmdlet。

有关详细信息,请参阅管理工具

IIS Manager

为了提供 WF 和 WCF 服务的集中配置和管理,AppFabric 提供了适用于 IIS Manager 中 WCF 和 WF 服务的丰富的管理和监控工具集。AppFabric 还使用 MSDeploy 向 WAS 托管环境部署服务。您可以使用 MSDeploy 部署包含 WCF 和 WF 服务的应用程序。

备注

IIS 管理控制台中公开的所有功能均基于 用于 Windows PowerShell 的 ApplicationServer 模块,并且以 Windows PowerShell cmdlet 的形式实现。因此,AppFabric 用户界面中执行的所有任务均可编写脚本。

有关 IIS Manager 的 AppFabric 扩展的详细信息,请参阅管理工具

Visual Studio

Visual Studio 2010 提供丰富的开发环境,您可以使用该环境创建包含 WCF 和 WF 服务的应用程序。Visual Studio 2010 还支持直接测试 AppFabric 中的服务(按 F5 时),并为您的项目提供创建部署包的功能,可通过 MSDeploy 将该功能直接导入 AppFabric 环境。

有关 Visual Studio 2010 的详细信息,请参阅 Visual Studio 2010。有关使用包含 AppFabric 的 Visual Studio 2010 的详细信息,请参阅以下主题:

另请参阅

概念

体系结构概述

  2011-12-05