关键字:业务流程模型
第1部分--使用WebLogic Platform 进行订单管理 当对流程完成良好建模并不再更改时,现有的 IT 系统会工作良好。然而,现实中的业务随时都在变化,流程也变得越来越复杂,尤其是当 Internet 可以很容易地将内部系统和外部系统连接在一起时。业务流程管理(Business process management,BPM)能够帮助管理这一复杂而不断变化的流程。
当对流程完成良好建模并不再更改时,现有的 IT 系统会工作良好。然而,现实中的业务随时都在变化,流程也变得越来越复杂,尤其是当 Internet 可以很容易地将内部系统和外部系统连接在一起时。
业务流程管理(BPM)能够帮助管理这一复杂且不断变化的流程。操纵数据这一当今 IT 系统均能有效实施的概念,可以扩展到业务流程。通过使用工作流类型的技术,企业可以使用 BPM 系统来同时控制现有的应用程序、Web 服务和各个人工流程,或者构造或解构流程或子流程。
使用业务流程建模,我们可以对现有业务流程建模并衡量其有效性。这将帮助我们理解当前企业如何运作,并使我们可以发现需要改进的地方。它使得我们能够在实现所建议的改进之前对其进行测试,看它们能否达到预期效果。图 1 描述了在您的业务中如何实现 BPM。首先,需要分析和定义流程模型。这些业务流程可以通过一个流程引擎来构建和配置。然后,您就可以监控该业务流程。
图 1
在这个系列中,我们将了解 WebLogic Integration 如何提供一个 BPM 解决方案。通过对现实中的一个涉及订单管理的例子的探究,我们将说明如何使用 WebLogic Integration 来对一个业务流程进行建模、执行和监控。
PD4J 和 WebLogic Integration
WebLogic Integration 提供了一个健壮而完整的 BPM 解决方案。WebLogic Workshop 中的流程建模建立在 Process Definition for Java (PD4J)的基础之上。不同的组织正致力研究和制订 BPM 中的各个不同规范 -- Java Community Process (JCP) 致力于 Process Definition for Java (PD4J),OASIS 则致力于 Business Process Execution Language for Web Service (WSBPEL 或 BPEL)。PD4J 已经在 JSR 207 中提出并构建在 JSR 175 中的 Java Language Metadata 技术上。后一个标准将为 J2EE 平台提供一个易用的语法,用于在源代码级描述业务流程。JSR 207 的目标是探索并标准化流程语言(如 BPEL)、Java 语言和 J2EE 平台之间的关系。
由于下一步的主要工作是定义 Java 流程标准,BEA 和 IBM 已通过紧密合作来建立一个称为 BPELJ 的新标准,并将其提交到 JSR 207 工作组。BPELJ 是 BPEL 和 Java 结合的产物,这两种语言可以一起使用来构建完整的业务流程应用程序。通过使 BPEL 和 Java 一起工作,BPELJ 让它们各自发挥自己特长。BPELJ 是通过到 BPEL 语言的扩展来实现的;因此,任何的 BPEL 流程都能够通过 BPELJ 来执行。通过标准化这些扩展,业务流程将通过 J2EE 平台实现真正的可移植和互操作。
BEA 领导着 JSR 207 的研究和制订,并且是 BPEL与 BPELJ 的联合制订者。除了 BPEL 的功能外,BEA 也将在下一个WebLogic Integration 主版本提供完全支持。即时,它将提供从在 PD4J 中编写的流程自动而无缝地迁移到 BPELJ 的体验。
在 WebLogic Intergration 中构建BPM的关键要素
WebLogic Integration 构建 BPM 解决方案的三个阶段为:
1. 流程的建模;
2. 流程的执行或自动化,基本上是构建和配置流程;
3. 流程分析,包括流程监控。
为了进行流程建模,WebLogic Integration 使用WebLogic Workshop,它具有很多图形化工具,可以在 WebLogic Workshop 环境,在设计和代码视图中构建、显示和更改业务流程模型。建模工具的诸多特性提供了同步和异步 Web 服务、分支、嵌套、循环、平行、分组和异常处理。
业务流程也与 WebLogic Control Framework 集成,后者支持数据库、文件、消息、服务代理和人工交互。WebLogic Workshop 提供的 Control Framework 是封装业务逻辑、访问企业资源(如数据库、消息队列和定时器)并将其作为 Web 服务提供的一种方式。使用 Control Framework,可以整合不同资源的数据和业务逻辑,并将它们用在一个业务流程中。
对于从 XML 到 Java 的转换,可以使用 XMLBean。XMLBean 是 WebLogic Workshop 中普遍使用的技术;它提供了非常简单的 XML 数据与 Java 类型之间的转换。XMLBean 有许多优点,且在不失去对原始 XML 结构的访问情况下,提供了XML 数据的一个基于 Java 对象的视图。使用 XMLBean,XML的文档完整性没有丢失。它们将整个 XML 文档实例当作整体来处理,而不是像其他的 API 那样将 XML 分开处理。我们将在 Workshop 中了解当一个 xsd 文件导入到 schemas 文件夹中时,XMLBean 是如何被创建以及如何可用到业务流程的。
对于 XML2XML、Java2XML、和 non-XML2non-XML 映射,可以使用 XQuery Transformation Mapper。XQuery Map提供了一种改造 Web 服务发送或接收的 XML 消息的方法。
WebLogic Integration 可实施在 WebLogic Workshop 中设计的流程的自动化。通过自动生成的 J2EE 代码,可完成流程构建。当在 WebLogic Workshop 中使用图形化工具设计业务流程时,源代码已经自动生成了,它按照 PD4J 来存储此流程。它被称作 JPD (Process Definition for Java)文件。您也可以在源视图中编辑 Java 代码。WebLogic Server用来构建和配置业务流程。WebLogic Workshop 有一个测试浏览器可以帮助测试流程。您可以执行那些保持状态信息的有状态流程、没有状态信息的无状态流程以及同步和异步流程。可以为某个业务流程生成一个 WSDL,因此可以使它作为 Web 服务激活。
流程分析提供了持续监控并实时收集统计数据。这在 BPM 中非常重要。服务级别协议(SLA)状态监控和历史流程报告生成信息由 BPM 工具提供。可以使用 WebLogic Integration 控制台来监控该流程。
现实中的例子
WebLogic Workshop可以用来对一个现实中的业务流程进行建模。它有一个设计视图,其中包含流程节点和控件面板。通过它们,您能够添加 Web 服务、客户请求、决策节点和Java 控件来模拟一个现实流程。当添加了这些组件后,Workshop 将在一个独立的选项卡中生成源代码和注释,以反映使用 PD4J 规范的流程逻辑。当对业务流程建模后,可以通过在 Workshop 中执行它来测试它。
在本系列的文章中,我们将探索一个真实的业务流程 ——Change Order Request(更改订单请求),该流程是在针对某厂商的 Order Management 业务流程中。我们将看到如何在 WebLogic Workshop 中使用图形化界面建立这个‘现实中业务流程’。
这个现实例子中所涉及的实际场景,是 PC 销售商销售可按单配置 PC。通过这个销售商购买东西的消费者想升级他已订购的 PC 上的光硬盘。这将导致从销售商向生产商发出生成更改请求。销售商发出请求来更改产品配置信息,要求在前面已经确认的订单上升级 PC 的硬盘。
订单更改流程有很多流程步骤和决策点。第一流程步骤是以 XML 形式接收来自销售商的订单更改请求。这个 XML 使用 RosettaNet Partner Interface Processes (PIPs) 完成订单更改。RosettaNet PIP 是 RosettaNet Implementation Framework 的一部分,并且是商业合作伙伴之间的标准化电子商务事务处理。事务处理格式的一致性对于缩短合作伙伴之间执行事务处理的时间是非常重要的,因此,每个 PIP 都伴随着一个消息指南和 XML 文档类型定义(DTD)。
当 ChangeOrder 因为所升级的硬盘而有一个新的配置来升级硬盘,我们需要检查这个配置对于 PC 是否有效。业务流程使用一个 Web 服务来检查配置的有效性。如果这个升级硬盘不能随着该 PC 订购,则配置无效,流程终止。如果配置有效,则业务流程继续下一步。
接下来的步骤是与制造商方面一起检查原始订单的状态。这将帮助跟踪 PC 正处于装配流程的什么地方。这个状态将使您了解它是否正处于添加硬盘的装配流程,这将意味着订单还可以发生变化;或者,如果它已经处于发运码头,这是订单是不能更改的。该状态保存在数据库中。在这一流程步骤中,需要激活数据库控件来检查订单的状态。如果这个订单不能更改,则流程结束。如果订单可以更改,这个更改将在基于 ERP 的系统上执行,或者可以写出到一个能加载到ERP 系统的文件。图 2 显示了更改订单请求流程步骤。我们将在 WebLogic Workshop 中使用这些步骤来创建该业务流程。
图 2
创建一个业务流程的步骤
首先需要创建一个应用程序。我们将这个应用程序命名为 orderChange。在这个应用程序中,我们创建一个名为 orderChange.jpd 的新流程。为了开始流程,我们需要再添加一个待接收的 ClientRequest。接下来添加一个 Web 服务验证。之后我们需要判断配置是否有效;因此,我们需要添加一个决策节点。为了检查订单状态,需添加订单状态数据控件。再次,我们必须决定订单状态是否允许我们继续流程。因此,我们需要添加另一个决策节点。流程的最后部分是要么将这个变化写入到能够加载到 SAP 订单执行系统的文件控件,要么直接写入SAP。最后一步是结束流程。
结束语
我们将在这个系列中的下一篇文章中探究每一步骤的细节。第二篇文章将讨论流程的创建、客户请求和附加 Web 服务。第三章将讨论设计点和数据库控件的添加。第四篇将讨论如何写入到文件控件和结束流程。在最后一篇我们将了解如何在浏览器中测试业务流程以及如何监控流程。
第 2 部分--创建流程应用程序
创建新应用程序和新流程
当您开始在 WebLogic Integration 中对业务流程进行建模时,首先需要创建一个叫做orderChangeprocess 的业务流程应用程序,在该应用程序中创建业务流程 OrderChange.jpd。当您在 Design View(设计视图)中创建 orderChange.jpd 时,将只能看到 Start 和 Finish 节点。
创建客户请求来启动流程
在 WebLogic Workshop 中有 5 种不同的启动业务流程的方法。
通过客户请求调用。
通过有返回值的客户请求同步调用。
订阅消息代理通道(message broker channel)并通过一个事件(定时器、e-mail、文件、适配器等)来启动。
同步订阅一个消息代理通道,并通过一个事件来启动。
通过几个客户请求或者订阅(事件选择)中的一个来调用。
在我们的例子中,发送了一个经过更改的 XML 文档来请求ChangeOrder。该XML 文档的格式为 RosettaNet PIP 3A8。我们称该文档为 orderchange.xsd。首先要将该 orderchange.xsd 添加到 schemas 文件夹,方法是将其导入到应用程序中。在您添加模式的同时,也创建了 XML Beans。我们将在下一节中详细探讨 XML Beans。
当客户请求更改订单时,我们将调用 Client Request 来启动业务流程。为此,您需要创建一些方法和参数,客户将用它们来触发业务流程,这些方法和参数是在本节点的 General 和 Receive Data 设置中指定的。General Settings 指定了业务流程为客户提供的方法。客户可以调用 orderChange 方法来启动业务流程并向其发出请求。我们将该方法映射到键入的 XML —— orderchange.xsd 中。也就是说,从客户那里接收的消息必须含有对 XML Schema orderchange.xsd 有效的 XML。General Settings 选项卡会获得更新,以指出您已经成功地完成了方法名称和参数的指定:
文章来源于领测软件测试网 https://www.ltesting.net/