作者:Anjali Anagol-Subbarao 日期:2005-10-27
本系列文章的第1部分中,概要介绍了业务流程管理(business process management ,BPM)和该领域的规范。描述了订单修改的例子以及在WebLogic Integration中创建业务流程所需的步骤。在第2部分中,介绍了如何创建一个流程应用程序(orderChange)。在该应用程序中我创建了一个名为orderChange.jpd的新流程。为了启动该流程,我们增加了一个接收的ClientRequest,然后添加了Web服务验证配置。 在第3篇文章中,我加入了一个决策点来处理来自验证配置Web服务的结果。决策点有助于处理流程结果中的肯定和否定输出。然后,我给该流程添加了一个数据库控件,该控件检查要更改的订单的状态。最后,我添加了另一个决策点来处理数据库控件的结果。在上一篇文章中,我们介绍了如何将订单修改写入文件中,以及如何把该订单修改添加到基于ERP的系统(SAP)中。我们还分析了该流程的代码。 在本文中,我们将了解如何将创建的JPD文件公开为BPEL文件,以及如何执行这一流程,您还可以看到显示在WebLogic的Test Browser上的最终结果。我们还将了解如何在WLI中监控流程,以及如何使用惠普的OpenView来监控流程。 导出到BPEL 在以前的文章中,我们知道了如何在WLI中创建业务流程。它基于PD4J规范创建一个JPD文件。WLI gives允许用户通过BPEL导出器将该文件导出到WS-BPEL文件。 下面就是前述的JPD文件导出到BPEL后的结果: <process name="orderchange" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:jpd="http://www.bea.com/wli/jpd" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:wli="http://www.bea.com/workshop/bpel/wli" xmlns:ctrl="http://www.bea.com/workshop/bpel/ctrl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.openuri.org/" expressionLanguage="http://www.w3.org/TR/2003/WD-xquery-20031112/" > 合作伙伴信息如下: <partnerLinks> <partnerLink name="client" partnerLinkType="generated" myRole="provider" partnerRole="client" /> <partnerLink name="validateConfignew" partnerLinkType="unresolved-type" /> <partnerLink name="orderstatus1" partnerLinkType="unresolved-type" /> <partnerLink name="ChangeorderFile" partnerLinkType="unresolved-type" /> </partnerLinks> 流程启动: <variables> <variable name="orderChangexsd" type="unresolved-type" /> <variable name="fileproperties" type="com.bea.wli.control.dynamicProperties.FileControlPropertiesDocument" /> </variables> 作为ClientRequest的OrderChangeRequest: <sequence> <receive jpd:name="orderChangeRequest" partnerLink="client" portType="clientPT" operation="orderChangeRequest" variable="orderChangexsd" createInstance="yes" > </receive> JPD代码以注释形式出现: <jpd:javacode code="{ //#START: CODE GENERATED - PROTECTED SECTION - you can safely add code above this comment in this method. #// // input transform // parameter assignment this.orderChangexsd = orderChangexsd; //#END : CODE GENERATED - PROTECTED SECTION - you can safely add code below this comment in this method. #// } "> </jpd:javacode> 调用validateConfig Web服务的流程: <invoke jpd:name="validateConfig" partnerLink="validateConfignew" portType="unresolved-type" operation="validateConfig" > </invoke> 第一个决策点用于确定配置是否有效: <switch jpd:name="Is configuration Valid?"> <case jpd:name="Yes" condition="data(/ns:Status) = "true""> 调用订单状态数据库控件的流程: <sequence> <invoke jpd:name="OrderStatus" partnerLink="orderstatus1" portType="unresolved-type" operation="getShipDate" > 第2个决策点用于确定订单是否可修改: </invoke> <switch jpd:name="Is order changeable?"> <case jpd:name="Yes" condition="jpd:method" jpd:method="condition"> </switch> 流程通过文件控件写文件: <invoke jpd:name="write" partnerLink="ChangeorderFile" portType="unresolved-type" operation="write" inputVariable="orderChangexsd" outputVariable="fileproperties" > </invoke> </sequence> </process> 执行流程 在执行流程时,可以在Test Browser中看到测试SOAP消息。执行时,可以看出它遍历了以下步骤:客户机请求;验证Web服务配置;第一个决策点;从数据库获取订单状态信息;第二个决策点;最后,将XML写入文件,流程结束。  显示了流程的验证配置节点。
 显示了流程的最后一个节点,即写入文件。
监控流程 进行业务流程管理意味着要确保可以监控单个业务流程实例,以便确定它们在规定时间内完成。我们还希望收集性能指标,以改进和调优进程。可以通过WebLogic Workshop菜单中的WebLogic Integration Administration Console监控业务流程实例。在浏览器地址栏中输入 http://localhost:7001/wliconsole 这个URL。示例集成服务器的默认用户名和密码是weblogic/weblogic。单击Process Instance Monitoring,打开一个页面,进行以下操作(以下内容来自BEA): - 查看流程实例统计信息,包括每种状态(运行、挂起、异常终止、完成)的实例数。
- 查看选定实例的摘要或详细状态。
- 挂起、恢复或终止选定的实例。
 显示了WebLogic Integration Console。
通过HP Open View管理业务流程 前几节所述的对业务流程的管理需要包括以下能力: - 当出现问题(管理出现异常)时,可以发出警报。例如,业务流程实例超出阈值,或者没有按照服务水平协议(service level agreement,SLA)完成,以及应用程序的某一部分出现错误。
- 使用业务流程视图、消息代理程序、消息代理程序通道、工作列表、适配器和事件生成器查看当前的业务流程状态,并能够追查详细的表征。我们需要给定流程实例的统计信息,以便知道:有多少实例已经完成、有多少实例正在运行、有多少实例在执行时违反了SLA、有多少实例已经终止、有多少实例已经异常终止,等等。
- 对业务流程及相关实体执行特定的操作,比如挂起一个进程或恢复一个挂起的进程。
- 能够实时监控关键的性能指标,如:业务进程的平均执行时间,业务进程成功率,适配器、消息通道和事件生成器的错误数。
- 接收前述性能指标的历史报告。
对于运行在WLI上的应用程序,前面所提到的大部分信息都可以在WLI执行引擎中得到,并且任一个外部程序都可以通过JMX Mbeans获得这些信息。这种信息可用性,与能够收集、分析信息并将信息以正确的形式呈现给正确的人的程序相结合,我们就可以管理业务程序了。 HP OpenView Smart Plug-in for WLI (WLI-SPI)插件就像胶水一样,将HP OpenView与WLI联系起来,使我们可以使用HP OpenView产品家族去管理WLI业务流程。在现有的HP OpenView管理系统中安装WLI-SPI之后,就可以通过工具,使用HP OpenView管理的全部功能来管理业务流程了。这些功能包括(以下内容来自DRC): - List Business Process Types(列出业务流程类型)、Instances(实例)、Adapters(适配器)、Event Generators(事件生成器)、Message Channels(消息通道)、System Archiver(系统档案库)及其相关属性。通过OV对以上各项执行管理操作。
- 实时监控业务流程的性能及其他相关指标。
- 在执行业务流程时通过通告监控关键性事件。比如,条件失败或违反性能SLA。
- 生成性能指标的历史报告。
- 能够定制SPI,使其包含特定于应用程序的监控和管理功能。
 显示了如何使用HP Open View来监控业务流程。
结束语 在本文中,我们介绍了如何将JPD文件导入WS-BPEL文件,以及如何执行业务流程,并在Test Browser中查看结果。我们在Test Browser中看到了不同的流程节点是如何执行的。我们讨论了业务流程的管理。在WLI中可以通过WebLogic Integration Console进行监控。还可以使用HP Open View管理业务流程。HP Open View使用SPI通过JMX Beans管理WLI中的业务流程。 最后,要了解更多有关HP OpenView和BEA应用程序管理解决方案的信息,请访问http://openview.hp.com/bea站点。您会发现,BEA与HP OpenView的结合将为您提供更多的控制权和更大的灵活性,从而为您赢得竞争优势。 参考资料 原文出处 http://wldj.sys-con.com/read/117487.htm |