面向对象分析与设计
上QQ阅读APP看书,第一时间看更新

3.2.2 UML的业务扩展

UML的主要用途是对软件系统的体系结构进行建模,虽然软件和业务系统之间有很多相似之处,但也存在一些差异。业务系统的很多概念并不用于或适合于在程序中执行,如业务系统的人员、设备以及驱动业务过程的规则和目标等。

因此,使用UML进行业务建模,就必须对UML进行必要的扩展,以便能够更清楚地识别和表示业务系统中的目标、资源、过程和规则等重要概念。为了解决这个问题,人们对UML的现有模型元素进行了一些必要的扩展。

不同的组织和个人定义了多种不同UML业务扩展,从而定义了多种不同的业务模型,分别在模型、视图、图和元素四个层次上,对UML进行了扩展。目前,常见的UML业务扩展主要有基于BPEL的业务扩展和基于BPMN业务扩展两种方式。

1.业务过程执行语言(Business Process Execution LanguageBPEL)

业务过程执行语言是一种符合OASIS标准定义的执行语言,其根本特征是使用了含有Web服务的业务过程。BPEL业务过程仅使用Web服务接口导入和导出信息。

说明:结构化信息标准促进组织(Organization for the Advancement of Structured Information Standards,OASIS)是一个全球性的非营利组织,该组织致力于物联网、能源、内容技术、应急管理等领域的开发、融合和采用等方面的安全标准。

BPEL把Web服务之间的交互分成两种类型:一种是业务系统中参与者之间的实际交互,称为可执行业务过程;另一种是并不期望被实际执行的业务过程,称为抽象业务过程。与可执行过程相比,抽象过程可能会隐藏了一些必要的具体操作方面的细节。抽象过程充当了一个可能带有多个用例的描述性的角色,这包括了它的可观察的行为以及过程模板。

BPEL的目的是使用过程规范语言描述过程,它扩展了Web服务交互模型,并使之能够支持业务事务。它还定义了一个可互操作的集成模型,这个集成模型有助于扩展企业内部及企业之间自动化过程集成。在建模语言的发展过程中,BPEL发挥了重要的基础作用。随后出现的多种模型,如BPMN模型等,都是在其基础上发展出来的。

2.业务过程模型符号(Business Process Model and Notation,BPMN)

业务过程模型符号是一种由业务过程管理倡议组织(BPMI)于2004年5月发布的业务过程模型符号标准。从2005年BPMI与OMG两个组织合并开始,BPMN转由OMG组织维护和管理。到目前为止,已发布了BPMN的1.0、1.1和2.0多个版本。

BPMN的目标是通过为业务人员提供既直观又能够表达复杂的过程语义的符号,支持技术人员和业务人员进行业务过程管理。BPMN规范还提供了图形符号和执行语言的底层结构之间的映射,特别是到业务流程执行语言(BPEL)的映射。

BPMN的主要目标是为企业中所有利益相关者提供一组易于理解的标准符号。这些利益相关者包括负责创建和完善流程的业务分析人员、负责实现它们的开发人员以及监控和管理它们的管理人员。因此,BPMN也被看作是一种公共语言,用于桥接经常发生在业务过程设计和实现之间的交流鸿沟。目前,多数的UML工具软件均给出了这些标准的具体实现。这也为建模的广泛应用提供了良好的条件。