本部分将讨论 Paige 所在的团队如何在集成开发人员 Ian McCallen 的支持下更改和改进流程的自动化,从而优化帐户开立流程在支持 SOA 的环境中的执行。
JKHLE 将使用“SOA 中的流程场景”中的流程自动化和人工工作流实现模式。
业务流程的定义
业务流程是以特定顺序调用以实现业务目标的一组业务相关的活动。业务流程由多项任务组成,这些任务包括:
- 人工交互
- 自动化工作流
- 信息服务
- 业务规则交互
- 子流程
- 调用功能和服务
流程与服务之间的区别在于:流程由多项任务组成,表示为一项单独的服务或一组服务;而服务表示为单个可重复执行的业务任务(例如,检查客户信用)。图 1 显示了业务流程与服务之间的比较视图。
>图 1 业务流程与服务

用于在计算平台上实现流程的实际行业标准是由Business Process Execution Language for Web Services(WS-BPEL)表示的。WS-BPEL 是一种基于 XML 的语言,允许您为构成业务流程的多个服务定义逻辑执行流。
流程自动化和人工工作流
Ian 向 Paige 建议了一种解决方案,用于描述带有集成人工工作流的全自动化流程,从而实现对信用审批流程的管理。Ian 提醒 Paige 说,在构建此业务流程之前,已经完成了以下的几件事情:
- 业务分析人员 Ronnie Espinoza 使用 IBM WebSphere Business Monitor® 记录并分析当前的帐户开立流程。这称为“原样”(As-Is)模型。
- Ronnie 和 Ian 一起协同工作,根据对“原样”模型的分析建立一种新的经过改进的流程模型,这称为“未来”(To-Be)模型。Ronnie 使用 WebSphere Business Modeler 的模拟功能执行统计分析,并使用假设分析 (what-if) 场景确定并纠正瓶颈和工作负载不平衡问题。
Ian 告诉 Paige,帐户开立流程将构建为 WS-BPEL 流程。他向 Paige 介绍了将用于构建此流程的 IBM® 产品,以及这些产品适合用于 SOA 生命周期中的哪些阶段(请参见图 2)。
图 2 产品和 SOA 生命周期阶段

图 2 中所示的产品分别用于以下用途:
- IBM WebSphere Integration Developer 和 IBM Rational® Software Architect 用于创建帐户开立流程的业务对象、接口和 WS-BPEL 流程。
- IBM WebSphere Process Server 是将运行帐户开立 WS-BPEL 流程的运行时。
- IBM WebSphere Portal Server 提供一种有效方式来在帐户开立流程的上下文中表示分配给用户的任务。
- IBM WebSphere Business Monitor 用于捕获关键状态更改和业务事件。
组装业务流程
Ian 评估并利用现有服务和资产。同时他还创建一些新服务来自动化帐户开立业务流程。现有的这些服务和资产会作为服务公开,与新创建的服务一道,它们将在在业务流程中充分发挥作用。业务流程可以使用服务组件体系结构 (SCA) 服务,也可以由其他 SCA 服务使用。在 SCA 服务与流程之间交换 Web 服务描述语言 (WSDL) 消息数据的方式取决于如何对流程进行建模。
注意:SCA 允许开发人员将组件交互分组为多个可执行模块,从而构建面向组件的解决方案。WebSphere Process Server 中的所有集成构件(流程、业务规则、人工任务等)都表示为 SCA 服务组件。SCA 可以通过同步和异步编程样式调用服务组件。
Ian 将 WebSphere Integration Developer 用作组装帐户开立流程的主要开发工具。通过 WebSphere Integration Developer,Ian 可以使用以下几种编辑器来构建所需的其他组件:
集成的 BPEL 编辑器,用于在创建业务流程时为团队提供支持。
人工任务编辑器,用于定义人工任务。
业务规则编辑器,用于创建、管理业务规则,并将业务规则与流程相关联。
组装编辑器,用于支持服务的实际组装,以便组合可执行业务流程。
Ian 还将 Rational Software Architect 用作主要开发工具,通过此工具来支持开发新服务以及可视化接口(如 Portlet 和 Java™ Server Faces 解决方案)的需求。
在 Ian 构建实际的帐户开立流程之后,JKHLE 团队需要按照制定的测试计划对解决方案组件进行测试。WebSphere Integration Developer 为测试 SOA 组件和解决方案构件提供了图形化工具。
部署业务流程
JKHLE 需要将帐户开立流程的构件(WS-BPEL 流程、新服务、Portlet 等)部署到生产环境中。
JKHLE 环境包括 WebSphere Process Server 实现,此实现是基于 SOA 的流程自动化的集成运行时。WebSphere Process Server 为组装步骤中定义的所有组件提供了运行时引擎。
帐户开立流程包含需要人工介入的活动,因此 JKHLE 需要向 WebSphere Portal Server 中安装和部署构件。
此运行时组件提供可用于将帐户开立应用程序与客户帐户开立接口集成在一起的容器,用于支持持续信用管理功能的信用管理工作区,以及用于支持关键业务性能指标可视化的 VP Finance 仪表板。
在开发和部署帐户开立流程时,任何确定的非功能性需求都必须在此阶段反映出来。结果,已部署环境的体系结构需要支持 JKHLE 的性能、可用性、安全性或其他非功能性需求。
管理业务流程
JKHLE 的需求之一是提供业务级别和 IT 操作监视。
IT 操作监视是使用 IBM Tivoli® Composite Application Manager for SOA 产品完成的。
IBM Tivoli Composite Application Manager for SOA 能够深入查看和收集 WebSphere Process Server 和 WebSphere Portal 运行时环境的诊断信息。JKHLE 使用此产品支持从 WebSphere Process Server 中查看服务交互,并且使用一些实际服务支持帐户开立应用程序。
配合使用 IT 操作监视后,JKHLE 还必须利用业务监视——JKHLE 帐户开立解决方案的一个重要方面。业务监视的目的是提供有关 JKHLE 帐户开立解决方案的状态和结果的实时信息,以便能够作出明智的业务决策,能够快速解决问题,并且能够对组织进行重新定位,使其充分利用新出现的机会。JKHLE 团队(可能为 IT 部门或业务部门)可以监视处理中的项目并通过重新分配、重新设置优先级或挂起它们来执行修正操作。他们可以使用实际流程标准来解答假设分析问题并改进流程。
总结
Sandy 和 Paige 非常喜欢 Ian 组装的业务流程解决方案。此新的帐户开立业务流程改善了响应时间,并显著提高了客户满意度。此外,由于 JKHLE 可以使用从监视中得到的结果反过来指导对业务流程的更改,以使业务流程与 IT 目标保持一致,因此该流程还能实现持续改进。
总的来说,JKHLE 使用以下 IBM 产品在其环境中实现“SOA 中的流程场景”:
- 组装:
- IBM WebSphere Integration Developer
- IBM Rational Software Architect
- 部署:
- IBM WebSphere Process Server
- IBM WebSphere Portal Server
- 管理:
- IBM WebSphere Business Monitor