应用架构概述

应用架构是对企业所有应用系统、服务及它们之间交互关系的整体描述,反映应用系统如何支撑业务运行及未来业务发展,同时需要体现应用与技术、数据之间的关系

应用架构是业务架构、技术架构、数据架构,以及企业业务、文化、组织等的成果体现方式,核心是通过建模将业务流程和服务转化成应用系统层面的应用与服务等概念,决定了企业为客户提供的具体的应用服务功能

应用架构的本质

应用架构的本质其实是建模的过程

从现实世界到软件应用世界,是一个不断抽象、不断建模的过程,即从业务架构中抽象出业务能力和业务流程,进而对系统和应用建立模型,通过不同层面的模型设计,层层抽象,最终得到用户可以使用的系统,这个过程的本质就是建模

什么是模型(Model)?

模型指用一个较为简单的东西来代表另一个东西

比如,科学模型中的数学公式极其简单并准确地表达了某种理论的计算原理。

在架构设计中,模型本身是业务需求的映射,以需求场景为输入,需要根据业务场景来进行验证和完善;同时模型是连接业务和应用系统的桥梁,基于业务的理解,逐步展开,并产出应用中需要完成的服务、功能、接口等。另外,从落地层面,代码是模型的印证,最终模型在项目中通过具体的程序代码,把复杂的业务诉求构建成简单的模型,最终形成应用系统供用户使用。

什么是建模(Modeling)?

百度百科是这样定义的:建模就是建立模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述

《大象:Thinking in UML》中是这样定义的:建模是指通过对客观事物建立一种抽象的方法,用以表征事物并获得对事物本身的理解,同时把这种理解概念化,并将这些逻辑概念组织起来,构成一种对所观察的对象的内部结构和工作原理便于理解的表达

建模的整个过程可大致分为业务建模和应用建模。

  • 业务建模的本质就是我们前文所讲的业务架构,通过把业务的各种信息作为输入,建立企业业务的顶层视图,核心是识别企业的业务能力和业务流程,以及各个业务活动的组成部分,思考从用户使用的业务场景视角,企业该提供什么样的业务,大致的业务分类和业务逻辑是怎样的,应如何提供这些能力等,逐步通过业务能力和业务流程将业务抽象为“一张图”。

  • 应用建模是在业务建模的基础上,完成业务需求到应用系统模型之间的映射,最终设计出可以供用户使用并能具体解决用户问题的系统。应用建模更强调职责、依赖、约束关系,用于指导研发的落地实现,所以这个过程的核心是如何抽取核心概念,合理地划分这些模型层次,模型之间的边界是怎样的,如何控制模型之间的粒度等。应用建模可以使用不同的方法,如面向对象方法、面向数据方法、面向领域设计方法等,目前领域驱动设计是最受欢迎的设计方法之一。

我们再从业务架构和应用架构之间的关系来看这个建模过程,在从业务架构中识别出业务能力和业务流程后,将基本组成部分抽象成业务活动,而这些业务活动通过应用架构中的模型和服务进行映射,在此过程中,应用架构通过领域模型和领域服务,对业务能力和业务流程进行了翻译和关联,最终设计出相关的功能,并逐步抽象成产品和解决方案。

应用架构的价值

应用架构的价值主要体现在以下几点。

  • 应用架构作为企业IT架构的核心,连接业务架构中业务能力、业务流程和业务需求,也能够连接数据架构的数据管理和使用,同时提出对技术架构和IT基础设施的要求
  • 应用架构向业务部门提供整体IT应用系统的服务和功能,确保将来的应用与业务需求一致,并保持整体架构的连贯性,对企业系统孤立、功能重复建设、灵活度差、难以共享等问题进行整合和优化。
  • 应用架构对应用系统和服务的整体功能进行统一规划,建立企业应用系统的总体视图。同时,万物皆服务,以服务为中心的应用架构可以解决企业在开发、部署、运维、集成等过程中面临的问题。
  • 应用架构区分企业共享部分与定制化部分,经过应用架构的分层设计,将通用、成熟的功能进行共享下沉,将个性化、特殊的功能开放到更前端的业务部门,便于功能的灵活扩展和业务的快速应变。
  • 应用架构为企业产品化提供支持。经过应用的能力设计和服务识别,为企业进一步优化产品和相应的解决方案提供基于架构视角的主要参考。
  • 应用架构协助团队沟通。通过维护统一、便于理解的应用视图,各业务和技术团队可以保持同频和一致,防止各部门进行重复建设。