非凡是,Holosofx 的主要应用是在连续业务流程治理(Continuous Business Process Management,CBPM)领域,这是成功的、业界领先的公司用来治理其业务流程的一个概念。本文简要分析了 IBM Holosofx 体系结构和环境,并解释了开发人员如何利用 Holosofx 简化业务流程的改进和治理。
用 Holosofx 进行成功通信
不同的应用程序通过业务流程集成进行交互和交换数据的必要性是 B2B 成功合并的要害。在进行总体过程集成的过程中,企业必须使用完整的业务解决方案,简单而无缝地发现、集成和治理与业务相关的数据。要实现这一点,业务部门必须与 IT 专家紧密合作,来获得最优的解决方案 —— 可以满足业务要求并增强过程的性能。
不过,如何让 IT 和业务专家共同完成这项任务一直是一项挑战。开发人焙退堑囊滴裢滤挡煌挠镅裕褂貌煌氖跤铮⑶揖哂胁煌闹侗尘啊R滴袷褂玫氖且滴窳鞒棠P停?IT 使用的是 UML (Unified Modeling Language) 模型。UML 和 BPM 模型之间的集成和转换可以保证良好的通信,避免因通信错误而导致的成本,同时还能减少完成项目的时间。
需要一种缩小语言差异的工具来确保成功通信。IBM Holosofx for Business Process Management 通过提供了一个公共工作区,以促进业务与 IT 专家之间的通信。Holosofx Workbench 和 UML Transformer Modeler 中的工作区可以使企业将必要的业务内容转换为 IT 内容,而且还提供了 IT 内容到业务内容的转换。
Holosofx 概述
IBM Holosofx Business Process Management (BPM) 软件包包括三个组件,它们是作为单独的模块运行的:
IBM Holosofx Workbench
用于建模和分析。Holosofx Workbench 以 Business Modeler 作为核心,并以 UML Transformer (Modeler)、Xform Designer 和 XML Mapper 作为扩展。
IBM Holosofx Monitor
用于实时监视过程。
IBM Holosofx Workbench Server
用于通过 intra/Internet 共享过程信息。
Holosofx 软件包采用多功能方式实现 CBPM:
创建
Holosofx Workbench 为现有过程建模。用模型创建、模拟、分析和选择优化的新过程设计。
协作
Holosofx Workbench Server 被用来通过 Web 共享过程模型信息,并提供访问和版本控制的安全存储。
自动化
Holosofx Workbench 将业务流程模型转换为可以直接导出为 MQSeries Workflow 的格式。
治理
BPM Monitor 用于监视正在进行的项目并采取修正行动。此外,实际过程 metrics 回答模型场景中的假如...如何的问题并改进过程。
Holosofx 集成策略:
使软件开发人员和业务专家可以通过建模定义业务需求并描述系统目标。
使开发人员可以用 UML 为业务软件系统建模。
使开发人员可以将 UML 模型中包含的相关信息映射回 BPM 过程模型。
使开发人员和业务专家可以在 UML 模型和 BPM 业务流程模型之间转换公共元素。
这种全面的集成策略对业务和 IT 都有好处。例如,将 UML 模型映射到业务流程模型元素提高了 UML 模型和 BPM 过程模型的可维护性、可跟踪性和可伸缩性。只要目标系统的 UML 模型反映了更改或其他需求,那么就可以很轻易地更改目标业务软件系统来适应这些更改。
在另一方面,将业务流程元素映射为 UML 模型元素的能力节省了时间和成本,并将错误降至最低。映射还使业务专家能够输入软件系统的分析和设计,并验证系统的业务需求。
Holosofx Workbench 和 UML Transformer
在这三个组件中,Holosofx Workbench 是支持 CBPM 工作的要害。Workbench 是基于 Windows 的桌面应用程序,它符合 Activity Decision Flow Diagram、Lines of Visibility、Partner Interface Process、UML、Workflow Process Definition Language (WPDL) 和 XML 的建模、运行时、交换等方面的标准。Workbench 与 Rational Rose、XMI、MQSeries Workflow/build time/FDL、UML Transformer、Holosofx Workbench Server 和 Holosofx Monitor 相互作用。它通过一个脱机导入/导出交互过程将 Flow Definition Language (FDL) 文件导出到 IBM WebSphere MQ Workflow 运行时环境 (在下一版本导出 Modeler,以支持 IBM CrossWorlds)。
Holosofx Workbench 的要害是其 UML Transformer。UML Transformer 通过为开发人员提供一个可以使用的坚实基础来支持开发过程。它捕捉从概念到完成的设计生存周期。例如,使用类图(Class diagram)将 IT 设计元素映射到业务流程模型的元素,以帮助开发人员在过程建模的同时发展 IT 元素。IT/业务流程模型映射功能使过程模型和 UML 模型都具有可跟踪性。模型会显示主要过程轮廓和功能需求,直至实际构成了结构下面软件产物的元素。
UML Transformer 使开发人员可以实现以下操作:
产生清楚的开发计划。
链接 UML 模型与 BPM 过程模型。
在 UML 中用 6 种不同视图 (visual-diagram) 建立业务软件系统模型:Class、Use Case、Sequence、Collaboration、State 和 Activity。
在 UML 模型和 BPM 业务流程模型之间转换公共元素。
用序列和协作图 (Sequence and Collaboration diagram) 查看系统对象、对象中的消息和系统的逻辑流程。
在业务建模和分析中,开发人员可以利用的一个重要功能是 Business Modeler 导入/导出 FDL 和 XML 模式的功能。内藏的 UML Transformer 答应软件开发人员在 UML 模型中指定自己业务应用程序,并将这些应用程序链接到过程模型,而 Xform Designer 可以“动态”设计所需要的表单和用户界面屏幕。
最后,开发小组可以用这个模型验证代码是否满足需求,以及是否可以从这段代码跟踪需求。
链接 IT 和业务世界
业务流程模型以及 UML Transformer Activity 和 Use Case 图表都模拟了业务环境,但它们使用了两种不同的概念,而且它们注重的内容和相关元素是不同的。UML 模型的重点是软件系统、成分和组件,而 BPM 过程模型的重点是业务目标和如何实现这些目标。不过,UML 模型和业务流程模型确实有共同的元素。Holosofx Workbench(利用 UML Transformer)具有处理这些公共元素并在两种应用程序之间转换这些元素的能力。
使用 Holosofx Workbench 和 UML Transformer,可以在以下元素之间进行数据转换:
BPM 数据结构 (Data StrUCture) 与 UML 类 (Classe)。
BPM Process Model (ADF Diagram) 与 UML Use Case 及其 Activity Diagram。
BPM Tasks 与 UML Use Cases 和参与者。
BPM 业务流程模型通常包括大量的人工和自动过程。人工和自动系统以及过程表明了软件系统需要哪些功能(映射为 UML Use Case)来支持业务流程。例如,在 UML 方法中,功能软件元素被链接到 Use Case,而该用例又被链接属于一个或者多个业务流程模型的特定任务。随着软件的发展和成熟,每个软件元素和功能的业务评价都可以从业务流程模型中分离出来,或者上溯至业务流程模型。
在 Holosofx Workbench 中,任务描述了该流程模型,并且定义了如何完成工作、谁做这个工作、需要哪些资源和/或应用程序完成工作,以及完成工作所需要的资格。假如任务细节定义了一个软件应用程序的全部或者部分功能,那么整个任务的属性将在描述这个应用程序时变得明确。
模型转换的例子
对过程的用例部分进行建模
在我们的样本用例中,业务活动是“打包客户的订单”。业务用户将可能在一个更大的过程中用到它,如“完成销售订单”。虽然他们有必要的知识创建用例,但是他们一般不具备 UML 模型的知识。因此,业务用户的普遍起点就是在 Workbench 中建立“完成销售订单”模型。完成创建之后,他们就可以与开发人员一起检查该用例,并验证其需求。下图显示了 Holosofx Workbench 中过程模型的用例部分:
将过程模型导出到 XML
开发人员再使用 Workbench 中的功能将过程模型转换为 UML Activity 图表。但实际上,该转换是通过将过程模型导出为表示前述过程模型的 XML 文件来完成的。下图显示了从 Holosofx Workbench 过程模型中导出的 XML 文件:
将 XML 文件导入到 UML Transformer
创建了 XML 文件并将其从 Workbench 导出之后,开发人员就可以将该文件导入到 UML Transformer 中,在这里,它变成了 UML 图表。