SOA案例研究:业务流程

日期: 2008-06-09 来源:TechTarget中国

  本文中的案例研究重点说明与开立新帐户的业务流程相关的挑战和解决方案。本红皮书描述如何使用“SOA 中的流程场景”的实现模式来解决与该案例研究相关的业务和 IT 挑战。


  案例研究简介


  JKHL Enterprises (JKHLE) 正在进行一系列的基本业务变更,期望最终能够获得最大收益。JKHLE 已决定采用 SOA 原则来解决其面临的业务和 IT 挑战。


  JKHLE 团队的工作重点是在各个销售渠道中以一致的方式解决因创建新客户帐户而带来的难题。此 SOA 采用计划被称为帐户开立项目 (Account Open Project)。使用 SOA 方法有利于在未来业务发生变化时进行更快的实现和提供更大的灵活性。


  我们在本红皮书中介绍的案例研究包括以下关键人员和角色:


  Sandy Osbourne-Archer,首席技术架构师
  Ian McCallen,集成开发人员
  Paige Alvarado,高级开发管理人员
  Ronnie Espinoza,业务分析人员


  帐户开立项目的挑战


  我们在本红皮书中定义的 JKHLE 帐户开立流程挑战与“SOA 中的流程场景”相关。


  帐户开立项目体系结构团队的工作重点是解决重大问题以及改变客户在开立 JKHLE 帐户时使用多种机制这一现状。他们希望从业务和 IT 这两个角度制定一种经过改进、单一的开立帐户机制。


  帐户开立项目将成为用于 JKHLE 中新的 SOA 实现的第一个测试用例。


  帐户开立项目的要求


  首席技术架构师 Sandy Osbourne-Archer 向她的团队简要介绍了此项目的目标。“我们希望使我们的 IT 基础结构与业务目标更好地保持一致,从而扭转我们当前所处的不利局面。


  由于这一局面会影响客户满意度,因此我们首先选择了修复帐户开立流程。”


  Paige Alvarado 是一名高级开发管理人员,就职于 Sandy 所带领的帐户开立项目体系结构团队。Paige 所在的组织负责对业务 (LOB) 和操作进行处理,以使新业务流程实现自动化。


  帐户开立流程要求将多个后端系统、人工工作流和组合服务集成在一起,以支持端到端解决方案。


  Sandy 已就此项目规定了一些明确的要求。


  REQ-01:自动化帐户开立激活流程


  JKHLE 的目标之一是通过最大限度地减少手工和纸面文档来自动化帐户开立激活流程。此外,还需要使 75% 的信用报告检索工作实现自动化,信用报告检索是帐户开立流程的一个子流程。


  REQ-02:合并信用验证和审批的人工交互操作


  全面的帐户开立流程解决方案需要包括支持信用验证和审批流程的人工工作流,信用验证和审批流程是帐户开立流程的一个子流程。


  REQ-03:提供帐户开立流程的实时视图


  此自动化流程应提供业务操作情况的实时视图,以测定和监视帐户开立项目和信用功能。


  将 SOA 实现模式应用于此案例研究:


  本部分将讨论 Paige 所在的团队如何在集成开发人员 Ian McCallen 的支持下更改和改进流程的自动化,从而优化帐户开立流程在支持 SOA 的环境中的执行。


  JKHLE 将使用“SOA 中的流程场景”中的流程自动化和人工工作流实现模式。


  业务流程的定义


  业务流程是以特定顺序调用以实现业务目标的一组业务相关的活动。业务流程由多项任务组成,这些任务包括:


  人工交互
  自动化工作流
  信息服务
  业务规则交互
  子流程
  调用功能和服务


  流程与服务之间的区别在于:流程由多项任务组成,表示为一项单独的服务或一组服务;而服务表示为单个可重复执行的业务任务(例如,检查客户信用)。图 1 显示了业务流程与服务之间的比较视图。



 


  图 1 业务流程与服务
 
  用于在计算平台上实现流程的实际行业标准是由Business Process &#101xecution 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

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐