UML软件工程组织

 

 

业务流程管理和 SOA
2008-08-29 作者:Tilak Mitra 来源:IBM
 
本文内容包括:
使用 IBM® SOA 基础生命周期查看软件开发生命周期上下文中的面向服务的体系结构 (SOA)。“体系结构实践”系列的这一部分将重点讨论 SOA 场景中的第三个场景,即业务流程管理 (BPM) 场景。了解 BPM 场景如何使用 SOA 方法演示 IBM BPM。探索此场景的优点,其中包括 BPM 环境与灵活的 IT 体系结构的集成。

引言

体系结构实践 系列文章的第 1 部分“理解面向服务的体系结构”讨论了 IBM 的面向服务的体系结构 (SOA) 基础生命周期,以及其如何允许 IBM 客户从软件开发生命周期的角度来考虑 SOA。第一部分详细讨论了 IBM SOA 生命周期的四个阶段:建模、组装、部署和管理。

本文将重点讨论 SOA 解决方案场景中的第三个:BPM 场景。客户通常使用打包的应用程序(ERP、供应链,等等)来管理其关键业务流程。然而,根据 Gartner 的调查,到 2008 年,“用户将寻求业务流程平台作为编排自定义业务流程的手段,以满足不断变化的业务模型和流程的需求。”

要获得竞争或差异化优势,企业必须确保其经营模型的改进速度快于其竞争对手。经营模型的一个组成部分是其可执行业务流程集。BPM 是一个学科,将结合使用用于控制组织跨功能的核心业务流程的工具和方法。(第 6 部分为何业务流程管理 (BPM) 对企业非常重要定义了 BPM,并讨论为何 BPM 对希望保持竞争力的任何组织都很重要。)

在本文中,将了解 BPM 场景的优点,特别是 BPM 环境与灵活的 IT 体系结构的集成。在此场景中,业务流程(包含涉及人员、系统和信息的任务)通常表示为服务 或服务集。您可以使用和重用服务以构建其他流程,从而加快流程变更。此集成的方法使领域专家可以使用可重用的业务服务来创建业务流程,这样可简化业务流程的分解和构建,从而加快业务创新。

虽然文中提到了许多工具和产品,但是阐述所有这些工具和产品已超出了本文的范围。可以使用参考资料来进一步探索相关主题。

BPM 场景

BPM 通过在完整的生命周期内对业务流程进行建模、开发、部署和管理来实现业务策略,从而引导业务创新。业务通过 BPM 可以定义和实现战略目标。BPM 还有助于针对这些目标来度量企业的财务和运营效率。

BPM 将业务体系结构与 IT 体系结构整合,以帮助企业通过 IT 操作实现其战略。从最基础的角度而言,业务体系结构除其他构造之外,还包括可执行和可度量的业务流程。在理想的业务体系结构中,统一人员、信息和技术以创建包括业务度量和 IT 系统性能的具有实时智能的单一集成视图。

BPM 场景是通过一组支持将业务策略转换为 IT 操作的产品来实现的。该套件包括:

  • 使业务运行和经营实现数字化的 BPM 工具。
  • 开发和基础设施工具,用于支持开发、实现和部署涵盖业务流程模型的 IT 服务。
  • 用于监视和管理业务流程和相关 IT 系统的运行时实现的 BPM 工具。

BPM 场景的通用用例

本系列的第 2 部分概述了使用 SOA 场景的过程。该过程的关键部分是使用条件来选择场景。图 1 是 SOA 场景中使用的部分通用用例的列表。其中三个场景(U9、U10 和 U11)与 BPM 场景对应并由其实现。

图 1. SOA 场景中部分通用用例的列表
SOA 场景中部分通用用例的列表

U9 通常应用于以下场景:客户的现有业务流程同时使用自动和手动任务,并且在流程执行过程中遇到一些瓶颈。目标是通过模拟“原有”流程和识别瓶颈区域及低效情况来改进整体流程,从而提高现有业务流程的效率。

U10 通常应用于以下场景:客户正在寻求为 SOA 解决方案开发自顶向下的方法。他们希望实现通常在企业中运行的业务流程的数字化。然后部署 IT 体系结构技术以确认协同工作的软件构件(服务和 IT 组件)来实现业务流程。

U11 通常应用于以下场景:企业拥有可执行业务流程,他们希望监视这些流程以符合他们关键性能指标 (KPI) 的度量标准集。这些企业正在寻求对其业务流程进行持续改进。因此他们希望通过异常为流程监视和管理奠定坚实的基础。

生成 BPM 场景的第一步是将给定问题域的功能需求映射到上述三个通用用例之一。

BPM 场景生命周期

BPM 场景的实现方式可以是对典型 SOA 解决方案的生命周期的建模、组装、部署和管理的实现。IBM WebSphere® 商标拥有一个核心产品集,它们彼此协作以提供端到端的 BPM 场景实现。图 2 显示了这些产品的协作方式。

图 2. 支持业务流程的完整生命周期
支持业务流程的完整生命周期
建模阶段
我们建议此阶段使用 IBM WebSphere Business Modeler。对流程流的可视建模可协助确定实际流程中的瓶颈、连接断开和效率低下的情况。流程所有者可快速查看需要改进和自动化的领域,并寻找减少错误周期的方法。

您还可以使用流程模型作为通用的业务交流工具,以记录和说明系统集成商、开发人员、贸易合作伙伴、监管人员和业务流程外包商的工作。WebSphere Business Modeler 专门为业务分析人员设计,接收来自业务参与者的输入,对业务流程进行建模、模拟和优化。它还可帮助您在将流程模型提交给 IT 设计和实现团队之前将业务性能度量和标准整合到模型中。

组装阶段
旨在组装业务流程,您可以使用 IBM WebSphere Integration Developer。IT 团队使用 WebSphere Integration Developer 将业务流程分解为子流程,然后逐层展开到活动和任务。架构师使用相同的工具并基于 SOA 指导原则和最佳实践来确定和设计服务,以实现给定业务流程中的活动和子流程。使用此工具,您可以:
  • 导入自定义开发的服务,其可以使用诸如 IBM Rational® Application Developer 之类的工具或平台开发,或者在其他任何与 J2EE 或 .NET 兼容的开发环境中开发。
  • 从现有服务资产存储库中获取服务,如 IBM WebSphere Service Registry and Repository。
  • 通过包装使用技术特定适配器(如 IBM WebSphere Adapter 产品套件中的 Siebel Adapter 或 SAP adapter)的现有遗留功能来设计服务。

WebSphere Business Modeler 中的业务流程模型可以导出为业务流程执行语言(Business Process Execution Language,BPEL),该格式是它支持的大量导出格式之一。接下来,可以将业务流程的 BPEL 表示形式转换为 WebSphere Integration Developer,然后后者通过编排在企业服务组合中定义的服务来标记启用流程的起点。使用 WebSphere Integration Developer 中的组装编辑器将来自组合的服务连接在一起。输出的结果为与 BPEL 兼容的业务流程实现。

部署阶段
IBM WebSphere Process Server 平台可以运行这些业务流程。WebSphere Process Server 是用于执行与 BPEL 兼容业务流程的强健、灵活和高性能的运行时平台。WebSphere Process Server 是基于 IBM WebSphere Application Server 构建的。它利用必须运行任务关键型业务流程和应用程序的平台功能。

WebSphere Process Server 很好地集成了多种可用于 WebSphere 平台的企业服务总线 (ESB)。它对于服务使用者和服务提供者之间的服务调用执行复杂的中介、转换和路由操作。对 ESB 的使用通过支持异构协议、标准、消息格式和技术来充实 SOA 解决方案。

管理阶段
对于可执行业务流程和服务形式的支持 IT 资产进行监视,以符合服务水平协议、性能指标和业务强制标准。企业使用通过 SOA 支持的 BPM 作为业务和 IT 策略来提高企业经营模型的灵活性和响应能力,而监视服务和流程执行对于演示这一方面的投资回报是必不可少的。

IBM WebSphere Business Monitor 提供对流程性能的实时可见性,以支持流程介入。可以持续改进 KPI 的可视化。可以监视业务的健康状态,并确定出现的问题以便立即解决。WebSphere Business Monitor 还支持对 WebSphere Process Server 中运行的流程进行监视。

IBM Tivoli® Composite Application Manager for SOA 提供对 Web 服务交互的实时可视性。使用该工具可以监视在 WebSphere Process Server 内外调用的 Web 服务。

目标可视性和实时执行中的度量与数据的集合可帮助我们了解服务和业务流程中的性能瓶颈。持续改进企业为其客户提供的服务是企业价值主张中的一个非常重要的方面。从 WebSphere Business Monitor 和 Tivoli Composite Application Manager for SOA 中收集的数据反馈给 WebSphere Business Modeler,然后通过模拟来确定瓶颈和其他问题。您可以使用模拟来定义和设计下一级别的改进。BPM 生命周期使企业可以以增量方式改进其业务流程和保持市场优势。

工具概述

在 BPM 场景的典型实现中推荐的工具和产品包括:

产品 阶段
WebSphere Business Modeler 建模
WebSphere Integration Developer 组装
WebSphere Process Server 部署
WebSphere Business Monitor 和 Tivoli Composite Application Manager for SOA 监视

对于开发自定义服务,还可以使用 IBM Rational Application Developer。可以使用 WebSphere Adapter 套件中的适配器来包装遗留和打包应用程序中的功能。

这一部分概述了 WebSphere Business Modeler、WebSphere Integration Developer、WebSphere Process Server 和 WebSphere Business Monitor 的一些特色功能。

WebSphere Business Modeler

WebSphere Business Modeler 本质上是一种在定义和设计业务流程方面为分析人员提供帮助的工具。客户对其流程进行建模主要是为了满足遵从性、文档、重新设计和执行方面的需求。上述任何目标都可通过 WebSphere Business Modeler 来实现,该工具提供了自顶向下的 BPM 设计方法。

一些组织具有一些战术性需求以便准确地记录法律、法规、培训或用于其他目的的流程。WebSphere Business Modeler 集易用性、共享模型元素、文档附件和协作等功能于一身,对于实现上述需求非常有吸引力。

许多企业正在进行特定的流程改进活动,其中流程重新设计或者已开始,或者是不可避免的。WebSphere Business Modeler 中的分析、报告、模拟和流程比较功能使该工具在流程重新设计方面非常强大。分析建模可帮助客户了解其流程的哪些方面可以和应该进行改进以实现其业务目标(如降低成本或减少处理时间)。

当组织选择实现新的“将来”流程时,WebSphere Business Modeler 可以提供来自业务模型的构件,这些构件适合在 IT 社区开始向流程模型添加实现细节时使用。这些细节可改进从业务领域到技术领域的转换的准确性,从而有助于减少实现时间。

为了创建业务流程的完整视图,在建模工具中必须描述多个模型或维度。WebSphere Business Modeler 支持下列维度或方面,以提供全面的建模平台:

流程模型
通过拖放操作来创建图形视图,即流程模型的可视表示形式。
资源模型
定义资源类型、模板和实例,并将其与流程关联。
信息模型
定义数据及其属性,以说明数据在业务流程中的使用方式。
组织模型
定义组织单位和位置。以结构化图形显示角色、资源和其他组织元素。
分析模型
定义和分析流程元素的静态关系和模拟的动态行为。
业务度量模型
定义表示要监视的关键性能特征的 KPI 和标准。您可以将此模型从建模工具中导出,并作为 WebSphere Business Monitor 工具的输入,以便对可执行业务流程进行实时性能分析。

WebSphere Business Modeler 还支持协作和团队支持,帮助发布基于浏览器访问的模型,同时在集中存储库(如 CVS、IBM Rational ClearCas,等等)中共享模型。图 3 显示了一个示例。

WebSphere Business Modeler 支持多种输出功能,从而可以与典型 SOA 部署的下游阶段很好地集成。在该能力方面,WebSphere Business Modeler 以统一建模语言的形式导出模型,以便导入体系结构和设计工具(如 IBM Rational Software Architect),以及:

  • 导出为 XML 模式定义 (XSD),用于在像 IBM Rational Data Architect 这样的工具中定义逻辑数据模型或信息模型。
  • 导出为 BPEL,以导入流程协调和实现工具(如 WebSphere Integration Developer),从而通过连接服务来实现流程。
还支持其他一些导出格式,但上述格式是 BPM 解决方案中最常用的。

 图 3. 典型 BPM 解决方案中的 WebSphere Business Modeler
BPM 解决方案中的 WBM

通常在正式的需求管理工具中记录功能需求,如 IBM Rational RequisitePro。WebSphere Business Modeler 与 Rational RequisitePro 集成,因此您可以导入需求并使用它们来驱动流程建模活动。该集成提供建模对象和需求之间的跟踪能力。图 3 显示了 WebSphere Business Modeler 非常适用于 BPM 解决方案的集成工具环境。

您可以将流程模型的 UML 导出作为活动模型导入到 Rational Software Architect 中,以作为解决方案的下游设计和体系结构。可以将 WebSphere Business Modeler 的 BPEL 导出直接导入到 WebSphere Integration Developer 中,在其中表示用于下游协调的 BPEL 流程,并基于服务组件体系结构 (SCA) 规范连接服务。然后可以将模型发布到门户,于是可以在团队环境中检查这些模型并可以请求反馈。

WebSphere Business Modeler 包括三款不同产品:

Basic
具有流程设计、报告和共享的功能。它支持三种不同的编辑模式:基础、中级和高级。支持 Visio 导入和泳道编辑。
Advanced
包含 Basic 的所有功能,加上:
  • 模拟和分析
  • 转换构件和将构件移交给 IT(BPEL、UML、XSD 和 Web 服务描述语言)
  • 创建用于监控目的的业务度量
  • 能够将模型发布到发布服务器,以进行 Web 发布和协作
Publisher
由 Advanced 版用户发布的任何模型的存储位置,供经过授权的 Web 浏览器用户查看。服务器还提供针对模型查看的访问控制,以及针对处于检查中的任何草稿元素的所有评论或问题的访问控制。当流程模型全部或部分完成时,可以创建 Business Measures 模型,以便为流程部署后的监视定义适当的度量。该模型包括几个机制和构造,用户可以使用它们来构建自定义度量,以便为业务提供运行中流程的性能信息。

除其他功能之外,您还可以定义以下内容:

  • 在业务流程执行期间监控的对象
  • 在业务流程和活动级别的 KPI 和标准
  • 基于业务状况的可操作出站事件(警报)

这些特性和功能使 WebSphere Business Modeler 特别适合 BPM 场景中的建模阶段的活动。

WebSphere Integration Developer

WebSphere Integration Developer 是基于 Eclipse 的工具,其设计旨在帮助创建业务流程流、状态机和业务规则。WebSphere Integration Developer 完全支持:

  • BPEL 语言和 IBM 针对人工任务的 BPEL 扩展,以添加捕获人工到流程、流程到人工,或甚至人工到人工交互的能力。
  • 服务组件体系结构 (SCA),包括用于组装服务组件的连接编辑器,因此您可以导入服务接口定义和设置绑定策略。SCA 使用 BPEL 将业务流程任务组装到工作流中,然后可以将工作流部署到 WebSphere Process Server 中。
开发人员可以使用组装或连接编辑器将服务组件组合到模块 中,并指定模块将哪些服务接口公开给外部使用者。

WebSphere Integration Developer 还定义了通用 来存储将跨模块共享的构件,如接口或数据映射。模块通过导出来公开其功能,并通过导入来使用其他模块的功能。可以使用连接来连接模块以构成完整的集成解决方案或复合应用程序。

模块是设计为用于封装的单元,它是服务组件的容器。服务组件表示业务规则、人工任务、流程,等等。无论是模块内的服务组件的类型还是数量,都会影响任何面向服务的集成场景中的每个模块与其他模块交互的方式。

服务组件可以通过多种服务实现类型来实现。下表列出了在 WebSphere Integration Developer 中受支持的服务实现类型。

业务流程 由一系列按照指定顺序执行的(串行或并行)活动或步骤组成。它为协调企业服务和描述业务逻辑提供了主要手段。根据 Web 服务和 BPEL 规范,业务流程本身可以表示为服务和导出为 WSDL。
业务状态机 基于事件的业务事务,其中为应用程序的给定部分定义一系列的状态。它根据所接收的外部事件,从某个有效状态转移到另一个有效状态。具有循环状态和可能拥有事件循环的应用程序或其一部分在概念上以业务状态机表示。

WebSphere Integration Developer 提供了状态机编辑器和图形界面,可用于定义状态机。只需很少或不需要 Java™ 编程经验。

业务规则 提供以一种可以从核心业务逻辑实现进行封装和外部化的格式来表示业务规则的能力。规则和策略被认为是 SOA 中的首要构造,因为它们是可以跨多个应用程序和业务流程重用的构建块。

WebSphere Integration Developer 提供了业务规则编辑器,允许以规则集和决策表的形式指定业务规则。

选择器 提供基于可配置参数将服务请求动态路由到不同服务实现的能力。当前支持的参数为日历日期。为服务实现的动态端点选择提供框架。
接口映射 描述了如何将一种服务的操作转换为另一服务的操作。使用接口映射编辑器,可以通过图形机制并通过拖放操作在一组接口之间映射操作和输入与输出消息。该映射使 WebSphere Integration Developer 可以同质化源和目标服务对之间的任何差异。
业务对象编辑器 也称作数据映射,用来将业务数据从一种类型转换为另一种类型。在协调异构系统时,甚至在正常业务逻辑的某个部分,常常需要将一个业务对象映射到另一个业务对象。业务对象编辑器通过支持 1—1、1—m、m—1、m—n 映射关系提供用于映射业务对象的图形机制。
人工任务 封装由人来完成的一组工作。它提供了封装下属和经理之间的升级流程的能力。您可以使用图形化的人工任务编辑器对其进行配置。支持将人工任务作为服务实现机制,从而使人工任务可以加入业务流程。

在集成开发环境(如 IBM Rational Software Architect)中作为服务实现的业务逻辑可以作为合作伙伴链接 导入到 WebSphere Integration Developer 中,接下来可用于流程协调。您还可以将在存储库(如 WebSphere Service Registry and Repository)中提供的服务作为合作伙伴链接导入到 WebSphere Integration Developer 中。然后可以使用它们来实现业务流程。WebSphere Integration Developer 提供了与 WebSphere Adapter 套件中的现有遗留和打包应用程序集成的有效机制。

您在 WebSphere Integration Developer 中开发和打包的模块和库可以无缝地部署。

WebSphere Process Server

WebSphere Process Server 提供了用于执行为遵从 Web 服务和 BPEL 规范而开发的业务流程的运行时环境。它还提供了以下功能:

  • 支持基于 SCA 和服务数据对象 (SDO) 技术的 IBM SOA 编程模型。
  • 为使用 WebSphere Integration Developer 开发的服务、业务流程和复合应用程序提供运行时。
  • 在经过市场验证的 WebSphere Application Server 上构建,并提供相同级别的可靠性、性能、可扩展性和安全性。
WebSphere Process Server 作为执行业务流程的平台还提供补偿机制,当流程步骤发生故障时允许流程中的活动回滚。

WebSphere Process Server 使 BPM 应用程序可以访问和集成使用了基于标准技术的外部资源。它使用 J2EE 标准来提供对诸如数据源、各种应用程序和技术的资源适配器以及 Java 消息传递服务 (JMS) 之类资源的访问点。

使用 WebSphere Process Server,还可以获得测试环境以测试安装的 BPM 应用程序是否按预期的方式工作。Business Process Choreographer Explorer 是在 WebSphere Process Server 中运行的基于浏览器的客户端。它不需要构建客户端应用程序即可快速地测试(开始、停止、调试、重试、显示,等等)应用程序。

WebSphere Process Server 还通过管理控制台提供管理工具,使您可以:

  • 配置资源,以及对应用程序进行部署、管理和进行故障排除。
  • 动态地配置业务规则。
  • 搜索、自检、重试和删除流程。
  • 搜索、显示和跟踪从业务流程及其 SCA 组成组件发出的公共基础事件。

WebSphere Business Monitor

WebSphere Business Monitor V6 是度量业务性能、监视流程和工作流以及报告业务操作的企业应用程序套件。它还通过 WebSphere Business Monitor 工具提供反馈回建模阶段的实时数据、标准和分析,以支持连续流程改进的迭代周期。下表概述了 WebSphere Business Monitor 的一些特色功能。

功能 优点
管理动态业务流程 可以监视执行流程和获取流程状态、执行路径,检测流程实例数据,以及检查持续时间和成本。可以通过挂起和恢复流程实例来管理流程实例,以及在用户角色之间传输工作项。
快速响应关键情况 通过检查正在运行的流程和收到的事件中需要操作的情况来改进客户服务和提高客户满意度。警报和通过电子邮件通知相应的用户以进行后续操作。企业针对关键情况采取操作,主动而非被动地满足客户需求。
通过实时数据提高未来模型的精确度 通过将实时数据和信息加载到 WebSphere Business Monitor 进行分析来降低风险。当流程“实际数据”用于建模和模拟时,可以获得现有流程的更精确的表示,允许更好地模拟和分析。从而使新流程更有可能满足其预期的性能目标。
实时监视可执行流程的能力 通过实时监视来改进遵从性和 SLA 跟踪。在将数据过滤为与用户相关的、可使用的业务级别信息之前,分析大量的事件消息和捕获信息。当流程执行时实时更新 KPI,并以与用户相关的多种形式显示。

示例视图包括:KPI 表视图,对 KPI 分类的记分卡视图,以及将 KPI 显示为已定义目标和限制的自动测量的测量视图。

从收集的数据中提炼业务智能 通过分析业务标准随时间的变化来分析趋势。报告视图提供了与时间轴相关的性能报告。此类报告通常包含分析性能仓库数据存储中的历史数据的表和图形。报告视图包含内置的分析类型(包括 Quartile、Trend 和 Control 分析)和大量图表类型的选项。维度视图提供了业务数据的多维视图。用户可以根据维度来查看性能的各个方面。

结束语

IBM 确定了几个在基于 SOA 的典型 IT 项目中出现的最普遍的不同 SOA 场景。为了帮助客户开始采用 SOA,IBM 提供了以业务为中心和以 IT 为中心的 SOA 入口点和场景,IBM 还提供了全面的指导信息,说明应该如何使用 IBM 工具、产品及方法对每个场景进行建模、设计和实现。

本文讨论了第三个 SOA 场景——BPM 场景。BPM 场景使企业能够在战略上统一其核心资产(人员、信息、技术和业务流程)以创建企业的单一集成视图。该视图在支持框架的协助下,促进连续业务流程改进的迭代周期的实现和实践。

在本文中,您了解了如何使项目的功能需求与表示 BPM 场景的通用用例保持一致。本文还提供了 BPM 生命周期的详细信息,并且概述了为实现典型的 BPM 场景而推荐的工具和产品的特性和功能。

参考资料

学习 讨论
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号