架构语言ArchiMate -应用层(Application Layer)

架构语言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)

通过一套接口暴露功能的模块化、可部署、可替换的系统的一部分。

  1. 应用组件是一个自包含的功能单元,它可以独立部署、重用和替换,它执行一个或多个应用功能。
  2. 只能通过应用接口(application interfaces)来访问应用组件。
  3. 一个应用组件可以与一个或多个应用功能关联,它提供一个或多个应用接口暴露功能。
  • 图例

  • 示例

财务应用组件(financial application)包含两个子协作应用组件:accounting 和 billing

应用协作组件(Application Collaboration)

两个或多个组件临时组织成协作组件来协同执行一部分功能。

  1. 应用协作组件是应用组件的一个子类型组件,它聚合两个或更多的应用组件
  2. 它可以与一个或多个应用接口或应用交互关联。
  • 图例

  • 示例

Accounting和Billing两个应用组件协作为一个transaction administration组件,这个协作组件执行应用交互Administrate transactions。

应用接口(Application Interface)

组件连接环境的应用接口,包含提供接口以及要求接口。

接口包含两种类型的接口:

  1. 提供接口(provided interface):应用接口指明外部组件如何访问一个组件的功能
  2. 要求接口(required interface):为了实现组件功能,需要由外部提供给组件本身的功能接口

应用接口就像应用组件的一种契约,它规定了组件对外部环境提供的功能,可能包含参数、执行前后条件和数据格式等。

  • 图例

  • 示例

组件Accounting提供了接口Transaction data exchange,而组件Billing需要外部提供这个接口供自身调用

数据对象(Data Object)

适合自动流程处理的一致的、自包含的信息块。

  1. 数据对象可以在交互过程中用来传递信息和沟通,也可以是应用服务使用和生成出来的
  2. 它是一个具有业务含义而不只是应用级别的信息。典型的数据对象如客户记录或者一个保单。数据对象可以实现一个业务对象,而自身又可以由工件(artifact)来实现。
  3. 数据对象之间有关联、聚合、组合、继承等关系。
  • 图例

  • 示例

事物处理服务使用事物数据对象来进行交互

行为概念(Behavioral Concepts)

应用层的行为概念有点类似于业务层概念,也区分内部行为和外部行为。

应用服务(application service)是一个外部可见的功能单元,由一个或多个组件通过定义好的接口暴露出来。

应用功能(application function)描述组件需要实现一个或多个应用服务的内部行为。

应用功能(Application Function)

一组一致的内部行为,我觉得以前写的功能规范需求说明书的大功能就有点类似这个。名称最好为正在进行时动词,如accounting

  1. 应用功能对外部是不可见的,如果需要暴露给外部,则必须通过一个或多个服务提供给外界。
  2. 应用功能可以实现应用服务,也可以使用其他应用功能提供的应用服务。
  3. 应用功能可以访问数据对象。
  4. 应用组件可以与应用功能关联,表示应用组件执行这个应用功能
  • 图例

  • 示例

Financial application提供【财务管理】功能,这个功能由两个子功能组成:Accounting和Billing

应用交互(Application Interaction)

由应用协作组件执行的交互。名称最好为动词。

  1. 可以实现应用服务
  2. 由应用协作组件执行
  • 图例

  • 示例

协作组件administrate transactions执行administratre transactions应用交互

应用服务(Application Service)

通过定义良好的接口由一个或多个组件提供的外部可见功能。

  1. 由一个或多个应用功能实现
  2. 它需要、使用或者产生数据对象
  3. 应用服务从外界环境角度来看需要有明确含义,提供的功能对用户有价值。
  4. 应用服务可以被业务流程、业务功能、业务交互或者应用功能使用
  5. 应用接口可以关联一个应用服务
  • 图例

  • 示例

Transaction processing 服务由Accounting功能实现,又被Billing功能使用,这个服务可以通过application interface接口访问。

 

发表评论