【软件架构】企业架构4A定义

文章目录

前言

业务架构是跨系统的业务架构蓝图,应用架构、数据架构、技术架构是解决方案的不同方面。

多年来,全球业界已在业务架构、应用架构、数据架构、技术架构方面积累了大量经验。

近几年,数字化转型呼唤"懂行人"打通四种架构,确保技术支撑业务、业务支撑战略。

其中,文中涉及的缩写全称如下。

BA:Business Architecture,业务架构

DA:Data Architecture,数据架构

AA:Applications Architecture,应用架构

TA:Technology Architecture,技术架构

战略、BA、DA、AA、TA五者的关系

现在,我们来总览一下战略、BA、DA、AA、TA五者之间的边界与关系。如下图所示。

  • 首先,公司管理层是战略的提出者和总设计师。

    例如,一家大银行的全局战略规划出自何处?答:管理层是规划者,规划发展部是协助者。规划发展部持续研究行业政策方向、持续关注宏观环境变化、持续跟踪友商发力动向。

  • 其次,业务架构师是业务架构蓝图的设计师和描述者。

    例如,一个在银行的信息科技部工作的业务架构师。要研究战略、领会战略,把战略作为推动业务架构设计的原动力,定义出详细的业务架构蓝图。

  • 最后,解决方案由专业分工更细的数据架构师、应用架构师、技术架构师负责。

    例如,银行的信息科技部一般有架构办公室,部门中有专职或兼任的数据架构师、应用架构师、技术架构师,还要有专门的安全架构师。

  • 所以,战略、BA、DA、AA、TA这五者,实际位于以下三个层次上:

    • 公司战略;

    • 业务架构;

    • 方案架构。

  • 这五者的核心关系,概括为以下几点:

    • 战略是公司高层的设计,却是业务架构师的需求;

    • 业务架构师的工作是"战略进,业务架构出";

    • 业务架构是业务架构师的设计,却是数据、应用、技术架构师的需求;

    • 环环相扣,上层驱动下层,下层支撑上层。

1、业务架构(BA)

  • 业务功能------买入股票。

  • 业务流程------由买入挂单、规则检查、上报给交易所等步骤组成。

  • 实现关系------业务流程到业务功能的箭头。

  • 业务数据------买入申报指令。

  • 业务事件------图中"交易所回报"事件会触发券商"处理成交结果",当收市时,"当日收市"事件也会触发相应业务处理。可见,用好业务事件,有利于把"条件触发的业务场景"表达清楚。

2、数据架构(DA)

数据类型,数据模型,数据存储,数据流,数据管理

数据架构师应思考:买入股票业务流程需要哪些数据支持呢?

  • 券商的集中交易系统作为后台,首先要将委托记录排队,以备异步处理。

  • 券商App不保存"投资人账户"信息,但交易后台要保存,由证券经纪业务后台做交易规则检查。

  • 由证券经纪业务后台负责的交易规则检查,会用到投资人账户和投资人资产等数据信息,例如,账户余额不足时是不允许挂单成功的。

  • 后台存储"回报记录"数据,也是为了异步处理。

3、应用架构(AA)

应用功能,应用集成,研发管理

应用架构师应思考:买入股票业务流程需要哪些应用服务支持呢?

  • 业务流程一级的买入挂单、规则检查、上报给交易所、处理成交结果,需要IT应用服务支持,分别为挂单录入、规则检查、委托上报、接收回报、结果显示。

  • 进一步地,这些IT应用服务要由具体的应用系统来实现,分别为券商App、券商集中交易系统。

4、技术架构(TA)

技术选型,技术需求,物理选型,分布设计

技术架构师应思考:买入股票业务流程需要哪些技术组件支持呢?

  • 挂单录入、结果显示等技术,由客户端应用程序支持。

  • 规则检查、委托上报和接收回报是可重用的应用功能,可考虑实现成服务或微服务。

  • 基础设施的技术选型,由技术架构师决定。

总结

正向逻辑:战略决定业务,业务决定技术。

反向逻辑:技术支撑业务,业务支撑战略。

相关推荐
煎饼学大模型38 分钟前
Agent 的“大脑-手“解耦架构:当推理层和工具执行层各自独立演进
数据库·人工智能·oracle·架构·agent
韩楚风7 小时前
【参天引擎】一次宕机后的数据恢复,让我把 Cantian 持久化与恢复的六大机制全搞明白了
服务器·网络·数据库·分布式·mysql·架构·cantian
Slice_cy7 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(五)
前端·后端·架构
heimeiyingwang8 小时前
【架构实战】Helm Chart 进阶:依赖管理、测试与 CI/CD 集成
ci/cd·架构
四眼肥鱼8 小时前
【Nextjs】macos 系统运行报错:Error: Cannot find module '../lightningcss.darwin-x64.node'
前端·架构·前端框架
GitLqr8 小时前
别被“Flutter 传感器延迟 150ms”带偏了:这可能只是你的实现方式错了
flutter·架构·kotlin
SamDeepThinking8 小时前
微信支付对接实战:从下单到回调的完整落地过程
后端·程序员·架构
shiyi.十一8 小时前
第7章:无线网络和移动网络 — 知识要点与架构
网络·架构·php
Slice_cy10 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(三)
前端·后端·架构
写代码的强哥10 小时前
TiDB 和 OceanBase 对比:架构师视角下的企业选型实战指南
数据库·云原生·架构