BizTalk 2006 Introduction(2)

2019-01-12 12:19

文件适配器:允许在 Windows 文件系统中读写文件。由于业务流程中的所涉及到的应用程序经常能够访问同一个文件系统(本地或通过网络),通过文件进行消息交换是非常方便的。

HTTP 适配器:允许使用 HTTP 发送和接收信息。BizTalk Server 2006 引擎公开了一个或多个 URL,允许其他应用程序向这些地址发送数据,也使用该适配器来向其他 URL 发送数据。

MSMQ 适配器:允许使用 Microsoft Message Queuing (MSMQ) 发送和接收消息。

MSMQT 适配器:允许使用 BizTalk Message Queuing (MSMQT) 发送和接收消息。MSMQT可以在 MessageBox 中接收和发送 MSMQ 消息。虽然 BizTalk Server 2006 仍包括这个适配器,但新构建的应用程序应该建议使用 MSMQ 适配器来取代。

WebSphere MQ 适配器:允许使用 IBM 的WebSphere MQ (或“MQSeries”)发送和接收消息。

SMTP 适配器:允许使用 SMTP 发送消息。使用标准电子邮件地址来确定接收方。

POP3 适配器:允许使用第三版的邮局协议 (POP3) 来接收电子邮件消息及其中的附件。

Windows SharePoint Services (WSS) 适配器:允许访问/发布 SharePoint 文档库中的文档。

SQL Server适配器:允许在 SQL Server 数据库中读写信息。

微软另外提供的其它常用商业软件适配器,包括用于适配器、适配器、Oracle 应用程序与 Oracle 数据库、JD Edwards One World 与 Enterprise One、TIBCO Rendezvous 与 Enterprise Messaging Service 以及 Amdocs Clarify 的各种适配器。微软的合作伙伴将提供更多的适配器,包括用于电子数据交换 (EDI) 及其他的连接器。

不管使用何种适配器来接收数据,在业务流程可以访问之前都必须对所获得的消息进行处理。同样的,业务流程所生成的传出消息通常也需要在发送给适配器之前进行处理。下面将介绍如何实现这两种处理:

2.1.2 处理消息:管道

组成业务流程的各个应用程序通过交换各种不同的文档来进行通信:购买订单、发票等。对于一个执行业务流程的 BizTalk Server 2006 应用程序而言,它必须能够正确地处理包含这些文档的消息,该处理过程包括多个步骤,因此它通过一个消息管道来执行。传入消息由接收管道处理,而传出消息则通过发送管道处理。

例如,BizTalk Server 2006 引擎在内部仅处理 XML 文档,因此必须提供一种方法,将其他格式转换成 XML。另外,可能还需要一些其他服务,例如对消息的发件人进行身份验证。为了按照一种模块化、可组合的方式处理这些任务,一个管道由一定数量的“阶段 (stage)”组成。每个阶段都包含一个或多个 .NET 或组件对象模型 (Component Object Model, COM)。每个组件负责消息处理过程中的一个部分。BizTalk Server 2006 引擎提供了许多解决常见情形的标准组件。如果这些组件还不满足需求,开发人员也可以为接收和发送管道创建自定义的组件。

Receive PipelineDecodeDisassembleValidateResolvePartyMIME/SMIME DecoderXML ValidatorXML DisassemblerBTF DisassemblerParty ResolutionFlat File DisassemblerStagesComponents上图阐释了一个接收管道中的各个阶段以及为每个阶段提供的标准组件。这些阶段及其相关的组件包括:

Receive Pipeline? Resolve MIME 或 Secure MIME 解码阶段:提供一个标准组件——MIME/SMIME 解码器。该组件可以处理DecodeDisassembleValidateParty(S/MIME) 格式的消息以及其中包含的所有附件。它将这两种消息都转换成 XML,并可以解密 S/MIME 消

MIME/SMIME Decoder息和检验它们的数字签名。 XML Validator? 拆装阶段:提供了三个标准组件。平面文件拆装器 (Flat File Disassembler) 组件将平面文件转换为 XML XML DisassemblerBTF DisassemblerParty Resolution格式。这些文件可以是位置的(每个记录拥有相同的长度和结构)或是分隔的(在文件中使用指定的字符Flat File Disassembler来分隔记录);第二个标准组件是“XML 拆装器 (XML Disassembler)”,对已经采用 XML 进行描述的

Stages传入消息进行解析;第三个标准组件是 “BTF 拆装器 (BTF Disassembler)”,该拆装器不常用,它能够

接收使用 BizTalk Framework (BTF)所定义的可靠消息机制来发送的消息。 Components

?

验证阶段:提供了“XML 验证器 (XML Validator)”。根据指定的架构或架构组对拆装阶段所生成的 XML 文档进行检验。如果文档不符合其中任何一个架构,则返回错误信息。

?

解析参与方阶段:只有一个标准组件“参与方解析 (Party Resolution)”,用来确定消息发件人的身份。如果这个消息是数字签名的,那么将使用这个签名在 BizTalk Server 2006 的“配置”数据库中查找 Windows 身份(这个数据库也可以作为 BizTalk Server 的管理工具使用)。如果该消息拥有经过身份验证的 Windows 用户安全识别符 (SID),那么将使用此身份。如果这两种方法都没有成功,那么该消息的发件人将被指派为默认的匿名身份。

Send PipelinePre-assembleAssembleEncode(Custom components only)MIME/SMIME EncoderXML AssemblerBTF AssemblerFlat File AssemblerStagesComponents

传出消息也可以经历多个阶段,这些阶段在发送管道中定义。上图显示了发送管道的各个阶段和标准组件。它们包括:

?

预组装阶段:没有为这个阶段提供标准组件。可以根据需要在这里插入自定义的组件。

?

组装阶段:这个阶段与接收管道中的“拆装”阶段相对应,也拥有三个标准组件。“平面文件组装器 (Flat File Assembler)”将 XML 消息转换为位置或分隔的平面文件;“XML 组装器 (XML Assembler)”则允许在传出 XML 消息中添加一个信封或进行其他更改;第三个(很少使用)标准组件“BTF 组装器 (BTF Assembler)”将消息组装起来,用于使用 BizTalk Framework 消息传递技术进行可靠传输。

?

编码阶段:一个标准组件—“MIME/SMIME 编码器 (MIME/SMIME Encoder)”。该组件以 MIME 或 S/MIME 格式组装传出消息。如果使用 S/MIME 格式,可以对消息进行数字签名和/或加密。

BizTalk Server 2006 定义了一些默认管道,包括一对简单的接收/发送管道,用于处理已经以 XML 格式表达的消息。开发人员可使用“管道设计器 (Pipeline Designer)”来创建自定义的管道。这个工具在 Visual Studio 2005 中运行,以图形界面方式,允许通过拖放组件来创建具有各种所需行为的管道。

2.1.3 选择消息:订阅

在消息通过适配器和接收管道后,消息的去向,即消息目标一般是某业务流程,也可能直接将消息发送给发送管道(将 BizTalk Server 2006 引擎纯粹作为一个消息传送系统使用),无论哪种情况,将消息传递到目的地都是通过订阅来完成的。

当一个消息经过接收管道的处理后,系统将创建一个包含各种消息属性的“消息上下文”。业务流程或发送管道可以根据这些属性的值来订阅它们所需的消息。例如,某业务流程可能创建了一个订阅,匹配所有类型为“发票”的消息,或所有来自 QwickBank Corporation 的类型为“发票”的消息,或所有来自 QwickBank Corporation 的类型为“发票”且金额大于 10,000 美元的消息,但是必须是明确指定的。订阅将仅向订户返回那些匹配订阅所规定标准的消息。接收到的消息可以通过实例化某个业务流程来启动一个业务流程,或者激活正在运行的业务流程中的某一个步骤。同样,在业务流程发送消息时,这个消息必须根据发送管道已建立的订阅匹配发送管道。

在 BizTalk Server 2006 中,与以前的版本只是被简单地挂起导致错误的消息不同,现在可以按照特定的方法处理错误消息,或将错误消息转发到特定的目标(例如 WSS 文件夹)。

2.2 业务规则引擎

业务流程设计器、BizTalk 编辑器和 BizTalk 映射器提供了一种有效的方法来定义业务流程及其使用的规则。BizTalk Server 2006 提供了更方便的方法来定义和更改业务规则,即业务规则引擎 (BRE)。开发人员将会经常使用到 BRE,而面向业务的用户使用业务规则编辑器 (Business Rule Composer) 来创建和修改业务规则。

当需要评估一组复杂的业务规则时,BRE 就十分有用了。例如,决定是否同意贷款可能涉及到许多规则,需要对客户的信用记录、收入及很多方面进行评估。同样的,确定是否向申请人销售人身保险取决于很多内容,包括申请人的年龄、性别以及各种各样的健康信息。例如,可以用业务流程的判定形状来将所有的这些规则表达为条件语句。对于类似这些规则的流程,BRE能使开发人员轻松许多。

BRE 可更快、更方便地更改规则,以往开发人员必须首先在 Visual Studio中打开该业务流程,修改合适的形状(也许包括它们调用的 .NET 或 COM 对象),然后构建和部署修改后的程序集。另外,完成这个工作还需要停止包含这个业务流程的 BizTalk 应用程序,然后重新启动。但是,如果这个业务规则是使用 BRE 实现的,那么不需要重新编译或重新启动任何东西就可以完成修改。所需要做的只是使用业务规则编辑器来改变合适的规则,然后重新部署这组新的规则。这个更改会立即生效。而且,虽然业务流程通常是由开发人员创建和维护的,但是业务规则需要容易读懂,使业务分析师能够在没有其他技术人员协助的情况下对它们进行修改。

业务规则的创建者通常首先使用业务规则编辑器来定义一个词汇表 (vocabulary),供指定规则之用。词汇表中的每个术语都拥有友好名称,提供某些信息。例如,词汇表可能定义了“发货数量”、“条目的最大数量”或“批准限制”等术语。术语可以被设置为常数或被映射到某个 XML 架构(和传入消息)中的特定元素或属性,或者映射到对某个数据库的 SQL 查询结果,甚至可以映射到 .NET 对象中的一个值。

在定义完成词汇表后,可以使用业务规则编辑器来创建使用这个词汇表的业务策略。每个策略可以包含一个或多个业务规则。规则使用在某个词汇表中定义的术语和逻辑运算符(例如大于、小于、等于)来定义如何运作一个业务流程。业务规则可以定义已接收到 XML 文档中的某个值如何影响将被发送 XML 文档中的值,或这些接收到的值如何影响将哪些数据写入到数据库中,等等。

例如,我们有一个简单的词汇表,定义了术语“允许订购的最大数量”,将其值设置为 10,另外又定义了一个术语“请求的数量”,该值派生自接收到的 XML 文档(对应于用于下订单的架构)中的指定元素。这样业务分析师可以创建一个规则,表示如果传入订单中的“请求的数量”大于“允许订购的最大数量”,则应该拒绝这个订单,或生成一个合适的 XML 文档,并将它发送回这个订单的创建者。

为了执行业务策略,业务流程使用“调用规则”形状。这个形状将创建一个 BRE 实例,指定执行哪个策略,然后传输这个策略所需的信息(例如接受到的 XML 文档)。另外,也可以通过基于 .NET 的对象模型来编程调用 BRE,从而允许从未使用 BizTalk Server 2006 引擎的应用程序中进行调用。这意味着 Windows 窗体应用程序、利用 Web 服务的软件以及其他构建于 .NET Framework 上的其他产品都可以在需要解决所面临问题时使用 BRE。1

1

但是,BRE 是作为 BizTalk Server 2006 的一部分发放许可证的。


BizTalk 2006 Introduction(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:保险学试题库十套(题和答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: