业务层、应用层和技术层各自被划分为三类概念:被动结构、行为和主动结构。被动结构元素被主动结构元素写入和读取。行为元素描述主动结构元素与被动结构元素之间的交易,以及主动结构元素之间的相互交易。被动结构元素的示例包括合同、数据对象和产品。参与者、角色、协作及其他元素代表主动结构。功能、流程和事件是行为结构元素的示例。本文将涵盖应用层的概念。应用层通过应用服务支持业务层,这些服务由(软件)应用组件实现。
应用组件概念
应用组件被定义为软件系统中一个模块化、可部署且可替换的部分,它封装了自身的行为和数据,并通过一组接口暴露这些内容。应用组件的名称最好使用名词。

应用组件、功能、接口与协作之间的关系
- 一个应用组件执行一个或多个应用功能。
- 它封装其内容:其功能只能通过一组应用接口访问。
- 协作的应用组件通过应用协作连接。
应用组件示例
在ArchiMate图中,其表示如下:

- 财务应用被建模为一个由两个子组件组成的应用组件:一个用于会计,另一个用于计费。
- 每个组件都向环境提供应用服务。
- 这些服务可通过一个共享的会计与计费应用接口访问,该接口是财务应用的一部分。
应用协作概念
应用协作被定义为两个或更多应用组件协同工作以执行集体行为的集合。应用协作是一种主动结构元素。应用协作的名称最好使用名词。

应用协作指明了哪些组件协同完成特定任务。它是对组件的一种特化,聚合了两个或更多(协作的)应用组件,并具有以下特征:
- 应用协作通常建模应用组件之间的逻辑或临时协作,而不是在企业中作为独立实体存在。
- 协作行为可以分配给一个或多个应用交互或业务交互,这些交互用于建模相关的行为。
- 应用接口可以被应用协作使用,或者应用协作可以由一个应用接口组成。
应用协作示例
ArchiMate图如下所示:

- 两个组件在事务管理中协作:一个会计组件和一个计费组件。
- 该协作执行应用交互“管理事务”。
应用接口概念
应用接口被定义为应用服务向用户或其他应用组件提供访问的接入点。应用接口的名称最好使用名词。

应用接口示例
下图中的ArchiMate图展示了用于交换事务数据的应用接口,以及一个需要此类接口的计费组件。

- 应用接口指定了其他组件如何访问某个组件的功能(提供的接口)。
- 应用接口向环境暴露应用服务。
- 同一应用服务可以通过不同的接口暴露。
行为概念
应用功能
一种行为元素,用于对应用组件可执行的自动化行为进行分组。

应用交互
一种行为元素,用于描述应用协作的行为。

应用服务
一种暴露自动化行为的服务。

应用功能概念
应用功能描述了应用组件的内部行为。它被定义为一种行为元素,用于对应用组件可执行的自动化行为进行分组。应用功能的名称最好是一个以“-ing”结尾的动词;例如,“会计”。

如果应用功能的行为对外可见,则通过一个或多个服务实现。一个应用功能可以实现一个或多个应用服务。应用功能对其实现进行抽象。仅指定必要的行为,具有以下特征:
- 应用功能可以使用其他应用功能的应用服务和基础设施服务。
- 应用功能可以访问数据对象。
- 可以将应用组件分配给应用功能(即该应用组件执行该应用功能)。
应用功能示例
下图展示了ArchiMate图:

- 财务应用组件的内部行为被建模为一个由两个子功能组成的应用功能:会计和计费。
- 这些应用功能实现了提供给应用用户的各项应用服务。
应用交互概念
应用交互被定义为一种描述应用协作行为的行为元素。应用交互的名称最好是一个动词。

- 应用交互描述了参与应用协作(结构概念)的组件所执行的集体行为。
- 应用协作(结构概念)可以被分配给一个应用交互。
- 应用交互可以实现应用服务。
- 应用交互可以使用应用服务和基础设施服务(外部使用)。
- 应用交互可以访问数据对象。
应用交互示例
下图展示了ArchiMate图:

- 财务系统中的会计组件和计费组件协作形成一个名为管理财务交易.
- 该交互被建模为分配给这两个组件之间协作的应用交互。
应用服务概念
应用服务将组件的功能暴露给其环境,并被定义为一种暴露自动化行为的服务。从环境的角度来看,应用服务应当具有明确的意义。应用服务的名称最好是一个以“-ing”结尾的动词;例如,“事务处理”。也可以使用明确包含“服务”一词的名称。

- 应用服务可以被业务流程、业务功能、业务交互或应用功能使用。
- 应用功能可以实现应用服务。
- 可以将应用接口分配给应用服务。
- 应用服务可以访问数据对象。
应用服务示例
下图展示了ArchiMate图:

图示
- 事务处理(应用到应用)服务由会计应用功能实现,其他组件可以通过事务处理应用编程接口(API)访问该服务。
- 该服务由计费组件执行的计费应用功能使用。
- 计费应用功能提供了一个(应用到业务)功能,称为账单创建,可用于支持业务流程,并可通过计费屏幕作为应用到业务接口,由业务角色访问。
被动结构概念
数据对象
一种适合自动化处理的被动元素。

数据对象概念
数据对象被定义为一种适合自动化处理的被动元素,可被应用功能、应用交互或应用服务访问。数据对象可以实现业务对象,也可以被一个实体实现。数据对象可以与其他数据对象具有关联、特化、聚合或组合关系。数据对象的名称最好为名词。

数据对象示例
下图中的ArchiMate图展示了两个应用功能通过应用服务协作,交换包含交易数据的数据对象。

其他ArchiMate资源: