架构语言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接口访问。

 


 本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518602,如需转载请自行联系原作者







相关文章
|
1月前
|
JavaScript Java Go
探索Go语言在微服务架构中的优势
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出。本文将深入探讨Go语言在构建微服务时的性能优势,包括其在内存管理、网络编程、并发模型以及工具链支持方面的特点。通过对比其他流行语言,我们将揭示Go语言如何成为微服务架构中的一股清流。
134 53
|
28天前
|
存储 Linux API
深入探索Android系统架构:从内核到应用层的全面解析
本文旨在为读者提供一份详尽的Android系统架构分析,从底层的Linux内核到顶层的应用程序框架。我们将探讨Android系统的模块化设计、各层之间的交互机制以及它们如何共同协作以支持丰富多样的应用生态。通过本篇文章,开发者和爱好者可以更深入理解Android平台的工作原理,从而优化开发流程和提升应用性能。
|
1月前
|
存储 负载均衡 监控
如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
在数字化时代,构建高可靠性服务架构至关重要。本文探讨了如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
40 1
|
1月前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
1月前
|
Go 数据处理 API
Go语言在微服务架构中的应用与优势
本文摘要采用问答形式,以期提供更直接的信息获取方式。 Q1: 为什么选择Go语言进行微服务开发? A1: Go语言的并发模型、简洁的语法和高效的编译速度使其成为微服务架构的理想选择。 Q2: Go语言在微服务架构中有哪些优势? A2: 主要优势包括高性能、高并发处理能力、简洁的代码和强大的标准库。 Q3: 文章将如何展示Go语言在微服务中的应用? A3: 通过对比其他语言和展示Go语言在实际项目中的应用案例,来说明其在微服务架构中的优势。
|
1月前
|
Java Linux Android开发
深入探索Android系统架构:从Linux内核到应用层
本文将带领读者深入了解Android操作系统的复杂架构,从其基于Linux的内核到丰富多彩的应用层。我们将探讨Android的各个关键组件,包括硬件抽象层(HAL)、运行时环境、以及核心库等,揭示它们如何协同工作以支持广泛的设备和应用。通过本文,您将对Android系统的工作原理有一个全面的认识,理解其如何平衡开放性与安全性,以及如何在多样化的设备上提供一致的用户体验。
|
2月前
|
Cloud Native Go API
Go语言在微服务架构中的创新应用与实践
本文深入探讨了Go语言在构建高效、可扩展的微服务架构中的应用。Go语言以其轻量级协程(goroutine)和强大的并发处理能力,成为微服务开发的首选语言之一。通过实际案例分析,本文展示了如何利用Go语言的特性优化微服务的设计与实现,提高系统的响应速度和稳定性。文章还讨论了Go语言在微服务生态中的角色,以及面临的挑战和未来发展趋势。
|
2月前
|
运维 Go 开发者
Go语言在微服务架构中的应用与优势
本文深入探讨了Go语言在构建微服务架构中的独特优势和实际应用。通过分析Go语言的核心特性,如简洁的语法、高效的并发处理能力以及强大的标准库支持,我们揭示了为何Go成为开发高性能微服务的首选语言。文章还详细介绍了Go语言在微服务架构中的几个关键应用场景,包括服务间通信、容器化部署和自动化运维等,旨在为读者提供实用的技术指导和启发。
|
2月前
|
负载均衡 Go API
探索Go语言在微服务架构中的应用与优势
在这篇技术性文章中,我们将深入探讨Go语言(又称为Golang)在构建微服务架构时的独特优势。文章将通过对比分析Go语言与其他主流编程语言,展示Go在并发处理、性能优化、以及开发效率上的优势。同时,我们将通过一个实际的微服务案例,详细说明如何利用Go语言构建高效、可扩展的微服务系统。
|
2月前
|
安全 Go 云计算
探索Go语言在微服务架构中的应用与优势
在本文中,我们将深入探讨Go语言(又称为Golang)在构建微服务架构中的独特优势。文章将分析Go语言的并发模型、简洁的语法以及高效的编译速度,以及这些特性如何使其成为微服务架构的理想选择。我们将通过一个简单的微服务示例,展示Go语言在实际开发中的表现,并讨论其在性能和可维护性方面的优势。

热门文章

最新文章