IBM WebSphere 面向服务的业务流程管理(Business Process Management, BPM)解决方案为企业管理人员实现业务随需应变的目标提供了强有力的基础平台。在 IBM WebSphere 业务流程管理解决方案中,核心的主要产品包括 WebSphere Business Modeler (Modeler), WebSphere Integration Developer(WID), WebSphere Process Server(WPS)和 WebSphere Business Monitor (Monitor)。这几个产品分别满足了业务流程的建模优化,组装实现,部署执行,指标监控四个层次上的需求。他们之间依次输入输出,整体构成了业务流程管理的闭合环路。通过这一个循环的反馈,企业能够根据自身业务流程特点,准确识别企业运行过程中存在的种种问题,并快速适应外界环境的变化。
在传统的 WebSphere BPM 企业流程解决方案中,用户需要将模型从 Modeler 导出到开发工具 WID 去进一步实现,然后再部署到运行时引擎 WPS。这个过程过于复杂、耗时,常常被用户所抱怨。从 Modeler V6.2 开始,Modeler 支持新的用户应用场景 - 对 WPS 和 Monitor Server 的直接部署。这个功能大大提高了 WebSphere BPM 解决方案的灵活性和效率。直接部署的功能在 Modeler 和运行时服务器之间直接建立联系,如下图 1 所示。
图 1. WebSphere BPM 业务流程管理产品示意图
新的直接部署的应用场景能够让企业业务人员通过 Modeler 这个工具去完全定义一个可执行的业务流程模型。细粒度的定义了不同技能和角色的业务人员和 IT 人员之间合作的方式,例如在环境的搭建,服务的创建和发布,运行时问题的处理等方面都有清晰的分工。同时也更高效地整合了在 BPM 场景中各个产品和工具,真正实现了优化的端到端的 SOA 服务快速应用,大大加快了企业业务流程从设计,分析,优化到上线部署的时间。该功能使业务人员在定义好环境和服务以后,不需要依赖 IT 人员开发工作,能够完成建模和部署的过程,以完成业务流程的验证。
本篇文章将通过一个典型的客户订单处理业务流程的案例来具体介绍用户是如何一步一步通过 Modeler 直接部署业务流程到 WPS 上进行测试运行的。主要分如下三个步骤来介绍直接部署过程的主要环节。
1.流程和环境准备。用户用 Modeler 创建流程后,运行工具的验证功能来确保流程符合直接部署的条件。IT 人员创建运行时环境,运行环境可以包括了 WPS,Monitor , Business Space,WSRR 等多个产品。IT 人员安装好环境以后将配置 XML 文件导入业务人员使用的 Modeler 去指定直接部署中的运行时服务器。IT 人员还可以对流程中一些自动化任务通过 Web Service实现以在运行时被调用。
2.直接部署运行。业务人员在 Modeler 中对流程进行直接部署操作。流程会直接部署到配置文件中指定的各个服务器上去。业务人员能通过登录业务空间浏览器去触发流程的运行。业务人员通过它能够对流程进行调试和测试运行,监控流程的运行状况。当流程运行遇到问题的时候,业务人员可以很方便的通过点击按钮将相关的流程状态信息和日志打包发送给 IT 人员协助解决。
3.监控模型的定义和部署。Modeler 定义的关键业务指标 (KPI) 和业务度量值 (Metric) 从 Modeler V6.2 开始也可以直接部署到 Monitor 服务器上。用户在直接部署以后,登录 Business Space 以后可以直接查看运行时这些业务度量的值了。管理员根据业务用户在过程运行时希望监控的对象,配置各个仪表板视图。
本文所引用的客户订单处理流程是一个以客户网络提交购物订单触发的业务流程。根据客户的订单类型分为查询、购买和取消三个业务处理分支。其中,登录子流程中会调用身份验证(CheckAuthority)这个提前已经部署好的网络服务。本示例使用 Modeler 建成的主业务流程图如下图2所示。
为了让业务人员能够把业务模型直接部署在服务器上进行测试,IT 人员需要配合准备如下类似于图 3 的运行时环境。
在图 3 的环境中,192.168.0.1 安装有 Modeler,供业务人员进行建模及测试等操作。
192.168.0.2 安装有 WPS 及 Monitor 的运行时测试环境,用来运行及监控业务流程。
192.168.0.3 为 WSRR 服务器,用来注册 Web 服务,分类及动态查询(可选)。
192.168.0.4 为应用服务器,运行流程中可能需要调用的 Web 服务(可选)。
下面对搭建及使用该环境的过程进行详细说明。
在安装 WPS 及 Monitor 的运行时测试环境时,有两种选择:
- 安装 WID 的集成测试环境及 Monitor 工具包。
使用默认选项将 WID 及 Monitor 工具包安装在同一目录下,然后安装“WID安装目录/wid/Util下”的 TestController.ear 包。安装完成后,集成测试环境中包含 WPS 及 Monitor 两个 Server ,启动 Monitor Server。
- 安装单独的 WPS 服务器及 Monitor 服务器
使用默认选项将 WPS 及 Monitor 安装在同一Profile中,除安装 TestController 插件外,还需要下载并安装 CompTest Runtimes 插件包到“WPS 安装目录 \plugins”下,然后启动 Server。
安装好 WPS 和 Monitor 的环境,IT 人员还需要安装一台应用服务器用来部署流程中调用 Web 服务。IT 人员将开发好的 Web 服务部署到装好的 WAS 上。例如,Login 子流程中 CheckAuthority 服务运行在应用服务器上,对外访问的地址为如图 3 中所示。在流程中如果需要使用该 Web 服务时,可以通过 Modeler 的 WSDL 文件导入功能,将 Web 服务及其所用业务对象导入到 Modeler 中,在建模时将该其当作一个建模元素使用。将该业务流程部署测试后,测试环境会根据 WSDL 中包含的 Endpoint 信息直接去相应应用服务器调用该服务。
另外,用户也可以不采用这种直接 WSDL 导入去调用 Web 服务,而是利用产品 WebSphere Service Registry and Repository(WSRR)来查找并引入服务分类标识( Classification )的方法。后一种方法对业务人员来说更加方便,也易于对流程维护。
用户要在 Modeler 中通过 WSRR 来调用服务,首先安装并配置 WSRR 服务器分类系统。具体步骤如下所示:
1. 首先要在 WSRR 服务器上建立分类系统。通过 http://192.168.0.3:9081/ServiceRegistry/ 登录到 WSRR 服务器的 Configuration 视图,选择 Classification Systems,新建分类系统,输入URI,Name 和 Comments 等信息。
2. 在该分类系统中建立层级结构的分类器,如图 4 所示:
3. 切换到 User 视图,选择 Service Documents-> Load Documents,导入 Web 服务的 WSDL 文件。
4. 在 Service MetaData->WSDL->Ports 中选择导入的 WSDL 文件对应的 Port,通过增加 Classification 将导入的 WSDL 文件与之前所建的分类器对应起来,如图 5 所示。
图 5. WSDL 文件的访问端口与 WSRR 系统分类器绑定
5. 在 WID 集成测试环境中加入 WSRR 地址。通过 https://9.186.118.200:9044/ibm/console/ 访问测试环境的管理控制台,在 Service Integration-> WSRR Definitions下,新建一个 WSRR 链接,在 Connection Properties 中输入 WSRR 的访问地址。
6. 在 Modeler 建模的时候,通过导入选项“WebSphere Service Registry and Repository classification system”把 WSRR 系统中各种分类器导入至 Modeler ,流程的各个任务可以在属性视图中添加分类器,从而将不同的服务绑定到不同任务。流程部署后,测试环境会根据分类器到 WSRR 中寻找合适的 Web 服务,并且调用找到的第一个 Web 服务。
业务人员在利用 Modeler 建模时,会使用不同角色的人处理不同的任务,这些角色对应测试环境中的不同用户组,为了将二者绑定起来,需要在 Modeler 定义好角色之后,选中该工程,右键选择“Websphere people directory role”导出 ProjectName.rmf 文件,并在文件中通过 UniqueName 和 GroupName 字段将二者联系起来。比如,
表示 Modeler 中的角色 Customer 与测试环境中的用户组 WPS Customer 相对应。
IT 人员在准备好如上环境后,编写包括服务器访问地址和端口信息等在内的配置文件 ConfigurationFile.xml,并将刚刚生成的 ProjectName.rmf 文件填入到其中的“memberMapping”字段,然后将该配置文件和 rmf 文件打包在同一文件夹中交给业务人员。
<?xml version="1.0" encoding="UTF-8"?> admin/admin, you need to change the ip address and port number before use this config file |
准备好环境之后,业务人员需要在 Modeler 和该测试环境之间建立联系,这一联系就是通过本文环境准备部分生成的配置文件 ConfigurationFile.xml 来实现的。
图 6. 添加 Server
在 Modeler 中,在主菜单 Window->Show View 中打开服务器视图,选择 Test Servers,通过右键菜单激活Add Server 对话框,选择 ConfigurationFile.xml,将直接部署的 Server 添加至 Modeler,如图 6 所示。发布到对应 Server 中的所有流程都会被显示在 Modeler 的 Server View 中。
当测试环境准备好后,用户仅需点击几次鼠标就可以轻松地将流程发布到服务器,然后在测试环境(浏览器)中启动,运行和检测每一个活动的输出状态。测试环境支持 IE6,IE7,FireFox2,FireFox3 四种浏览器。
图 7. 测试菜单
在 Project Tree 中,选择要测试的流程,在右键菜单中选择 Test on Sever ,如图 7 所示, Modeler 启动发布功能。Modeler 打包被测流程及其依赖流程的相关信息,然后传输至测试环境(WPS, Monitor Server),并将发布进度及过程中的服务器状态显示在图 8 所示对话框中。
图 8. 发布流程
发布过程结束后,出现图 9 所示的对话框提示用户随后会切换到测试环境(浏览器)。选择 Testing Instructions 按钮,可以获得更加详细的指导,这一设计可以帮助首次使用该功能的用户更容易的使用。选择 OK 钮,Modeler 自动启动系统默认浏览器,进入测试环境。
图 9. 切换至测试环境
测试环境是基于 WebSphere 业务空间(Business Space)产品架构,业务空间为测试环境提供了访问控制等功能。接下来使用发布流程的用户登录测试环境,如图 10 所示。
图 10. 测试环境登录
业务空间的页面是基于 Web 2.0 技术开发的的界面组件(Widget)所组成的。登录后所看到的流程测试页面包含 10 个 Widget,按功能可将它们分为三个部分,这三部分从上到下依次排列。第一部分包含 4 个 Widget,用户可在这一部分参与及影响流程运行。
图 11. 测试环境_启动流程
如图 11 所示,左上 Start Process Instance Widget 显示所有本次发布的流程,在这里可以启动选定流程的实例。右上 Enter Data Into Form. Widget 集成的 Lotus Form. Viewer 显示 Form. 供用户进行数据输入,是流程中所有人工任务(Human Task)的输入操作区。
图 12. 测试环境_人工任务
如图 12 所示,左下 Claim Available Tasks Widget 显示了流程执行中可供操作的人工任务,这些人工任务只对其在建模阶段设置的主用户(Primary Owner)是可见的。在人工任务被接受但却没有被完成的状态下,会被显示在右下 Work on Tasks Widget 中。
第二部分包含了两个 Widget,用户可在这一部分获得流程运行信息。如图 13 所示,上方 Process Execution Widget 显示了当前被测试流程的图形化信息。在这里,除了可以看到完整的流程图,还可以直观的得到流程的测试进程信息,已执行完成的区域被标记为橘黄色,正在执行的为蓝色。
图 13. 测试环境_流程图
如图 14 所示,下方 Process Execution Trace and Data Values Widget 以数状结构显示执行过程中每一个输入输出信息。
图 14. 测试环境_日志
以上介结的两部分数据及操作都只对应着 WPS 服务器,但是,如果在 Modeler 中,业务流程还包含业务度量信息,并且在环境准备中也已搭建 Monitor 服务器,那么还会有第三部分的界面组件显示在测试环境中,第三部分将在本文以下的指标监控章节中进行详尽的介绍。
在 Modeler V6.2 中,业务度量可以随流程同步通过直接部署的功能快速发布到 Monitor Server 上。用户在使用业务空间(Business Space)进行业务流程的调试过程中,可以实时地在 Business Space 中看到 Modeler 中定义的实例度量值(Instance Metric),关键业务指标(Key Performance Indicator, KPI)以及聚集度量值(Aggregate Metric)。
用户可用多种方法,根据需要定义出需要实时监测的业务度量。在 WPS 模式下,Modeler 能够通过内置的验证规则告诉用户直接部署功能不支持的业务度量类型和错误的业务度量定义。同时包含警告的度量定义将不会被部署到 Monitor Server 上去,也无法在 Business Space 的页面中看到对应监测值。Modeler 支持的业务度量类型的定义有:
- 通过预定义模板定义实例度量值或使用已有的实例度量值计算出新的实例度量。
- 在业务度量对话框中添加基于实例度量值的 KPI 或使用已有 KPI 计算出新的 KPI 值。
- 在业务度量视图的 Monitored Values 部分直接添加预定义的聚集度量值或直接添加基于实例度量值的聚集度量值。
下面分别介绍这三种业务度量的定义方法。
1. 如图 15 所示,用户可以在流程编辑器中的 Task, Human Task,Process,Business Rule,While Loop 以及 Global Service 等节点上直接通过右键菜单创建预定义的业务度量值。可选的预定义的业务度量列表会根据流程中节点的不同而不一样。当预定义的实例度量值不能满足用户全面的业务性能考察需求时,用户可以定义界面的 Instance Metric Calculation Details 部分提供的功能使用表达式扩展实例度量值的计算范围。
2. 用户可以在业务度量对话框中添加基于实例度量值的 KPI。根据指定的 KPI 的类型,数字(Number)或持续时间(Duration),用户可以选择具体的实例度量值和相应的计算函数完成对 KPI 的定义。如图 16 所示,对于完整的 KPI 的定义,用户还可以根据需求,添加范围列表,警报,收集时段和 KPI 数据过滤。这些定义的内容也会影响直接部署之后,在 Monitor Server 端监控的 KPI 数据的结果和 Business Space 展示的内容。对于 KPI,用户还可以通过构建表达式的方式在已有的 KPI 的基础上计算出新的 KPI 。
3. 用户可以在监控视图下的 Monitored Values 页面里使用勾选的方式,方便地定义流程中某一个分支结点的不同分支的流转百分比的聚集度量值。此时,Modeler 会根据勾选的具体一个分支,在业务度量的列表中自动生成对应的一个实例度量值和一个聚集度量值,如图 17 所示。这一类度量值的图标与其他业务度量的图标不同,用以标示该度量值是由于 Monitored Values 部分的需求自动生成的。用户可以根据已有的实例度量值,定义自己所需的聚集度量值。同时,也可以根据实例度量值,定义出聚集度量值要展现的多个维度(Dimension)信息。
与上文介绍的 Business Space 流程测试环境中的第一、二部分相对应的,在直接部署完成后流程测试环境的第三部分,可以看到对应的 Monitor Widget。这些 Widget 分别展示了所监控的实例度量值,KPI 和聚集度量值,如图 18 所示。
图 18. Business Space 中的 Monitor Widget
用户也可以通过每个 Widget 提供的配置功能,自定义 Widget 的显示数据内容和显示方式。例如:对于实例度量值,用户可以选择查看具体的业务数据的内容,如图 19 所示;对于 KPI 的监控,用户可以选择使用仪表板的方式取代缺省轴线的方式进行展示;对于聚集度量值的监控,用户可以选择是否查看数据表,是否查看直方图,并能够在直方图的 X 轴上右键选择聚合和展开对某一维度空间进行查看。
对于没有及时刷新的数据,用户需要展开 Widget 边框右上角的控制按钮所包含的菜单,从中选择刷新以更新 Monitor Server 所监控的数据。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14789789/viewspace-582712/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14789789/viewspace-582712/