应用架构图

简介: 技术架构是将业务需求转化为技术实现的关键过程,涵盖分层设计、技术选型与关键技术整合。基于应用架构,构建包括表现层、业务层、数据层和基础层的单体或分布式架构,明确系统内外调用关系与边界,支撑业务高效落地。(238字)

在上一节有了业务架构的基础之上,当我们需要落地具体的技术方案时,此时就需要技术人员开始考虑技术架构了。技术架构是应接应用架构的技术需求,并根据识别的技术需求,进行技术选项,把各个关键技术和技术之间的关系描述清楚。
基础结构解决的主要问题包括:如何进行技术层面的分层、开发框架的选择、开发语言的选择、涉及非功能性需求的技术选择。由于应用架构体系是分层的,那么对应的技术架构体系自然也是分层的。大的分层有微服务架构分层模型,小的则是单个应用的技术分层框架。大的技术体系考虑清楚后,剩下问题就是根据实际业务考虑选择具体的技术点。各个技术点的分析、方案选择,最终形成关键技术清单,关键技术清单应考虑架构本身的分层逻辑,最终形成一个完整的技术架构图。
简而言之,技术架构试讲产品需求转变为技术实现的过程。
单体应用架构
单体应用架构一般是比较传统的分为4层:数据层(Data Layer)、应用逻辑层(Business Layer)、表现层(Presentation Layer)和基础通用层(Common Layer)。

展现层
展现层是整个应用面向用户的入口,用户通过展现层实现与系统的交互。展现层为用户提供系统功能的操作、系统数据的展现。展现层按照面向的用户类型提供不同的交互服务。例如在业务场景中,用户有实操层用户、管理层用户、决策层用户。针对不同层级的用户,系统所提供的功能是不相同:
● 面向实操层用户,提供的是对系统的操作功能,满足业务日常运营。往往更多的是执行具体操作。
● 面向管理层用户,满足管理者的日常管理需求,通常提供经营数据、日常管理数据、团队业务数据等等。通过数据分析,改善日常运营的流程。
● 面向决策层用户,这一层的用户不需要太细的数据,为其提供企业的经营诊断数据和报告,辅助决策支持。
业务层
业务层是应用为解决业务需求,按照产品架构中的功能模块进行细化。业务层是对将产品层从粗到细的分解过程。这个过程是对业务的细化过程,把项目要交付的模块细分到最基本的单元。最基本单元是实现日常业务操作的最细粒度的功能点。由此,我们能够得到实现业务逻辑的全功能结构。
数据层
数据层按照应用的数据模型分别进行存储。这里的存储介质包含关系型数据库、NoSQL、分布式文件系统。
基础层
通用基础层是为系统提供通用能力的中间件,比如流程引擎、消息中间件、缓存、搜索引擎等等。这些中间件和业务是无相关性的,提供的是通用的基础技术能力。
基于上述分析,我们可以得到一个如下单体应用的技术架构:

分布式应用架构
分布式应用架构图实质是产品内部所有应用在分布式环境下的调用关系图。各应用间通过服务的形式相互调用,这是典型的 SOA 架构。在应用架构图中,SOA 架构中的服务注册、服务治理、服务发现这些 RPC 框架的基础平台功能不用在应用架构中体现。
应用架构图的重点是体现应用之间的逻辑关系和通信关系,体现产品的内部关系和外部关系。内部关系是产品内各应用的调用关系;外部关系展现的是产品与外部系统间的调用关系。将应用的内外关系呈现在应用架构中,产品在整个业务中的定位和影响将变得清晰。
应用间调用关系
在产品内部的各子系统之间,为了解决业务需求,通过应用之间的服务调用或者异步消息调用产生数据关系。通过产品架构图中得到的应用系统划分,按照系统间的调用关系,形成内部应用的集成架构图。在应用集成架构图中,需要标注调用链路中的业务含义,清楚的标注应用之间发生的业务关系。

外部系统调用关系
数据输入做为产品的业务数据来源,很大部分是外部系统提供。在应用架构图中,按照业务属性、来源关系进行对外部系统进行归类,并将外部的来源系统纳入整个应用架构中。我们知道计算机系统中,数据输入和数据输出是作为一个整体。应用架构中除了输入系统,输出系统做为整个产品的一部分,需要纳入到应用架构图中。

明确应用调用边界
应用边界对于产品的定位、产品的设计有很重要的影响。在应用架构中需要通过不同颜色的标注,来确定产品与外部系统的边界。通过不同颜色标注外部来源系统、内部应用、应用依赖系统、输出系统。为后续的规划、发展提供基础。

相关文章
|
4月前
|
存储 SQL 人工智能
AI时代代码开发(数据库设计)
本文介绍基于三范式与DDD的数据库设计流程,结合AI工具辅助分析页面原型,通过部门、员工及工作经历模块,演示表结构设计与优化过程,强调人工校验与调整的重要性,最终完成符合业务需求的数据库建模与测试数据构建。
|
4月前
|
人工智能 自然语言处理 Cloud Native
AI时代代码开发(DeepSeek+Cursor+Devbox)
AI时代重塑软件开发,本课程聚焦DeepSeek+Cursor+Devbox+Sealos工具链,实现自然语言到代码的零基础全栈开发。覆盖需求分析、数据库设计、编码测试至云部署全流程,助力开发者高效构建并上线项目,抢占智能开发先机。(238字)
|
4月前
|
人工智能 Java 程序员
SpringAI+DeepSeek大模型应用开发
本教程以SpringAI为核心,讲解Java与大模型(如DeepSeek)融合开发,助力传统应用智能化升级。适合Java程序员入门AI开发,推动企业低成本拥抱AI变革。
|
4月前
|
XML 自然语言处理 机器人
SpringAI
SpringAI整合全球主流大模型,支持多种技术架构,提供统一开发接口。本文以OpenAI和Ollama为例,详解如何通过SpringAI快速构建对话机器人,涵盖项目搭建、依赖引入与配置,助力开发者高效上手大模型应用开发。
|
4月前
|
存储 算法 Java
链表(链式存储)基本原理
本文介绍链表的基本概念与操作,对比力扣中的单链表与编程语言标准库中更复杂的双链表。链表通过指针连接分散的内存块,支持高效增删,无需连续空间和扩容,但不支持随机访问。文中详解单链表的创建、遍历、头尾及中间插入等操作,并简述双链表优势。
|
4月前
|
存储 安全 开发工具
Git 的基础知识
在软件开发中,版本控制如Git至关重要,它支持代码历史追踪、团队协作、分支实验、错误回滚与代码审查。通过提供变更审计轨迹、备份恢复及功能隔离,提升开发效率与代码质量,助力团队高效协同,保障项目稳定演进。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
认识AI
本文介绍了AI核心概念与大模型开发原理,涵盖人工智能发展历程及Transformer神经网络的关键作用。通过注意力机制,Transformer实现对文本、图像、音频的高效处理,成为GPT等大模型的基础。文章解析了LLM如何利用Transformer进行持续推理生成,逐字输出内容,揭示ChatGPT类模型对话能力的技术本质。(238字)
|
4月前
|
存储 前端开发 数据安全/隐私保护
前端(Cursor)-登录
根据登录页面原型和接口文档,完成员工登录功能开发。实现POST请求调用/login接口,处理用户名密码验证,解析JWT令牌并存储,后续请求携带token头。登录失败提示错误信息,成功后跳转至系统首页。支持退出登录功能,清除token并重定向到登录页。
|
4月前
|
前端开发
前端(Cursor)-员工管理
根据页面原型与接口文档,完成员工管理功能开发,实现增删改查及分页查询。按要求调整新增员工表单布局为六行结构,宽度800px,包含用户名、姓名、性别、手机号、职位、薪资、部门、入职日期、头像上传及可动态增删的工作经历项,确保界面与交互符合设计。
|
4月前
|
前端开发 数据格式
前端(Cursor)-部门管理
根据部门管理原型图及接口文档,完成增删改查功能开发。接口基于HTTP协议,使用GET、POST、PUT、DELETE方法操作部门数据,前端通过axios调用后端服务(地址:http://zxyf-management.ns-682s7u7w.svc.cluster.local:8080),需注意关闭登录拦截以确保通信正常。

热门文章

最新文章