系统架构设计师教程(十二)信息系统架构设计理论与实践

信息系统架构设计理论与实践

  • 12.1 信息系统架构基本概念及发展
    • 12.1.1 信息系统架构的概述
    • 12.1.2 信息系统架构的发展
    • 12.1.3 信息系统架构的定义
  • 12.2 信息系统架构
    • 12.2.1 架构风格
    • 12.2.2 信息系统架构分类
    • 12.2.3 信息系统架构的一般原理
    • 12.2.4 信息系统常用4种架构模型
    • 12.2.5 企业信息系统的总体框架
  • 12.3 信息系统架构设计方法
    • 12.3.1 ADM架构开发方法
    • 12.3.2 信息化总体架构方法
  • 12.4 信息系统架构案例分析
    • 12.4.1 价值驱动的体系结构——连接产品策略与体系结构
    • 12.4.2 Web服务在HL7上的应用——Web服务基础实现框架
    • 12.4.3 以服务为中心的企业整合

12.1 信息系统架构基本概念及发展

随着技术的进步,信息系统规模逐渐扩大、复杂度不断提高,因此系统架构变得越来越重要。在大规模复杂系统中,总体系统结构的设计比计算算法和数据结构的选择更为关键。人们意识到系统架构的重要性,并开始关注设计和确定系统整体结构的质量。系统架构在解决成熟产品和相关组织整合问题时起着关键作用,系统架构师是解决这些问题的专家。系统架构定义了开发和实现系统所需技术层面的互动,同时也影响开发团队和个人之间的互动。因此,技术和组织因素是系统架构讨论的主要话题。在系统开发项目中,系统架构师是项目的总设计师,负责构建企业新产品和技术体系,是目前急需的高层次技术人才。

12.1.1 信息系统架构的概述

信息是对客观事物的描述,用于传播和处理的对象。信息系统架构是对特定信息进行统筹、规划、设计的活动。它包括概念层次和物理层次,涉及艺术、科学、方法和建设风格。信息系统架构在企业中起到管理和运营业务的作用,并成为软件工程领域的研究热点和独立学科分支。它定义了软件系统的结构、行为和属性,帮助实现企业总体业务架构。

12.1.2 信息系统架构的发展

企业架构是一种逻辑的构造蓝图,用于定义和控制企业系统和其组件的集成。它可以从信息、流程、网络、人员、时间和基本原理等6个视角来分析企业,并提供对应的6个模型,以此来支持企业总体业务架构的实现。随着政府、应用企业、咨询和研究机构的广泛参与,企业架构标准化的工作越来越重要,并产生了一些研究团体和标准框架,如TOGAF。作为企业信息系统架构师,我们需要根据企业需求来开发信息系统架构,以支持市场需求、环境要求、经营需要、技术发展、用户要求以及法律需求等各个方面。同时,研究信息系统架构描述语言、信息系统架构的描述与表示、信息系统架构的分析与验证、基于架构的软件维护与演化、信息系统架构的可靠性等方面的内容也是我们需要关注的。

12.1.3 信息系统架构的定义

信息系统架构是指一个软件或计算机系统的结构,包括软件元素、元素的外部可见属性以及它们之间的关系。架构提供了对系统的高级抽象,描述了系统的组成元素、它们的相互作用、指导元素集成的模式以及这些模式的约束。架构设计师根据功能和非功能需求进行设计和决策,架构具有基础性和决策性。同时,架构也受到项目干系人、开发组织、技术环境等因素的影响。架构对企业非常重要,影响着开发组织的结构和目标,以及商业周期。在设计信息系统架构时,需要考虑硬件特性和网络特性。

12.2 信息系统架构

12.2.1 架构风格

信息系统架构设计的核心问题是能否实现架构级别的软件重用,即在不同的软件系统中使用相同的架构。信息系统架构风格是描述特定应用领域中系统组织方式的惯用模式,它定义了一个系统家族,包括构件和连接件类型,并指导系统如何组合这些构件和连接件。架构风格反映了领域中众多系统共有的结构和语义特性,指导如何有效地组织模块和子系统成为完整的系统。选择适合特定项目的架构风格需要根据具体特点进行分析比较,因为架构设计师在应用架构风格上有很大的选择余地。通用的架构风格包括数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格等。这些架构风格为大粒度的软件重用提供了可能。

12.2.2 信息系统架构分类

信息系统的架构包括物理结构和逻辑结构两个方面。物理结构考察硬件系统的空间分布情况,可以分为集中式结构和分布式结构。集中式结构资源集中,便于管理,但维护和管理困难,不利于用户发挥积极性和主动性;分布式结构适应现代企业管理发展趋势,可以根据应用需求配置资源,扩展方便,安全性好,但标准不易统一,协调困难。

逻辑结构是指信息系统的功能综合体和概念性框架,不同类型和规模的信息系统的逻辑结构有所差异。一个完整的信息系统支持各种功能子系统,使得每个子系统可以完成不同层次的功能。在信息系统开发中,强调各子系统之间的协调一致性和整体性,进行横向综合和纵向综合,以及从信息模型和处理模型两个方面进行纵横综合。

综合考虑物理结构和逻辑结构,可以为信息系统的设计、开发和管理提供指导和决策依据。

12.2.3 信息系统架构的一般原理

信息系统架构是指在考虑企业战略、业务、组织、管理和技术的基础上,研究企业信息系统的组成成分及成分之间的关系,建立多维度分层次的、集成的开放式体系结构,为企业提供具有一定柔性的信息系统及灵活有效的实现方法。架构包含两个基本部分:组成成分和组成成分之间的关系。在信息系统中,架构稳定部分的支持下,对相对变化较多的部分进行重新组织,达到信息系统对环境变化具有一定适应能力的目的。

12.2.4 信息系统常用4种架构模型

几种常用的信息系统结构模式,包括单机应用系统、客户机/服务器模式、MVC结构、面向服务的SOA和多服务集合,以及企业数据交换总线。其中,单机应用系统是最简单的软件结构,而客户机/服务器模式则是信息系统中最常见的一种模式,包括两层C/S、三层C/S与B/S结构,以及多层C/S结构。MVC模式在信息系统设计中非常流行,而面向服务架构(SOA)模式包括Web Service和企业数据交换总线,用于不同应用系统之间进行信息交换的公共通道。

12.2.5 企业信息系统的总体框架

在这里插入图片描述
信息系统架构(ISA)包含战略系统、业务系统、应用系统和信息基础设施四个方面。这些方面相互关联,并构成层次分明的层次结构。战略系统是与战略制定和高层决策相关的管理活动和计算机辅助系统。它包括高层决策支持系统和企业的战略规划体系。业务系统是完成特定业务功能的各部分组成的系统,如生产系统、销售系统等。它们通过业务过程进行管理和控制。应用系统是指信息系统中的应用软件部分,包括事务处理系统、管理信息系统等。信息基础设施是根据企业的业务需求构建的信息环境,包括技术基础设施、信息资源设施和管理基础设施。技术基础设施涵盖计算机、网络、系统软件等,信息资源设施包括数据和信息本身,管理基础设施涉及信息系统部门的组织结构和管理方法。总体而言,ISA的目标是在企业中建立一个高度集成化、多维度的信息系统架构,以支持企业的战略管理和业务运行。

12.3 信息系统架构设计方法

12.3.1 ADM架构开发方法

在这里插入图片描述
TOGAF是一种企业架构框架标准,通过模块化架构、内容框架、扩展指南、架构风格等方式,帮助企业实现关键业务需求。其核心是架构开发方法(ADM),是一个可靠的、行之有效的方法,能够满足商务需求的企业架构。

ADM 架构开发方法是指一种详细定义开发企业架构所需步骤及其关系的方法,也是 TOGAF 规范中最核心的内容之一。企业架构的发展过程可以看作是从基础架构到通用基础架构和行业架构,最终达到组织特定架构的演进过程。ADM 方法为组织的演进提供了指导,而企业架构资源库则为其提供了可重用的信息资源和参考资料。ADM 方法包括多个阶段,如准备、需求管理、架构愿望、业务架构、信息系统架构、技术架构、机会和解决方案、迁移规划、实施治理和架构变更管理。这些阶段通过迭代的方式应用于架构开发的整个过程中,每个阶段都需要根据原始业务需求进行确认,并考虑到架构资产的重用。ADM 各个阶段有各自的主要活动。

12.3.2 信息化总体架构方法

总的来说,随着中国经济高速增长,信息化有了显著发展和进步,正在迈入新阶段。国家发展改革委提出了推进国家政务信息化规划,到2025年,将迈入“融慧治理”新阶段。信息化包括七个主要平台,如知识管理平台、日常办公平台等。

信息化的概念起源于20世纪60年代的日本,西方普遍使用“信息社会”和“信息化”的概念是70年代后期开始的。信息化生产力是迄今人类最先进的生产力,包括信息网络体系、信息产业基础、社会运行环境和效用积累过程。信息化建设是品牌利用现代信息技术支撑品牌管理的手段和过程,包括企业规模、电子商务等内容。

信息化特征主要体现为易用性、健壮性、平台化、灵活性、拓展性、安全性、门户化和整合性、移动性。

信息化工程建设方法包括信息化架构模式和信息化建设生命周期。信息化架构一般有两种模式,一种是数据导向架构,一种是流程导向架构。信息化建设生命周期包括系统规划、系统分析、系统设计、系统实施以及系统运行和维护阶段。

12.4 信息系统架构案例分析

12.4.1 价值驱动的体系结构——连接产品策略与体系结构

系统的存在是为了为利益相关方创造价值,但这一理想往往难以完全实现。当前的开发方法并未充分提供信息给利益相关方、架构师和开发人员。因此,引入了两个重要概念:价值模型和体系结构策略。价值模型描述了系统中的价值流,并包括了价值期望值、反作用力和变革催化剂三种基本形式,这些被称为价值驱动因素。而体系结构挑战则是由限制因素引起的,需要通过优先化和处理来实现最大化的系统价值。

在实际应用中,传统方法常常限制于参与者行为模型,而忽略了价值模型中的关键要素。因此,我们需要更有效地识别和分析价值模型,以指导系统设计和开发。对于体系结构挑战,我们需要评估影响因素、确定处理方法,并制定体系结构策略来指导系统组织、操作、可变性和演变。

综上所述,价值模型和软件体系结构之间存在着重要联系,其中价值模型包含了软件体系结构的主要驱动因素。体系结构挑战则试图通过优先化处理来实现系统的最大化价值,而体系结构策略则是从最高优先级体系结构方法中综合得出的共同规则、政策和原则。

12.4.2 Web服务在HL7上的应用——Web服务基础实现框架

HL7标准是卫生保健行业中的一项重要信息技术标准,它定义了卫生保健领域中不同系统之间的数据交换和通信规范。该标准的概念模型包括参考信息模型、消息结构、交互、应用程序角色和Storyboard。它提供了一种统一的方式来描述和传递卫生保健数据,促进了不同系统之间的互操作性和信息共享。

为了实现HL7标准的应用,文章介绍了HL7 Web服务适配器的开发过程。这涉及到消息和数据类型的设计,适配器模式的选择,HL7 Web服务契约的开发,以及Web服务Stub和代理的实现。同时,适配器的业务逻辑也需要进行开发,以确保数据的正确处理和传递。通过这些步骤,可以实现基于HL7标准的信息交换和集成。

最后,文章通过一个案例研究展示了HL7信息交换的流程。这个案例研究演示了如何使用HL7标准进行患者信息的传输和共享。通过遵循HL7标准,不同的卫生保健系统可以实现数据的无缝对接和互操作,提高了信息的准确性和效率。

综上所述,HL7标准在卫生保健行业中具有重要的意义。它为卫生保健数据的交换和共享提供了统一的规范,促进了卫生保健系统之间的互操作性。通过开发HL7 Web服务适配器,可以实现基于HL7标准的信息集成和交换,提高了卫生保健信息系统的效能。
在这里插入图片描述

12.4.3 以服务为中心的企业整合

某航空公司拥有多个历史悠久的信息系统,包括主机系统和基于UNIX、.Net的应用程序,存在着异构的技术栈和系统间耦合性强的问题。为了解决这些问题,该公司选择以Ramp Control系统为例,探索以服务为中心的企业集成道路。

在业务环境分析中,介绍了Ramp Coordination流程的重要性以及航班类型的不同对流程的影响。同时强调了以服务为中心的企业集成可以通过抽象业务活动为可重用的服务,并通过流程服务提供的流程编排能力降低流程集成成本。

通过服务建模阶段的分析,确定了Ramp Coordination相关的服务模型和如何实现这些服务。在IT环境分析中,描绘了Ramp Coordination流程与周围系统的交互状况,以及现有系统中提取数据的方式。

最后,通过高层架构设计展示了Ramp Coordination系统的架构元素和它们之间的工作关系。其中包括信息服务、企业服务总线中的事件服务、流程服务和传输服务等。

总的来说,该案例展示了以服务为中心的企业集成的基本步骤,以及涉及的技术,为企业解决系统间集成难题提供了一种可行的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/338924.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

flink结合Yarn进行部署

1. 什么是Yarn模式部署Flink 独立(Standalone)模式由 Flink 自身提供资源,无需其他框架,这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但我们知道,Flink 是大数据计算框架,不是资…

[娱乐]索尼电视安装Kodi

索尼电视不能直接apk安装kodi应用 android studio安装后附带 abd, 路径 C:\Users\[yourname]\AppuoData\Local\Android\Sdk\platform-tools\adb.exe安卓电视点击内部版本号,启用开发者模式 adb 连接索尼安卓电视,记得电视上运行调试 abi选…

Vue——计算属性

文章目录 计算属性computed 计算属性 vs methods 方法计算属性完整写法 综合案例:成绩案例 计算属性 概念:基于现有的数据,计算出来的新属性。依赖的数据变化,自动重新计算 语法: ①声明computed配置项中,一个计算属性…

stable diffuison的安装和使用

stable diffuison的安装和使用 简单介绍 Stable Diffusion是一个深度学习文本到图像的生成模型,它可以根据文本描述生成详细的图像。这个模型主要应用于文本生成图像的场景中,通过给定的文本提示词,模型会输出一张与提示词相匹配的图片。 S…

C++提高编程---模板---类模板

目录 一、类模板 1.模板 2.类模板的作用 3.语法 4.声明 二、类模板和函数模板的区别 三、类模板中成员函数的创建时机 四、类模板对象做函数参数 五、类模板与继承 六、类模板成员函数类外实现 七、类模板分文件编写 八、类模板与友元 九、类模板案例 一、类模板 …

HTML CSS 发光字头特效

效果展示&#xff1a; 代码&#xff1a; <html><head> </head><style>*{margin: 0;padding: 0;}body {text-align: center;}h1{/* border: 3px solid rgb(201, 201, 201); */margin-bottom: 20px;}.hcqFont {position: relative;letter-spacing: 0.07…

数据结构【DS】Ch8 排序

文章目录 插入排序选择排序归并&基数外部排序 插入排序 交换排序 选择排序 归并&基数 外部排序

电脑可以连接wifi,甚至可以qq聊天,但就是不能用浏览器上网,一直显示未检测出入户网线的解决方案

今天回到家&#xff0c;准备办公却发现电脑可以连接wifi&#xff0c;甚至可以qq聊天&#xff0c;但就是不能用浏览器上网&#xff0c;一直显示未检测出入户网线的解决方案&#xff0c;小白也可以看懂 以下有几种解决方案&#xff0c;不妨都试试&#xff0c;估计可以解决95%的相…

【C语言基础篇】结构控制(下)转向语句break、continue、goto、return

文章目录 一、break语句 1. break在 while 循环中 2. break在 for 循环中 3. break在 do…while 循环中 4. break在 switch 语句中 5. break 总结 二、continue语句 1. continue在 while 循环中 2. continue在 for 循环中 3. continue在 do...while 循环中 4. con…

PY调包侠——Collections高效库

一、【写在前面】 PY是一个调包侠语言&#xff0c;多学一个库可以提高计算速度。Collections提供了各种数据类型和集合工具&#xff0c;可以很方便的处理各种数据结构。如果您有刷力扣的习惯&#xff0c;可以经常看到Collections和itertools的身影&#xff0c;经常用这两个可以…

【数据结构】二叉树相关oj题(一)

目录 1、二叉树的构建及遍历 1.1、题目介绍 1.2、解题思路 1.3、代码描述 1.4、完整代码 2、二叉树的层次遍历 2.1、题目介绍 2.2、解题思路 2.3、代码描述 2.4、完整代码 1、二叉树的构建及遍历 1.1、题目介绍 原题链接&#xff1a;KY11 二叉树构建及遍历_牛客题霸…

ElasticSearch 7.x现网运行问题汇集1

问题描述&#xff1a; 现网ElasticSearch health状态变为red&#xff0c;有分片无法assign。如下摘录explain的结果部分&#xff1a; "note": "No shard was specified in the explain API request, so this response explains a randomly chosen unassigned s…

docker 部署 sentinel

docker 部署 sentinel 环境安装 拉取镜像 目前稳定的版本是1.8.0 docker pull bladex/sentinel-dashboard:1.8.0启动服务 docker run --name sentinel -p 8858:8858 -td bladex/sentinel-dashboard:1.8.0登录 登录的时候账号和密码都是sentinel

openGauss学习笔记-203 openGauss 数据库运维-常见故障定位案例-修改索引时只调用索引名提示索引不存在

文章目录 openGauss学习笔记-203 openGauss 数据库运维-常见故障定位案例-修改索引时只调用索引名提示索引不存在203.1 修改索引时只调用索引名提示索引不存在203.1.1 问题现象203.1.2 原因分析203.1.3 处理办法 openGauss学习笔记-203 openGauss 数据库运维-常见故障定位案例-…

modelscope下载模型

# 私有模型下载&#xff0c;前提是您有响应模型权限 方法1 git lfs install git clone http://oauth2:your_git_tokenwww.modelscope.cn/<namespace>/<model-name>.git 如何获取git token 用您的账号登录https://www.modelscope.cn &#xff0c;在个人中心->访…

【学习iOS高质量开发】——对象、消息、运行期

文章目录 一、理解“属性”这一概念1.如何定义实例变量2.什么是不兼容现象&#xff0c;如何解决3.理解property关键字4.理解dynamic关键字5.属性特质1.原子性&#xff1a;2.读/写权限&#xff1a;3.内存管理语义 7.要点 二、在对象内部尽量直接访问实例变量1.直接访问和属性访问…

[网络编程]UDP协议,基于UDP协议的回显服务器

目录 1.UDP协议介绍 2.UDP协议在Java中的类 2.1DatagramSocket类 2.2DatagramPacket 3.回显服务器 3.1Sever端 3.2Client端 1.UDP协议介绍 UDP协议是一种网络协议&#xff0c;它是无连接的&#xff0c;全双工&#xff0c;并且是面向数据报&#xff0c;不可靠的一种协议…

交友盲盒小程序版本 全开源版本-YISHEN源码网

这个小程序是云开发的不需要服务器域名 支持流量主wx支付。超级能吸引年轻人的一款小程序 版本新增&#xff1a; 1.Ui美化 2.星座匹配&#xff08;通过星座进行盲盒&#xff09; 3.后台管理&#xff08;可以实时看到用户数量&#xff09; 4.支付S I P 9功能&#xff08;后…

vue3-模版引用ref

1. 介绍 概念&#xff1a;通过 ref标识 获取真实的 dom对象或者组件实例对象 2. 基本使用 实现步骤&#xff1a; 调用ref函数生成一个ref对象 通过ref标识绑定ref对象到标签 代码如下&#xff1a; 父组件&#xff1a; <script setup> import { onMounted, ref } …

React、vue、h5端项目避免缓存

前言&#xff1a; h5项目和pc端项目上线时&#xff0c;有时只有细微的改变&#xff0c;但是部署完后&#xff0c;再次访问却是没变化。必须清除缓存才行。 pc端项目手动清除一下还行&#xff0c;但是h5项目却不行。尤其 嵌套在app里&#xff0c;只能 清除 app的缓存&#xff0…