在架构语言ArchiMate - 语言结构(Language Structure)中对语言结构进行了介绍,最后列出下面的ArchiMate框架图:业务、应用和技术三个层次(Layer),对象、行为和主体三个方面(Aspect),在架构语言ArchiMate -业务层(Business Layer)中介绍了业务层,本篇将继续介绍一下ArchiMate在应用层的概念、描述和图例。
应用层(Application Layer)总体说明
概念 | 描述 |
图例 |
应用组件 Application component |
通过一套接口暴露功能的模块化、可部署、可替换的系统的一部分 | |
应用协作组件 Application collaboration |
两个或多个组件临时组织成协作组件来协同执行一部分功能 | |
应用接口 Application interface |
组件连接环境的应用接口,包含提供接口以及要求接口。 | |
数据对象 Data object |
适合自动流程处理的一致的、自包含的信息块 | |
应用功能 Application function |
一组一致的内部行为 | |
应用交互 Application interaction |
由应用协作组件执行的交互 | |
应用服务 Application service |
通过定义良好的接口由一个或多个组件提供的外部可见功能 |
应用层元模型(Application Layer Metamodel)
结构概念(Structural Concepts)
应用组件(Application Component)
通过一套接口暴露功能的模块化、可部署、可替换的系统的一部分。
- 应用组件是一个自包含的功能单元,它可以独立部署、重用和替换,它执行一个或多个应用功能。
- 只能通过应用接口(application interfaces)来访问应用组件。
- 一个应用组件可以与一个或多个应用功能关联,它提供一个或多个应用接口暴露功能。
- 图例
- 示例
财务应用组件(financial application)包含两个子协作应用组件:accounting 和 billing
应用协作组件(Application Collaboration)
两个或多个组件临时组织成协作组件来协同执行一部分功能。
- 应用协作组件是应用组件的一个子类型组件,它聚合两个或更多的应用组件
- 它可以与一个或多个应用接口或应用交互关联。
- 图例
- 示例
Accounting和Billing两个应用组件协作为一个transaction administration组件,这个协作组件执行应用交互Administrate transactions。
应用接口(Application Interface)
组件连接环境的应用接口,包含提供接口以及要求接口。
接口包含两种类型的接口:
- 提供接口(provided interface):应用接口指明外部组件如何访问一个组件的功能
- 要求接口(required interface):为了实现组件功能,需要由外部提供给组件本身的功能接口
应用接口就像应用组件的一种契约,它规定了组件对外部环境提供的功能,可能包含参数、执行前后条件和数据格式等。
- 图例
- 示例
组件Accounting提供了接口Transaction data exchange,而组件Billing需要外部提供这个接口供自身调用
数据对象(Data Object)
适合自动流程处理的一致的、自包含的信息块。
- 数据对象可以在交互过程中用来传递信息和沟通,也可以是应用服务使用和生成出来的
- 它是一个具有业务含义而不只是应用级别的信息。典型的数据对象如客户记录或者一个保单。数据对象可以实现一个业务对象,而自身又可以由工件(artifact)来实现。
- 数据对象之间有关联、聚合、组合、继承等关系。
- 图例
- 示例
事物处理服务使用事物数据对象来进行交互
行为概念(Behavioral Concepts)
应用层的行为概念有点类似于业务层概念,也区分内部行为和外部行为。
应用服务(application service)是一个外部可见的功能单元,由一个或多个组件通过定义好的接口暴露出来。
应用功能(application function)描述组件需要实现一个或多个应用服务的内部行为。
应用功能(Application Function)
一组一致的内部行为,我觉得以前写的功能规范需求说明书的大功能就有点类似这个。名称最好为正在进行时动词,如accounting
- 应用功能对外部是不可见的,如果需要暴露给外部,则必须通过一个或多个服务提供给外界。
- 应用功能可以实现应用服务,也可以使用其他应用功能提供的应用服务。
- 应用功能可以访问数据对象。
- 应用组件可以与应用功能关联,表示应用组件执行这个应用功能
- 图例
- 示例
Financial application提供【财务管理】功能,这个功能由两个子功能组成:Accounting和Billing
应用交互(Application Interaction)
由应用协作组件执行的交互。名称最好为动词。
- 可以实现应用服务
- 由应用协作组件执行
- 图例
- 示例
协作组件administrate transactions执行administratre transactions应用交互
应用服务(Application Service)
通过定义良好的接口由一个或多个组件提供的外部可见功能。
- 由一个或多个应用功能实现
- 它需要、使用或者产生数据对象
- 应用服务从外界环境角度来看需要有明确含义,提供的功能对用户有价值。
- 应用服务可以被业务流程、业务功能、业务交互或者应用功能使用
- 应用接口可以关联一个应用服务
- 图例
- 示例
Transaction processing 服务由Accounting功能实现,又被Billing功能使用,这个服务可以通过application interface接口访问。