温昱:架构实践全景图


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

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

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

本文就带大家来厘清这几种架构之间的脉络关系。

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

  • BA:Business Architecture,业务架构

  • DA:Data Architecture,数据架构

  • AA:Applications Architecture,应用架构

  • TA:Technology Architecture,技术架构

以下内容节选自业务架构 应用架构 数据架构 实战一书!

▼扫码获取本书详情▼


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

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

 

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

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

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

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

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

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

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

  • 公司战略;

  • 业务架构;

  • 方案架构。

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

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

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

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

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

▊ BA、DA、AA、TA的实际工作内容

承接上文,公司战略层——业务架构层——方案架构层,三层大局已定。

那么,战略、BA、DA、AA、TA这五项工作,具体的内容有哪些呢?

例如,确定战略驱动因素(Driver)之后,业务架构师应做哪些分析?

例如,组织结构分析在哪里?应用项目划分在哪里?技术选型在哪里?

下图总结了BA、DA、AA、TA的实际内容。

1. 公司战略层。战略是业务架构设计的驱动力。

眼尖的朋友从上图中可以看出:战略规划需要广泛的外部分析、内部分析、基于SWOT的战略决策分析、最终制定出产品战略、服务战略、合作战略、渠道战略、市场战略、竞争战略等方面的具体方针。

2. 业务架构层。业务架构蓝图必须有企业标准,笔者推荐给企业的标准是5要素。

组织结构+业务功能+业务流程,这是经典的“老三样”,对应于“谁”“干什么”“怎么干”,符合国内老一代信息科技老总们的口味。

在业务架构蓝图中,应加上商业模式。九个格子的商业模式画布,比较新,有用且好用。我们后续再讲。

在业务架构蓝图中,应加上业务数据。

有利因素是,业务数据和业务功能、业务流程紧密相关,也属同一思维层次。不利因素是,有人争辩业务数据应属于数据架构。我看中的是有利因素,照顾的实践是:业务架构师的工作产物《业务架构书》要包含业务数据才完整。

3. 方案架构层。涉及数据架构、应用架构、技术架构。

数据架构的核心是数据类型和来源。

例如,一家电商企业要把员工角色数据、员工操作日志、商品数据、订单数据、用户登录记录、用户搜索记录、用户评价记录、用户投诉记录等多种要管理的数据类型识别出来,才能有针对性地设计数据模型、数据存储与分布、数据流等。数据流是场景化的,业务功能不同,相关的数据流可能不同。数据流又常涉及数据产生、数据使用、数据加工、数据存储等。

应用架构的核心是识别出应用功能,并映射到应用项目。

技术架构的核心是识别出技术需求并映射到技术选型。笔者推荐的技术架构5要素包括:

  • 技术需求——技术服务列表,或结构化地画出技术参考架构、技术栈。

  • 技术选型——技术平台、技术产品、技术框架、中间件。

  • 物理选型——硬件选型、网络选型。

  • 分布设计——部署结构、负载均衡。

  • 选型管理——面向行业的技术指标、企业中长期的技术选型标准。

▊ 从战略到架构,再到实施的实际过程

1. 从战略到架构

首先,看看战略、BA、DA、AA、TA五个环节对应的岗位和产物,如下图所示。

例如,银行、保险、证券等企业,都有自己的信息科技部,鲜有例外。架构办公室这个部门,是CIO的左右手。架构办有专职或兼任的业务架构师、数据架构师、应用架构师、技术架构师,还有专门的安全架构师。

业务架构师负责设计业务架构,内容包括业务功能、业务流程、商业模式、组织结构和业务数据等。业务架构师的输出,有的企业叫《业务架构书》,有的企业叫《业务需求书》。

业务架构师的输出,是数据、应用、技术架构师的输入。最典型的例子就是业务流程。BA架构师设计业务流程,数据、应用、技术架构师思考完成业务流程需要的数据支撑、系统协作、技术平台。

2. 从架构到实施

下面,重点看架构路线图环节和实施规划环节。如下图所示。

要点是钉到岗位,落到文档,细到机构调整、技术采购、项目研发等工作包。

环节1:战略。公司管理层牵头、规划发展部全程支持。产出物:《xx-xx年战略规划书》。

环节2:业务架构。信息科技部的架构师团队的业务架构师负责。产出物:《业务架构书》。

环节3:方案架构。信息科技部的架构师团队负责。产出物:《技术方案书》。

环节4:架构路线图。涉及预算,CIO牵头制定、董事会批准。产出物:架构路线图。

环节5:实施规划。CIO牵头制定。产出物:实施计划。

环节6:项目管控。采取研发的项目由PMO负责,采取购买的项目由总经理办公室(总经办)负责。

▊ 业务驱动——小试业务流程驱动的DA、AA、TA设计

0. 案例背景

前文,我们弄清了BA、DA、AA、TA间的脉络关系,但太粗。

在此,我们“细看”业务流程在BA、DA、AA、TA间“穿针引线”的过程。总体而言:

  • 在BA设计环节——业务流程被详细定义

  • 在DA、AA、TA设计环节——业务流程是设计的驱动因素

本节的例子,仅围绕“买入股票”示范从业务流程到应用程序,又到数据实体,再到技术组件这条主线设计。

1. 业务架构

作为示例,笔者简单画一下“买入股票”的业务流程图。

用Archimate语言建模,如下图所示。

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

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

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

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

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

2. 应用架构

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

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

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

3. 数据架构

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

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

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

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

4)后台存储“回报记录”数据,也是为了异步处理。如下图所示。

4. 技术架构

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

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

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

3)基础设施的技术选型,由技术架构师决定。如下图1-8所示。

▊总结

本文重点 “理清BA、DA、AA、TA间的逻辑关系”,如下图所示。

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

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

想要了解更多具体案例和实战方法,可阅读《业务架构 应用架构 数据架构 实战》一书。

▊《业务架构 应用架构 数据架构 实战

温昱 著

  • 每一页都是实践经验的总结,参考性超强

  • 每一页都简洁明了重点突出,可读性超强

  • 大局+架构+文档,三大篇,操作性超强

本书思路清晰,每一个概念、每一项方法都给出了简要透彻的阐述。同时又结合实践,给读者看得见、摸得着的项目实感,帮助读者迅速上手。本书还有一个作用,就是能提升读者对IT及其业务的认知层次,为长远职业发展提供助力。

(扫码了解本书详情)



如果喜欢本文
欢迎 在看丨留言丨分享至朋友圈 三连



 热文推荐  
我们公司放弃了微服务,重回单体架构

领域驱动设计(DDD):领域和子域
高可用:异地多活
中台实践:新汽车行业的业务、技术和平台转型
万字好文,电商秒杀系统架构分析与实战!
美团技术总结:Java中9种常见的CMS GC问题分析与解决
哪吒:猪八戒十年DevOps演进之路
女神节快乐!世界上第一位程序员就是女神
黄理:快手基于 RocketMQ 的在线消息系统建设实践

   END     
#技术人必备#



▼点击阅读原文,获取本书详情~
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 软件架构设计是指在开发和设计软件系统时,为了满足软件的需求和目标,将其按照一定的原则、规范和模式进行组织和分解的过程。软件架构设计的目的是为了实现软件的复用、可维护性、可扩展性、可靠性等方面的要求,以提高开发效率和软件系统的质量。 在软件架构设计中,需要考虑如下几个方面: 1. 模块化设计:将软件系统分解为相互独立的模块,每个模块负责特定的功能,通过消息传递或接口调用进行交互。模块化设计可以提高代码复用性和系统的可维护性。 2. 分层设计:将软件系统划分为多个层次,每个层次负责不同的功能。通过分层设计可以实现系统的解耦,提高系统的可扩展性和可维护性。 3. 容器化设计:使用容器化技术,将软件系统组件封装为独立的服务,并通过容器进行管理和调度。容器化设计可以提高系统的灵活性和可伸缩性。 4. 数据库设计:根据需求确定合适的数据库系统,设计数据模型和数据库表结构。良好的数据库设计可以提高系统的性能和可靠性。 5. 接口设计:定义清晰的接口规范,让不同的模块之间可以方便地进行交互。接口设计是实现模块间解耦的重要手段。 6. 过程设计:设计系统的工作流程和业务逻辑,确保系统的功能和流程符合用户需求和预期。 7. 其他方面:还需要考虑系统的安全性、性能优化、错误处理等方面的设计。 在软件架构设计过程中,需要遵循设计原则和最佳实践,如单一职责原则、开闭原则、依赖倒置原则等,以保证设计的可靠性和可扩展性。 综上所述,软件架构设计是一项复杂而重要的工作,它关乎软件系统的质量和可维护性。只有合理的软件架构设计才能使软件系统具备良好的性能、可靠性和可扩展性,同时满足用户的需求和预期。 ### 回答2: 软件架构设计是指在软件开发过程中,为了满足系统的功能需求和质量属性要求,确定软件的整体结构和组织方式的过程。它涉及到软件系统的各个层面,包括用户界面、业务逻辑、数据存储和系统间的通信等。 针对温昱epub这个特定的软件,软件架构设计就是要确定如何组织和设计这个epub阅读软件的各个组件和模块,以便能够实现对epub电子书的浏览和阅读功能。 在软件架构设计过程中,首先需要进行需求分析,明确软件的功能需求。对于温昱epub软件而言,主要的功能需求包括:支持epub电子书格式、能够实现对epub电子书内容的展示和阅读、提供书签、目录和搜索等功能。 接下来,需要根据需求确定软件的逻辑结构和组织方式,即选择合适的软件架构模式。常见的架构模式包括MVC(模型-视图-控制器)、MVVM(模型-视图-视图模型)等。选择适合的架构模式有助于提高软件的可扩展性、可维护性和可测试性。 然后,根据架构模式,将系统拆分为不同的模块和组件,并定义它们之间的接口和关系。在温昱epub软件中,可能会有文件解析模块、页面展示模块、书签管理模块等。 最后,考虑系统的性能、安全性等非功能需求,并进行必要的优化和保护措施,以确保软件的稳定性和可靠性。 总之,软件架构设计对于温昱epub软件的开发至关重要。它能够帮助开发团队更好地组织和管理软件的结构,提高软件的质量和可维护性,从而实现用户对epub电子书的高效浏览和阅读。 ### 回答3: 软件架构设计是指在开发软件过程中,根据需求和要求设计出适合软件功能和性能的系统架构。软件架构设计涉及多个层面,包括系统拓扑结构、分层架构、模块划分、数据流和交互设计等。 温昱epub是一个软件架构设计的实例。首先,温昱epub可能具有三层架构,包括用户界面层、应用逻辑层和数据持久化层。用户界面层负责与用户交互,应用逻辑层负责处理用户的请求和业务逻辑,数据持久化层负责将数据存储到数据库中。 其次,温昱epub的模块划分可能包括电子书上传模块、电子书阅读模块、书签管理模块等。电子书上传模块负责将用户上传的电子书保存到数据库中,电子书阅读模块负责实现电子书的浏览和翻页功能,书签管理模块负责管理用户添加的书签。 此外,温昱epub可能需要设计一套完整的数据流和交互设计。例如,当用户上传电子书时,用户界面层将获取用户上传的文件,并将其传递给应用逻辑层进行处理。应用逻辑层在处理完用户的请求后,将数据传递给数据持久化层进行存储。 总体而言,软件架构设计是一个在软件开发过程中至关重要的环节,它能够保证软件系统的可扩展性、可维护性和可靠性。温昱epub作为一个实例,需要考虑到用户界面、应用逻辑和数据存储等多个方面的设计,以实现该软件的功能和性能要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值