使用 WebSphere 工具开发业务流程门户应用程序(Portal+Workflow)

本文通过一个普通的旅行编排业务场景说明了如何向最终用户提供一种有效处理任务的方法。使用业务流程集成(IBM® WebSphere® Portal Version 5.1 中的一个新功能)支持业务流程中需要人工参与的任务(例如,完成在线表单)。在本文中使用到了业务流程执行语言 (BPEL) ,基于 BPEL 的工作流在 WebSphere Business Integration Server Foundation Version 5.1.1 中运行。本文是为这样一些人撰写的:为了在其门户中支持业务处理而协作的业务流程设计人员、Portlet 应用程序开发人员,以及门户管理员。读者应该熟悉 Portlet 应用程序开发和业务流程设计。本文主要介绍了将业务流程集成到门户的编程的各个方面,没有详细描述业务流程建模。有关流程建模和工具的详细信息,请参阅参考资料。

引言

在随需应变的业务环境中,客户、员工和供应商之间的高效交互至关重要,各种业务需要允许这三方在业务流程中无缝地参与和协作。开发人员需要提供界面来支持与业务流程的人工交互,例如填写表单或对警告予以响应。需要在合适的时间将这些界面提供给合适的人,并且这些界面应该能够促进快速的操作和高效的处理。还需要向用户提供处理它们所需的信息、应用程序,以及表单。在本文中,将这些涉及人工交互的任务称为人工任务 (human task)。

在 WebSphere Portal 中,流程中的每一个面对人的活动都与一个任务页定义相关联,任务页定义的内容通常包含任务处理 Portlet。这些 Portlet 检索人员活动的输入消息,将消息显示给用户,获得用户输入,并将其写入系统中。该页上的其他 Portlet 不能与工作流系统直接进行通信,但可以帮助处理任务,因此称为支持 Portlet。有关业务集成功能的概述和更加详细的信息,请参阅 WebSphere Portal V5.1 Information Center 的集成业务流程部分。

当用户单击 My Tasks Portlet 中显示的某个任务时(该 Portlet 是 WebSphere Portal 所附带的,并为用户列出了所有任务),系统会在导航区中动态地向用户显示任务页。由关联的任务页定义来定义它的布局。用户可以使用该页上的 Portlet,一旦任务完成,此页就会消失。下面的场景说明了这一概念。本文的其他部分通过旅行请求审批 (Travel Request Approval) 示例场景向您演示了开发业务流程门户应用程序的步骤。



回页首


下载和运行示例应用程序

下载示例应用程序和源代码。解压缩 bp-portal-sample.zip 文件并打开 readme.html 文件,该文件描述了设置说明的内容和链接。



回页首


示例场景介绍

虚构的 ACME 公司的一名员工希望到纽约旅行,参加一个会议。他在预订旅行之前,需要发出一个旅行请求,他的请求必须经过经理的审批。他将旅行偏好作为请求的一部分进行定义,随后行政助理将利用这些偏好为他预订飞机。该旅行应用程序作为 ACME 公司员工门户的一部分提供。

下面是一个典型的交互流。

  1. 员工在浏览器中打开旅行请求页。此页包括一个旅行请求 Portlet,员工可以使用它来发出旅行请求,此页还包括一个状态 Portlet,它显示所有正在等待审批的旅行请求以及每个请求的当前状态。
  2. 员工将信息(例如,旅行的原因、目的地机场,以及启程日期)输入到旅行请求 Portlet 中,然后单击提交按钮发出请求。
  3. 在状态 Portlet 中将显示一个新的旅行请求(请参见图 1)
    图 1. Java Beans 视图
    Java Beans 视图
  4. 此员工的经理(目前正在门户中浏览)在顶部的导航区中看到一个警告,通知他有一个新的任务正在等待批准。
  5. 经理单击警告,门户显示当前的任务列表,该列表现在包含需要审批员工旅行的任务。
  6. 经理请求这项任务,然后单击它的标题。
    图 2:经理的任务列表
    经理的任务列表
  7. 门户显示一个新的页,此页包含用户先前输入的旅行请求详细信息和批准或拒绝请求的按钮。经理可以单击此页名称旁边的小 X 来关闭当前的任务页,并且在任何时候都可以重新打开。当经理单击某个按钮时,此页关闭,门户返回到 MyTasks Portlet。
    图 3:审批 Portlet
    审批 Portlet
  8. 然后,员工的行政助理接收到为旅行预订飞机的任务。他看到一个警告,单击警告来了解当前的任务。
  9. 助理声明这项任务,然后单击标题。门户显示一个页,此页包含一个旅行预订 Portlet,它显示员工的旅行偏好,还包含一个航班信息 Portlet,它显示匹配的各个航班。
  10. 助理选择一个航班,WebSphere Portal 的 Portlet 间通信(也称为协作 Portlet)机制将所选的航班数据传送到表单,因此该助理无需重新输入数据。
    图 4:行政助理使用自动填写的表单预订旅行
    行政助理使用自动填写的表单预订旅行
  11. 员工返回到旅行页来查看旅行请求的状态,看到现在的状态是已批准和已预订。

 

员工已为旅行做好了准备!

每个用户都可以轻松地处理自己的任务。用户无需担心需要使用的程序或者在何处获取进一步的信息。

您可以轻松地扩展该应用程序。若要添加其他有用的 Portlet(例如,经理的项目日历 (project calendar) 或行政助理的即时消息 Portlet),只需要将它们添加到适当的任务页定义中。



回页首


什么是业务流程门户应用程序?

业务流程门户应用程序包括:

  • 业务流程的定义
  • 启动流程的 Portlet
  • 处理人工任务的 Portlet
  • 任务页

 

创建业务流程门户应用程序涉及到几个团队成员或角色:

  • 流程设计人员定义业务流程,包括控件和数据流、输入和输出消息的语法,以及流程中包含的各个活动的语义。流程设计人员可以使用 WebSphere Business Intergration Modeler 和 WebSphere Application Developer Integration Edition V5.1.1 创建设计。
  • Portlet 应用程序开发人员使用 Rational Application Developer V6.0.0.1 开发 Portlet。
  • 门户管理员根据其领域的知识组合任务页的内容。门户管理员使用 WebSphere Portal 完成这项工作。

 

有时,所有这些角色和任务都是由一个开发人员处理。然而,如果不是这种情况(也就是说,多个人员处理这些角色),则流程设计人员必须向 Portlet 开发人员提供下面的信息和代码。

活动规范

活动规范详细描述了活动的目的、输入和输出消息相互关联的方式、消息中各个条目所接受的值,以及输出消息的期望结果。此规范还包含输入和输出消息的正确语法的定义。

生成的类

有两种情况需要交换生成的类。

  • 某个输入/输出消息是嵌套的或包含复杂的类型。在这种情况下,Portlet 必须有权访问这些类。
  • Portlet 开发人员应该使用一个已经生成且获得采用的 Web 服务或 EJB 接口来启动流程实例,而不是通用 EJB 接口。如果这不是必需的,则可以使用创建流程实例的通用 EJB 接口。在这种情况下,指定模板就够了。

 

由于门户公开的每一个人工活动都会分配到任务页定义中,因此每一个人员活动都需要有唯一的客户机 UI 标识符。为了保证其唯一性,可以重用 Java™ 包结构模式;例如,acme.travelrequests.approvalPage。流程设计人员需要指定该标识符,然后将它传递给门户管理员,门户管理员将其作为唯一名称分配到任务页定义中。



回页首


开发业务流程

可以使用 IBM WebSphere Application Developer Integration Edition V5.1.1(以下称为 Integration Edition)创建业务流程的门户连接。

检验旅行请求流程

图 5 显示了整个示例过程流。


图 5:流程模型
流程模型
  • 当接收到用户的输入时输入活动开始。输入活动启动旅行审批流程。
  • approveRequest 表示第一个人员活动。它需要经理根据员工提供的信息决定是否批准请求。
  • 流程引擎是路由到第二个人员活动(要求行政助理预订适当的航班的 bookFlight),还是直接路由到输出节点(如果经理拒绝员工的请求),这取决于经理的决定。
  • JavaSnippets 存储有关哪个人处理了哪项任务的信息。

将任务页定义分配到活动

应该在门户中处理的每一个活动都与一个任务页定义相关联。在示例应用程序中,approveRequest 活动与包含旅行审批 Portlet 的审批页相关联。应该使用的客户机 UI 标识符(唯一名称)是 wps.ApprovePage。bookFlight 活动与包含 FlightBooking 和 FlightSelect Portlet 的 FlightBook 页相关联。

结束语

在本文中,您已经了解如何创建利用 WebSphere Portal 中的业务流程集成功能的应用程序,以将人员、流程和信息连接到一起。您可以使用自己的 Portlet 扩展示例应用程序,或者用自己的版本替换现有的 Portlet。还可以启动公司现有的业务流程。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值