企业级业务架构设计:方法论与实践 学习笔记

简介: 最近在项目中涉及到这一领域,也借着这个契机做一次对企业级业务架构设计的深入学习。

一 简介

   《企业级业务架构设计:方法论与实践》是付晓岩撰写的,从业务架构“知行合一”角度阐述业务架构的战略分析、架构设计、架构落地、长期管理,以及架构方法论持续改良的书籍。最近在项目中涉及到这一领域,也借着这个契机做一次对企业级业务架构设计的深入学习。

二 企业级业务架构

2.1 什么是业务架构

   业务架构,一种简单的定义是:以实现企业战略为目标,构建企业整体业务能力规划,并将其传导给技术实现端的结构化企业能力分析方法。

   业务架构的使命,最初是面向复杂系统构建,被归属到IT战略部分。但从实践经验上看,应当把业务架构从IT战略中独立出来,更多地面向业务人员,充当业务与技术之间的桥梁。

   业务架构的首要责任,在于实现业务与技术的深度融合,打造能够让企业整体,尤其是业务与技术之间有效沟通的“通用语烟”。

   业务架构的演进经历了几个不同时代的模型,有Zachman模型、TOGAF、FEA和DODAF。

2.2 Zachman模型

   1987年Zachman提出了企业架构模型,这个模型按照“5H1H”6个维度,结合目标范围、业务模型、信息系统模型、技术模型、详细展现、功能系统6个层次,将企业分成了36个组成部分。通过这种方式,Zachman模型描述了企业架构需要考虑的内容,表格如下:

2.3 TOGAF模型

2.3.1 TOGAF简介

   TOGAF(The Open Group Architecture Framework),行业标准的体系架构框架,由国际标准权威组织The Open Group制定。The Open Group于1993年开始应客户要求制定系统架构的标准,在1995年发表The Open Group Architecture Framework (TOGAF) 架构框架。

   TOGAF的基础是美国国防部的信息管理技术架构(Technical Architecture for Information Management: TAFIM)。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。它可让您设计、评估、并建立组织的正确架构。TOGAF的关键是架构开发方法(Architecture Development Method: ADM): 一个可靠的,行之有效的方法,以发展能够满足商务需求的企业架构。

2.3.2 TOGAF规格说明书

包括以下七个部分:

第一部分:简介。介绍TOGAF、企业架构的核心概念,以及TOGAF的变化。

第二部分:架构开发方法。核心内容,介绍TOGAF架构开发方法,简称ADM。

第三部分:ADM指南和技巧。

第四部分:架构内容框架。介绍内容框架、制品结构化元模型、可重用企业构件块的使用,概括了典型架构交付物。

第五部分:企业连续系列和工具。讨论合适的分类方法与工具,对架构活动产生的结果进行分类和存储

第六部分:TOGAF参考模型。提供了TRM(技术参考模型)和III-RM(继承信息基础设施参考模型)两个架构参考模型。

第七部分:架构能力框架。

2.3.3 TOGAF交付物

2.3.4 ADM方法阶段

   ADM方法包括十个阶段,其中每个阶段都有其目标、活动、输入、步骤、输出、技巧和交付物等。需求管理是一个特殊的阶段,该阶段和其他任何阶段都有关系,是ADM过程的驱动中心。处理需求变化的能力在ADM中是至关重要的,因为架构就其本质而言就是处理不确定性和变化,在干系人期望和能交付的实际解决方案间搭建桥梁。各阶段关系如下:

2.4 DODAF模型

2.4.1 DODAF简介

   DODAF(Department of Defense Architecture Framework,美国国防部体系架构框架)诞生于TOGAF之后。1995年,美国国防部专门成立了“C4ISR一体化任务小组”,并随后颁布了C4ISR架构框架1.0版。1997年12月,发布了C4ISR架构框架2.0版。C4ISR架构框架2.0采用作战视图、系统视图和技术视图的结构,即经典的三视图结构。

2.4.2 DODAF发展的时间线

   DODAF发展的时间线如下:

2.4.3 DODAF的核心内容

   DODAF的核心包括8个视点和52个模型,如下图所示:

8个视点之间的关系,我们整理如下图所示:

2.4.3 DODAF开发步骤

1、确定架构的运用意图

   在开始描述体系结构之前,用户必须定义架构的用途及预期用途,如何进行架构描述工作,架构开发中使用的方法;所需的数据类别,对他人的潜在影响,以及通过绩效和客户满意度来衡量努力成功的过程。

2.确定架构的范围

   体系结构范围包括:体系结构项目背景、使命、活动、组织机构、时间跨度、合适的粒度、作战想定、态势、地理范围、经费以及在特定时间范围内专业技术的可用性等背景,以及其他一些相关条件说明,如计划管理、可用资源、专家以及体系结构数据的可用性等。

3.确定支持架构开发的数据

   数据实体与属性的选择对于体系结构的构建是非常重要的,不仅要能满足第一步的目标,而且要能保持体系结构的一致性。实体和属性是通过数据类型来体现的,数据类型包括规范业务行为的规则、需要完成的活动信息、指挥关系、任务列表等多种类型,体系结构的度量标准可以是定量的,也可以是定性的。

4.采集、组织、关联和存储架构数据

   依据获得的信息,确定需要构建的产品,以及构建这些产品必须获得什么样的体系结构数据,并组织利用这些数据,开发相应的体系结构产品。

5.进行支持架构的分析

   对包含了所需全部数据的体系结构进行静态分析、动态分析、实验分析和试验分析、以确定体系结构数据的有效性;并根据既定的体系结构用途和目的对不满足要求的数据和产品进行修正。

6.产生符合决策者要求的文档结果

   生成基于基本数据查询的体系结构产品描述,其描述应当与既定模型保持一致,具有可重用性并能被共享。

参考文章:

如何带领团队“攻城略地”?优秀的架构师这样做

美国国防部体系结构框架(DoDAF)介绍

相关文章
|
1天前
|
缓存 负载均衡 API
微服务架构下的API网关性能优化实践
【5月更文挑战第10天】在微服务架构中,API网关作为前端和后端服务之间的关键枢纽,其性能直接影响到整个系统的响应速度和稳定性。本文将探讨在高并发场景下,如何通过缓存策略、负载均衡、异步处理等技术手段对API网关进行性能优化,以确保用户体验和服务的可靠性。
|
2天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
3天前
|
监控 API 持续交付
构建高效可靠的微服务架构:策略与实践
【5月更文挑战第8天】在当今快速演进的软件开发领域,微服务架构已经成为实现敏捷开发、持续交付和系统弹性的关键模式。本文将探讨构建一个高效且可靠的微服务系统所必须的策略和最佳实践。我们将从服务的划分与设计原则出发,讨论如何通过容器化、服务发现、API网关以及断路器模式来优化系统的可伸缩性和鲁棒性。此外,我们还将涉及监控、日志管理以及CI/CD流程在确保微服务架构稳定运行中的作用。
|
3天前
|
敏捷开发 持续交付 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第8天】 在数字化转型的浪潮中,微服务架构已成为企业追求敏捷开发、持续交付和系统弹性的关键解决方案。本文将深入探讨微服务的核心概念,包括其设计原则、优缺点以及如何在后端开发中实现高效的微服务架构。我们将通过实际案例分析,展示微服务如何帮助企业快速适应市场变化,同时保持系统的可维护性和扩展性。
|
3天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
5天前
|
监控 负载均衡 数据安全/隐私保护
探索微服务架构下的服务网格(Service Mesh)实践
【5月更文挑战第6天】 在现代软件工程的复杂多变的开发环境中,微服务架构已成为构建、部署和扩展应用的一种流行方式。随着微服务架构的普及,服务网格(Service Mesh)作为一种新兴技术范式,旨在提供一种透明且高效的方式来管理微服务间的通讯。本文将深入探讨服务网格的核心概念、它在微服务架构中的作用以及如何在实际项目中落地实施服务网格。通过剖析服务网格的关键组件及其与现有系统的协同工作方式,我们揭示了服务网格提高系统可观察性、安全性和可操作性的内在机制。此外,文章还将分享一些实践中的挑战和应对策略,为开发者和企业决策者提供实用的参考。
|
5天前
|
API 持续交付 开发者
构建高效微服务架构:策略与实践
【5月更文挑战第6天】随着现代软件系统的复杂性增加,微服务架构逐渐成为企业开发的首选模式。本文深入分析了构建高效微服务架构的关键策略,并提供了一套实践指南,帮助开发者在保证系统可伸缩性、灵活性和稳定性的前提下,优化后端服务的性能和可维护性。通过具体案例分析,本文将展示如何利用容器化、服务网格、API网关等技术手段,实现微服务的高可用和敏捷部署。
|
3天前
|
API 持续交付 开发者
构建高效微服务架构:后端开发的新视角
【5月更文挑战第8天】 随着现代软件开发的演变,微服务架构已经成为了企业追求敏捷、可扩展和灵活部署的重要解决方案。本文将深入探讨如何构建一个高效的微服务架构,包括关键的设计原则、技术栈选择以及持续集成与部署的最佳实践。我们还将讨论微服务带来的挑战,如数据一致性、服务发现和网络延迟,并提出相应的解决策略。通过本文,后端开发者将获得构建和维护微服务系统所需的深度知识,并了解如何在不断变化的技术环境中保持系统的健壮性和可维护性。
35 8
|
1天前
|
监控 持续交付 Docker
使用Docker进行微服务架构的最佳实践
【5月更文挑战第10天】本文探讨了使用Docker实施微服务架构的最佳实践。首先,理解微服务架构是拆分小型独立服务的模式,借助Docker实现快速部署、高可移植性和环境一致性。Docker的优势在于服务扩展、容器编排、自动化构建与部署。最佳实践包括:定义清晰服务边界,使用Dockerfile和Docker Compose自动化构建,利用Docker Swarm或Kubernetes编排,实施服务发现和负载均衡,监控与日志记录,以及持续集成和持续部署。Docker虽重要,但需与其他技术结合以确保系统整体稳定性。
|
1天前
|
监控 持续交付 开发者
构建高效微服务架构:后端开发的新范式
【5月更文挑战第10天】在现代软件开发领域,微服务架构已经成为一种流行的设计模式,它通过将大型应用程序拆分为一组小型、独立和松散耦合的服务来提供更高的可伸缩性和灵活性。本文深入探讨了微服务架构的设计理念、实施步骤以及面临的挑战,并提出了一套实用的策略和最佳实践,帮助后端开发者构建和维护高效的微服务系统。