级别: 初级 焦 玉昌 (jiaoyuc@cn.ibm.com), 软件工程师, IBM
2009 年 3 月 16 日 Business Space(业务空间)是 WebSphere Process Server V6.1.2 发布的新特性,是基于 mashup 技术构建的通用 UI 架构。本文将对 Business Space 基本概念和内容做简单介绍,以展现给读者一个关于 Business Space 的清晰框架;并通过对 Business Space 与业务流程管理(BPM)关系的介绍,向您展示 Business Space 实现业务流程管理的能力和方法;最后简单介绍 Business Space 与 IBM 其他产品的集成能力。
Business Space 简介
什么是 Business Space
 | |
业务空间不是单独的产品,而是 WebSphere BPM 套件中的每个产品附带的一项功能。它作为 Web 应用程序提供,并具有一组用于每个产品的小部件。
|
|
Business Space 是 IBM® 业务流程管理( Business Process Management )产品配备发布的通用 UI架构。与 IBM 业务流程管理( Business Process Management )产品不同,它面向业务人员,采用 mashup 技术构建视图,可以轻松地被业务人员客户化定制,为业务人员提供了业务流程管理的良好视图。用户访问 Business Space 视图,可以查看业务流程管理产品在当前应用场景中的实时状态,从而对业务流程做出及时的反馈。
在具体实现上,Business Space 采用了 Widgets 作为基本的视图单元,通过 REST API 获取运行时数据,使用户在同一个页面上方便地创建和组合不同产品的视图,并可动态定义单个视图的位置、大小等属性,实现了 Web 2.0 和以人为中心的业务流程管理。
Business Space 带来的优点
Business Space 为最终用户提供了丰富、全面的用户体验,并将所有的产品界面集成于统一的用户界面中。
Business Space 提供了单一的 web 登录入口,集成了业务流程管理产品,使用户无需关心已经部署的业务流程管理产品及其部署方式。
Business Space 为业务人员和 IT 开发人员提供了创建和发布内容丰富的交互界面的高效方法,为业务流程管理过程中所有参与者之间的协作提供了良好的协作平台;使 IT 开发人员将精力转移到业务和解决方案相关的问题上,脱离以开发部署为中心的传统方式。
Business Space 中已实现的可定制的 Widget
Widget 是 Business Space 中最基本的可定制单元。Widget 是可配置的图形化用户界面,它以可嵌入单元的形式提供给用户。一组 Widget 的集合称为页面(Page)。一组页面的集合就是 Business Space,中文译名为业务空间。
Business Space 为用户预定义了常用的 Widget 模板和 Space 模板,以方便用户自定义业务流程视图。下表按照业务流程管理产品分类详细地列出了 Business Space 中已经定义的 Widget 。 表1. Business Space 中预定义 widget 对 BPM 的支持
|
BPM 产品
|
Business Space中预定义的Widgets
| |
通用Widgets
|
编辑和查看:
-
演示
-
文档
-
电子表格
-
Web站点 (URLs)
-
Web Feed
Google工具:
| |
WebSphere Business Monitor
|
Business Monitoring:
-
Reports
-
Instances
-
Human Tasks
-
KPIs
-
Dimensions
-
Diagrams
-
Alerts
Business Monitoring Tools:
-
Export Values
-
Alert Subscriptions
-
KPI Manager
Human Tasks:
(Also Requires WPS)
-
My Team’s Tasks
-
Send Widget
| |
WebSphere Business Modeler Publishing Server
|
Reviewing:
-
Review Drafts
-
Inspect Released
-
Draft Manager
-
Released Manager
-
Publishing Server Status
-
Publishing Server Access Control
| |
WebSphere Process Server
|
Human Tasks:
-
Task Information
-
Available Tasks
-
My Tasks
-
Task Creation
-
Tasks Created by Me
-
Human Workflow Diagram
-
Team List
Real-time Business Configuration
| |
WebSphere Business Services Fabric
|
Real-time Business Configuration
|
在 Business Space 中实现业务流程管理
业务流程的设计和开发
IBM® 提供了成熟易用的软件产品帮助用户进行业务流程的设计和开发。IBM® WebSphere® Business Modeler 提供强大的业务流程建模,模拟,分析和报告功能,并可帮助用户优化其业务流程。IBM® WebSphere® Business Modeler Publishing Server 为 WebSphere® Business Modeler提供了模型发布能力,使得用户可以通过 web 浏览器查看业务流程模型。IBM® WebSphere® Integration Developer 可以快速组合业务解决方案,利用以业务流程执行语言 (BPEL) 为基础的单一编程模型描述各种形式的流程,提供大量功能来整合开发、测试和部署 WebSphere Process Server。
本节将讲述如何使用 IBM® WebSphere® Business Modeler 和 IBM® WebSphere® Integration Developer 设计和开发符合 Business Space 规范的业务流程。本文以电子商务业务中典型的商品选购过程为例,说明 Business Space 对业务流程管理的支持。
如下图 1 所示,客户通过提交基本信息激活流程,流程开始执行。流程执行过程中,通过人工任务 SelectOneProduct 来供客户选择自己感兴趣的产品分类,客户提交自己感兴趣的产品类型之后,激活流程中的下一个自动任务 getInterestProducts,此任务取得前一个任务用户输入的产品种类,查询并返回相应的产品列表。人工任务 SelectValueAddedProducts 将 getInterestProducts 返回的产品列表显示给用户,并由用户选定需要购买的最终产品,然后结帐离开。
图 1. 业务流程实例
在 IBM® WebSphere® Integration Developer 中定义流程的具体实现时,需要注意的是设置 Human Task Activity 的属性,将 User Interface 选定为 Business Space。同时在其属性栏中新建一个 web 工程,所有选项均为默认即可。此步骤完成之后,会生成一个新的 web 工程,此工程包含了处理人工任务的 widget 源代码,且为 html 格式。用户可以修改此 html 文件以实现进一步的客户化。
业务流程开发完成之后,将其部署到 WebSphere Process Server 中。
业务流程的执行过程
业务流程执行过程中,所有的人工任务 (Human Task) 可以在 Business Space 中被处理。Business Space 具体的配置和处理过程如下:
1.创建处理人工任务的业务空间(Business Space):
图 2. 创建新的Business Space实例
登入 Business Space,默认界面为 Business Space Manager 页面。点击左上角的“创建新的业务空间”按钮,在“从模板”下拉框中选择“Human Workflow”模板,在“输入新业务空间的名称”中输入“EBusiness Space”,。
2.执行人工任务:
打开刚刚创建成功的 EBusiness Space,包含三个页面:“My Work”,“Create Tasks”和“Viewers”。“My Work” 包含了处理人工任务需要的所有 Widget。如下图所示:
图 3. 执行人工任务
“My Tasks” widget 是所有被当前用户声明处理的任务列表。从任务列表中选定要处理的任务,可以对其执行三类操作:编辑、返回和移交。编辑是对当前选定的任务进行处理,选定任务的详细信息将显示在右侧的“Task Information” widget 中。根据流程设计和开发人员定义的业务接口,完成当前人工任务。此步骤类似于 WPS 中用 Business Process Choreographer Explorer 处理人工任务,在此不再赘述,读者可以参考 使用 WebSphere Process Server 构建以人工任务为中心的业务流程,第 1 部分: 使用 Business Process Choreographer Explorer 一文。当前用户也可以将选定的任务“返回”,即拒绝处理此任务并将其返还给任务的分发者。当前用户还可以将选定的任务“移交”给具有此任务处理权限的其他用户。此示例中,在 “Task Information widget” 中将表单信息填写完整,点击 widget 右下角的“提交”按钮,完成当前人工任务的处理,激活流程中的下一个活动。
当前页面上其它 widget 的功能是:
“Available Tasks” widget 是当前用户可处理的所有任务列表。
“Human Workflow Diagram” 是正在被当前用户处理的业务流程的图形化展示。
用户点击页面底部的“添加窗口小部件”按钮,还可以添加其他的 widget,辅助任务的处理。
另外,“Create Tasks”页面用于创建任务,“Viewers”页面用于查看业务流程相关的演示文稿以及电子表格。
在 Business Space 中实现业务监控
实现业务监控是业务流程管理中的非常重要的功能。Business Space 提供了与其他 IBM 产品集成的强大功能。通过将 Business Space 与 IBM® WebSphere® Business Monitor 的集成,可轻松地实现业务监控。
IBM® WebSphere® Business Monitor 是一项全面的实现业务活动监控的软件产品,提供了用户查看最新经营业绩的视图。下图展示了 Business Space 中集成 IBM® WebSphere® Business Monitor 关键业务指标视图的功能。
图 4. Business Space中集成业务监控视图
在 Business Space 中配置实现业务监控功能的具体步骤为:
1. 如果用户正在使用基于 web 的 dashboards,可以直接将基于 web 的 dashboards 迁移到Business Space 中。
步骤1 启动 Business Monitor 服务器。
步骤2 进入 server_directory/scripts.wbm/migration/dashboards 目录,如果用户使用的是 windows 操作系统,执行 upgradePages.bat 批处理文件;如果用户使用的是 Linux 操作系统,执行 upgradePages.sh。运行此命令时,需要指定以下参数:server_directory business_space_host business_space_port server_admin server_password,如:upgradePages.bat C:\Program Files\IBM\MonServer localhost 9080 wasadmin password。各个参数的具体含义为:
-
server_directory:WebSphere® Business Monitor 服务器的根路径
-
business_space_host:WebSphere® Business Monitor 服务器对应的主机名
-
business_space_port:WebSphere® Business Monitor 服务器HTTP端口
-
server_admin:WebSphere® Business Monitor 服务器管理员用户名
-
server_password:WebSphere® Business Monitor 服务器管理员密码
2. 启用业务监控相关的 widget。
IBM® WebSphere® Business Monitor 中的关键业务指标等信息以 widget 的形式集成于 Business Space 中,用户要查看此类 widget,必须先将其激活,即添加端点文件到 Business Space 所运行的服务器上,此端点文件配置 widget 获取数据的服务端点。
编辑 <profile_root>/BusinessSpace/registryData/monitorEndpoints.xml。
清单 1. monitorEndPoints.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- START NON-TRANSLATABLE -->
<tns:BusinessSpaceRegistry xmlns:tns="http://com.ibm.bspace/BusinessSpaceRegistry"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://com.ibm.bspace/BusinessSpaceRegistry BusinessSpaceRegistry.xsd ">
<tns:Endpoint action="addUpdate">
<tns:id>{com.ibm.wbimonitor}monitorServiceRootId</tns:id>
<tns:version>1.0.0.0</tns:version>
<tns:url>https://monitorServerIP:monitorServerPort/rest/</tns:url>
<tns:description>Location of backing services for Monitor widgets</tns:description>
</tns:Endpoint>
</tns:BusinessSpaceRegistry>
<!-- END NON-TRANSLATABLE -->
|
其中,action=“addUpdate”表示如果当前已经存在相同的端点注册文件,则用新添加的端点定义替换原端点定义,否则使用新添加的端点定义。Action 的类型也可以指定为 “add”、“update”或者“delete”之一。“add” 表示添加新的端点定义,但如果端点已经存在,原端点将不被替换;“update” 表示更新端点定义;“delete” 表示删除指定的端点定义。
<tns:url>https://monitorServerIP:monitorServerPort/rest/</tns:url> 用于指定远程的 IBM® WebSphere® Business Monitor 服务器对外提供 REST 服务的地址和端口。
配置完成后,登入 Business Space ,按照“业务流程的执行过程”一节中介绍的方式添加页面和 widget。可添加 的widget 包括 Reports、Instances、Human Tasks、KPIs、Dimensions、Diagrams 和 Alerts 等。
图 5. Business Space 中集成其他业务指标视图
Business Space 与 IBM 其他业务流程管理产品的集成
Business Space 采用 mashup 技术,支持与 IBM 其他业务流程管理产品进行集成。通过与 IBM 其他产品的集成,可以方便地将多种产品视图集成于同一用户界面中,帮助用户更好的工作,增强企业级聚合的应用。
可与 Business Space 集成的 IBM 产品列表如下。在集成的过程中,需要配置对应的端点文件以启用 Business Space 中相应的 widget。 表 3. IBM 其他产品 与 Business Space 集成时需要配置的端点文件
|
与 Business Space 集成的产品
|
端点文件
| |
WebSphere® Business Monitor
|
monitorEndpoints.xml
| |
WebSphere® Business Monitor with Alphablox
|
monitorABXEndpoints.xml
| |
WebSphere® Process Server Business Rules
|
wpsEndpoints.xml
| |
WebSphere® Business Services Fabric
|
fabricEndpoints.xml
| |
WebSphere® Process Server Business Process Choreographer
|
bpcEndpoints.xml
| |
WebSphere® Business Modeler Publishing Server
|
pubserverEndpoints.xml
|
结束语
Business Space 为业务流程管理的业务人员提供了方便且友好的通用 UI 视图。IBM 的每一个业务流程管理产品对应有不同的 widget 窗口小部件,这些不同的 widget 都可以集成到 Business Space 中,从而使得面向业务人员的 Business Space 功能丰富且灵活易用,为业务人员提供了统一的业务流程管理入口。Business Space 的出现,实现了业务流程管理 UI 端的集成。解决了之前不同 BPM 产品间查看和管理视图不统一,分散异构的问题。在传统的业务流程管理场景中,业务人员需要安装不同的 BPM 产品来查看业务流程管理不同阶段的设计和编码结果。如:没有 Business Space 特性,业务人员在处理人工任务时,需要通过 WebSphere Process Server 的 Business Process Choreographer Explorer,或者通过调用 WebSphere Process Server 的 API 进行编程,自定义用户界面。相比 Business Space 特性而言,这两种方式都会增加用户的工作难度;没有 Business Space 特性,业务人员需要不断的切换不同的 IBM 产品进行不同业务阶段的操作,而在 Business Space 中,业务人员轻松点击浏览器中不同的 widget 即可完成对应的业务操作,极大的降低了业务人员工作的复杂性,减轻了业务人员的工作负担。
综上,本文主要阐述了 Business Space 的基本概念和优点,并描述了如何使用 Business Space 实现业务流程管理以及 Business Space 与 IBM 其他产品的集成。
参考资料
关于作者  | |  | 焦玉昌:研究生毕业于山东大学计算机科学与技术学院,曾代表学校在 IBM CRL 参与合作项目。毕业后就职于 IBM SOA Design Center,目前主要从事 SOA 相关项目的开发工作。 |
对本文的评价
|