技术开发 频道

SOA案例研究,第7部分:业务流程管理

  Paige 解释了向 JKHLE 引入业务流程管理场景的优点。业务流程管理是组合软件功能和业务专业知识以加速流程改进和促进业务创新的学科。使用业务流程管理,JKHLE 可以构造能解决其现有业务问题的帐户开立流程,并且可以继续监视和更改此业务流程以适应不断变化的业务环境。

  JKHLE 将使用业务流程管理 SOA 场景中的以下实现模式:

  • 流程建模和模拟
  • 通过规则集成和管理来管理流程
  • 流程自动化和执行
  • 业务活动监视
  • 以内容为中心的处理

  流程建模和模拟

  Sandy 解释了 JKHLE 当前用于开立客户帐户的流程所存在的问题。当前流程要花 20 多天的时间才能激活新帐户。帐户开立流程需要大量的人工介入,使得该流程在时间和资源方面的成本非常高。

  JKHLE 中的每个部门具有稍微不同的帐户开立方式,从而在 JKHLE 中导致不一致和冗余的数据。

  Sandy 要求 Paige 为 JKHLE 设计能解决所有这些问题的更好的帐户开立流程。Sandy 提出了两个重要要求:

  • JKHLE 需要一种用关系图来表示当前帐户开立流程的方法,以便能够确定差距和需要进行业务流程优化的区域。
  • 设计完成后,JKHLE 需要能够与不同业务部门中的参与者共享新的改进的帐户开立流程以便进行审核和批准。

  建议的解决方案

  Paige 将 Sandy 介绍给了业务分析人员 Ronnie Espinoza。Ronnie 告诉 Sandy,用关系图表示流程的非常好的方法是对流程建模。Ronnie 描述了对流程建模的三个原因:

  • 为文档而建模

  通过建模来对帐户开立流程做文档记录,模型可以帮助 JKHLE 组织的各个领域了解该业务流程的功能。此模型可用于新员工培训和满足诸如 Sarbanes-Oxley 和 Basel II 等遵从性法律法规要求。

  • 为分析而建模

  Ronnie 将对该业务流程的当前状态(称为现有( As-Is )模型)和该业务流程的将来状态(称为预期( To-Be )模型)建模。然后她可以通过预期模型对工作负载进行模拟以确定其合理性。为分析而建模可帮助 JKHLE 了解其流程的哪些方面可以和应该进行改进以实现其业务目标(如降低成本和减少处理时间)。

  • 为执行而建模

  对预期业务流程建模的另一个优点是能够在该模型基础上生成构件,并使得那些构件对技术开发工具可用,从而构造新的帐户开立流程。

  通过在该模型基础上生成技术构件,构建新的帐户开立流程的总体实现时间得以缩短。

  Ronnie 向 Sandy 解释了她将如何使用建模来设计新的和改进的帐户开立流程(图 1)。

  1. Ronnie 将在 WebSphere® Business Modeler Advanced 中对当前帐户开立流程建模(现有模型)。

  2. Ronnie 将与 Ian 合作创建预期模型。Ian 也将在 WebSphere Business Modeler Advanced 中基于 JKHLE 的业务目标和基于 Ronnie 对现有模型缺点的分析来创建预期模型。

  Ronnie 和 Ian 将使用 WebSphere Business Modeler Advanced 的模拟功能来测试预期模型,以确定该模型对不同业务情形的反应情况。通过使用 WebSphere Business Modeler Advanced 的 WebSphere Process Server 模式,Ronnie 和 Ian 可以定义一个模型,为在 WebSphere Integration Developer 中进行组装的WS-BPEL 流程提供基础。

  此外,Ian 可以选择此阶段在 WebSphere Business Modeler 中定义业务规则,但是也可以选择推迟到以后进行定义(请参阅“通过规则集成和管理来管理流程”)。

  3. 当 Ronnie 和 Ian 满意地完成预期模型时,Ian 将把该模型导出到 WebSphere Business Modeler Publishing Server。

  参与者可以从 Publishing Server 检索该模型,并向 Ronnie 和 Ian 提供反馈。

  4. 当 Ronnie 和 Ian 从 JKHLE 参与者那里接收到反馈时,他们可以将该反馈整合到预期模型中,直到最终完成该模型。

  5. Ronnie 和 Ian 计划与 JKHLE 帐户经理 Peggy Smith 合作使用 Business Measures Designer 来指定一组与预期模型配套的关键性能指标 (KPI)。这些 KPI 将在以后用于监视新的帐户开立流程对其目标的满足情况。

  6. 完成预期模型并指定 KPI 之后,Ian 可以将构件从 WebSphere Business Modeler 导出到 WebSphere Business Monitor(可在 Monitor Model Editor 和 Unit Test Environment 进一步开发和测试这些构件),以及导出到 WebSphere Integration Developer(Ian 的开发团队将在其中使用诸如 WS-BPEL 和 WSDL 文件等构件作为构建实际帐户开立流程的起点)。

  图 1 建模和模拟

  Sandy 对 Ronnie 和 Ian 的角色之间的区别有点混淆。

  Paige 解释道:

  • 作为业务分析人员,Ronnie 的职责包括确定和记录需求,并从业务的角度分析这些需求。她定义当前和将来的操作场景(包括流程、模型、用例、计划和解决方案),并确保业务需求到 IT 解决方案需求的正确转换。
  • 作为集成开发人员,Ian 与业务分析人员携手工作。Ian 负责将资产和应用程序组件组装为完整的解决方案,并为彻底的测试和后续的部署而准备该解决方案。为了提供最终解决方案,Ian 与诸如测试、版本部署、软件和数据库开发等其他团队进行合作。

  Sandy 通过使用 WebSphere Business Modeler Advanced 发现,JKHLE 可以对当前帐户开立流程做文档记录,进行分析,然后对改进的流程建模。她还发现,这个预期模型形成了新的帐户开立流程的实际开发工作的起点。

  通过规则集成和管理来管理流程

  在“流程建模和模拟”中对预期的帐户开立业务流程建模之后,JKHLE 集成开发人员 Ian 正在准备他的团队,以便在 WebSphere Integration Developer 中构建新的帐户开立流程。

  Paige 关心业务逻辑在新的帐户开立流程中的集成。她知道帐户开立流程需要嵌入业务逻辑以定义策略、业务需求、安全规则等等。但是,她担心随着业务需要的变化,硬编码此业务逻辑将限制帐户开立流程的灵活性。

  Ian 解释说,可以将业务逻辑分解为单独的业务规则,并且无需修改帐户开立业务流程即可修改和管理这些业务规则。

  建议的解决方案

  Ian 解释道,该帐户开立业务流程将在 WebSphere Process Server 中运行,并提供了对 WebSphere Process Server Business Rules 的支持。使用此支持,可以使用简单的规则格式语言在 WebSphere Integration Developer 中定义业务规则,并将其整合到帐户开立业务流程中。当从业务流程中外部化这些业务规则时,无需任何开发工作即可更改这些业务规则。

  Ian 解释道,该帐户开立业务流程将在 WebSphere Process Server 中运行,并提供了对 WebSphere Process Server Business Rules 的支持。使用此支持,可以使用简单的规则格式语言在 WebSphere Integration Developer 中定义业务规则,并将其整合到帐户开立业务流程中。当从业务流程中外部化这些业务规则时,无需任何开发工作即可更改这些业务规则。

  WebSphere Process Server Business Rules 通过 Web 应用程序为 JKHLE 的业务分析人员提供运行时管理,该 Web 应用程序允许分析人员对业务规则进行更改,从而更改帐户开立流程的运行时行为方式(请参见图 2)。

  图 2 WebSphere Process Server Business Rules

  当业务发生变化并且需要修改新的帐户开立流程时,可以使用 Business Rule Manager Web 应用程序来更新业务规则。当将 Business Rule Manager Web 应用程序角色映射到所有规则的组或用户时,Ian 还可以对业务规则启用安全性。

  Ian 解释道,该帐户开立流程具有整合更复杂业务规则需求的将来计划。例如,Ian 希望控制哪些角色有权对帐户开立流程中的不同规则作出更改。他还希望对帐户开立流程所使用的业务规则添加批准流程。对于这些更高级的需求,Ian 计划利用 WebSphere Process Server 与第三方业务规则供应商之间的集成功能。

  流程自动化和执行

  在 WebSphere Business Modeler 中对预期帐户开立流程建模(请参见“流程建模和模拟”),并将新流程的业务逻辑定义为业务规则(请参见“通过规则集成和管理来管理流程”)以后,Ian 和他的开发团队准备开始帐户开立业务流程的实现。

  预期帐户开立业务流程的建模满足下列业务挑战和需求:

  • 通过缩短开立新客户帐户的服务时间来提高客户满意度。
  • 通过自动化手动流程来提高员工工作效率。
  • 通过自动化多个应用程序和后端系统之间的集成来改进企业数据的一致性和流通性。
  • 捕获并监视有关员工工作效率和服务时间的度量。

  建议的解决方案

  Ian 及其开发团队将使用 IBM® WebSphere Integration Developer 和 Rational® Software Architect 来实现帐户开立流程。然后将在此工具中构造的帐户开立流程部署到 WebSphere Process Server。图 3 显示了开发拓扑。

  图 3 流程自动化和执行拓扑

  Ian 使用帐户开立预期模型中的构件作为起点。

  这些构件是在 WebSphere Business Modeler 中生成的,并且可以导入 WebSphere Integration Developer。然后,Ian 可以构建一个利用自动化和手动活动(通过人工介入完成的活动)、与后端通信的适配器和公共数据模型的业务流程。WebSphere Integration Developer 提供了必需的工具:

  • 用于完成流程流的 BPEL 编辑器。
  • 用于完成数据模型实现的业务对象编辑器。
  • 用于最终完成接口的接口编辑器。
  • 用于最终完成人工交互定义的人工任务。
  • 用于挂钩 BPEL 流程、人工任务、选择器(定义要调用哪些组件)和所需服务的组装编辑器。
  • 用于定义以状态为中心的业务流程的业务状态机(BSM 编辑器)。

  Rational Software Architect 用作为帐户开立流程开发新服务以及开发可视化接口(例如 Portlet 和 Java™ Server Faces 解决方案)的主要开发工具。

  使用 WebSphere Integration Developer 的测试环境和测试客户端工具,Ian 及其团队可以测试帐户开立流程中的每个单独组件和作为整体的流程。

  完成单元测试后,Ian 可以将企业应用程序从 WebSphere Integration Developer 导出,并将它们提供给质量工程师经理 Eugene Testrite 进行质量保证测试。

0
相关文章