词汇表和业务规则可以比上面所介绍的规则复杂得多,而且更为强大。定义词汇表,然后设置使用这个词汇表的一组规则的思想是业务规则引擎的核心内容。其目的是为各种 BizTalk Server 2006 用户提供简洁的方法来创建和使用定义业务流程的规则。
2.3 业务活动监视
很容易想象,业务人员可能希望通过多种不同的方法来审视业务流程。如,采购经理可能希望了解每天有多少订单被批准和被否决了,而销售经理可能希望了解每个小时中哪些产品被订购的数据。为了满足这种多样化的需求,就需要建立一种通用的方法来跟踪某个特定业务流程发生了什么。这正是 BizTalk Server 2006 的业务活动监视 (BAM) 组件所实现的功能。
Microsoft Excel and Other ClientsBAM PortalSQL Server Notification ServicesBusiness Activity Monitoring (BAM)BizTalk Server 2006 EngineMonitored Events and DataTracking
如上图所示,BAM 组件允许监视 BizTalk 应用程序生成的事件和数据。通过可调用 SOAP 的 Web 服务能够访问这些信息,且访问的方法多种多样,如:
?
通过 Microsoft Excel 或其他桌面客户端,例如自定义的仪表板应用程序。
?
通过 BAM 门户,这是个 BizTalk Server 2006 中的新组件,能够检查和配置 BAM 信息。信息工作者可以使用 BAM 门户选择某个业务流程的特定实例,然后选择这个流程的特定 BAM 视图。每个视图都会从不同的角度来监视这个流程,例如每个产品的销售趋势、目前库存情况或其他关键性能指标的图形描述。这
些视图中的信息可以每日、每小时或更加频繁地进行更新。通过 BAM 门户,信息工作者也可以定义数据的聚合,例如上一个小时内填写的、取消的或正在处理中的订单数量。BAM 门户是一组 ASP .NET 页,它也可以作为 Windows SharePoint Services 中的 Web 控件。
?
通过 SQL Server Notification Services,允许作为通知来发送 BAM 信息。虽然前两种方法使得信息工作者能够检查 BAM 信息,但是这第三种方法使得他们能够在某些事情发生时得到通知。信息工作者可以使用 BAM 门户的警报管理器来定义在特定事件发生时应该发送的警报。例如,BAM 用户可以选择在一天内被取消的订单超过 10 份时向某个经理发送电子邮件,或者当最大客户下订单时,随时通知某个特定的销售助理。
实际上,每个 BAM 视图都依赖于一个或多个 BAM 活动。BAM 活动代表着一个特定的业务流程,例如处理采购订单或装运产品。每个活动都拥有一组已定义的里程碑和业务数据。例如,采购订单活动可能拥有“批准”、“拒绝”或“已发货”等里程碑,以及“客户姓名”和“产品”等业务数据。
如果业务人员通过Excel 访问 BAM,使用一个 Excel 加载项来创建 BAM 活动和 BAM 视图。这个加载项的“BAM 活动”向导允许定义活动,而它的“BAM 视图”向导允许根据这些活动来定义视图。实际上,这个 BAM 视图向导只是帮助信息工作者使用一个或多个 BAM 活动中的信息来构建了一个标准的 Excel 透视表。然后,可以在 Excel 中直接显示这个视图所提供的信息,如下图所示。
示例中,两个 Excel 图表显示了有关订购进度和销售的信息。BAM 视图可以更复杂,而且它的创建者还可以控制哪些用户允许看到其中所显示的数据。例如,采购经理可以访问购买订单流程的视图的某些内容,而采购职员却无法看到。
虽然信息工作者可以自己创建 BAM 视图和 BAM 活动,但是这些视图和活动取决于他们所监视业务流程提供的信息。因此,开发人员在这里仍有所作为。开发人员必须使用一个称为“跟踪配置文件编辑器 (TPE)”的工具来
配置业务流程,使得它能够提供某个特定 BAM 活动所需的信息,从而也为依赖于这个活动的 BAM 视图提供信息。这个工具允许开发人员将业务流程中合适的事件和消息字段与 BAM 活动中响应的里程碑和业务数据以图形方式关联在一起。然后由 BizTalk Server 2006 引擎将这些事件和消息字段的值发送到“跟踪”数据库中(如前图所示)。BAM 组件可以在这个数据库中对这些数值进行访问。当然,虽然开发人员必须完成他们的工作,但是 BAM 活动和 BAM 视图并不是他们所关心的。这些面向业务的服务是完全由信息工作者创建、维护和使用的。
BizTalk Server 2006在BAM 功能中添加了其他重要的特性。在前面的版本中,BAM 只能用来监视在 BizTalk 业务流程中发生的事件。现在还可以使用 TPE 来指定管道如何生成事件。更为重要的是,现在的BAM 能够接受和显示其他任何用户代码生成的事件,无论这些事件是否构建为业务流程。所有使用 .NET Framework 或 WinFX (将在 Windows Vista 中出现的一组新开发技术)构建的应用程序都可以使用 BizTalk Server 2006 的 BAM 组件进行监视。
2.4 业务活动服务
在处理一个运作中的业务流程时,信息工作者可能会希望实现很多功能。BAM 满足了其中很重要的一部分,但是还有很多其他的功能要求。例如,某个业务分析师可能希望与新的贸易合作伙伴建立关系,定义这个合作伙伴的角色、两家公司间的业务协议以及这个新联盟的其他方面内容。采购经理也许需要一些工具,它们能够组合在一起并分发给合作伙伴,以使得他们能够快速地实现,并积极地参与到这个业务流程中。在 BizTalk Server 2006 中,所有这一切都可以通过“业务活动服务”来实现。
如下图所示,通过 Windows SharePoint Services、Internet Explorer、Microsoft Excel 和 Microsoft InfoPath 为所有这些服务提供了公用的用户界面。由于业务活动服务是面向业务人员,因此应该使他们使用这些熟悉的工具。在这个公用的界面后有两个不同的软件组件,它们都通过 SOAP 来提供它们的服务。分别介绍这两个组件:
Internet Explorer, Microsoft Excel, Microsoft InfoPathWindows SharePointServicesTrading Partner Management (TPM)Business Process ConfigurationTPMBizTalk Server 2006 Engine
2.4.1 贸易合作伙伴管理
现在,在贸易合作伙伴间创建 B2B 连接是BizTalk Server 的一个常见用途。要建立这种联系要求在某些事情上达成协议,包括所使用的通信协议、用于交换的消息格式以及推动交互通信的业务流程等。
为了使得业务人员能够执行这些日常任务,BizTalk Server 2006 的业务活动服务中包含了一个“贸易合作伙伴管理 (TPM)”组件。如上图所示,这个组件依靠“TPM”数据库,在这个数据库中存储有关于贸易关系的信息。信息工作者可以使用公用的“业务活动服务”界面来创建和修改与其他使用 BizTalk Server 2006 的贸易合作伙伴建立的“协议”。每个协议都对双方间的关系进行描述,包括:
?
针对每个参与方的“配置文件”。这些配置文件中包含有关于这个公司的信息,例如联系人和地址。另外其中还有一些技术信息,例如在与之通信的过程中该使用什么协议(以及使用哪个 BizTalk Server 2006 适配器)。
?
业务流程本身(实现为一个或多个业务流程 (Orchestration))以及每个参与方在其中担当的角色。例如,一个公司可能作为卖方,而另一个则作为买方。
?
“附录”以及针对这个商业过程的参数,用于控制实现该商业流程的业务流程的行为。如何使用这些参数将在下一节中介绍。