《系统架构设计师教程(第2版)》第12章-信息系统架构设计理论与实践-02-信息系统架构
文章目录
- 1. 概述
- 1.1 信息系统架构(ISA)
- 1.2 架构风格
- 2. 信息系统架构分类
- 2.1 信息系统物理结构
- 2.1.1 集中式结构
- 2.1.2 分布式结构
- 2.2 信息系统的逻辑结构
- 1)横向综合
- 2)纵向综合
- 3)纵横综合
- 3. 信息系统架构的一般原理
- 4. 常用4种架构模型
- 4.1 单机应用模式 (Standalone)
- 4.2 客户机/服务器 (Client/Server) 模式
- 4.2.1 两层 C/S
- 4.2.2 三层 C/S 结构
- 4.2.3 三层 B/S 结构
- 4.2.4 多层C/S 结构
- 1) 四层C/S结构
- 2)中间件层的作用
- 4.2.5 MVC
- 4.3 面向服务架构 (SOA) 模式
- 4.3.1 概述
- 4.3.2 Web Service
- 4.4 企业数据交换总线
- 5. 企业信息系统的总体框架
- 5.1 战略系统
- 5.2 业务系统
- 1)概念
- 2)组成
- 3)企业业务过程重组
- 4)业务系统的作用
- 5.3 应用系统
- 5.4 企业信息基础设施
1. 概述
1.1 信息系统架构(ISA)
- Information System Architecture
- ISA模型应该是多维度,分层次、高度集成化的模型
1.2 架构风格
这一部分回看《第7章-系统架构设计基础知识-03-软件架构风格》
2. 信息系统架构分类
2.1 信息系统物理结构
按照信息系统硬件在空间上的拓扑结构分类:
2.1.1 集中式结构
- 概念:
- 指物理资源在空间上集中配置
- 举例:
- 早期的单机系统
- 通过终端共享资源组成的多用户系统 (即使用户分布在不同地点)
- 优点:资源集中,便于管理,资源利用率较高
- 缺点:
- 大规模系统,集中式结构的维护与管理困难
- 不利于用户发挥在信息系统建设过程中的积极性与主动性
- 系统脆弱,一旦主机出现故障,就会使整个系统瘫痪
2.1.2 分布式结构
- 分布式系统
- 指通过计算机网络把不同地点的计算机硬件、软件、数据等资源联系在一起,实现不同地点的资源共享
- 既可以在网络系统的统一管理下工作,也可以利用本地资源独立运作
- 已经成为信息系统的主流模式
- 分类:
- 一般分布式
- 服务器只提供软件与数据的文件服务
- 各计算机系统根据规定的权限存取服务器上的数据文件与程序文件
- 客户机/服务器模式
- 客户机:用户通过客户机向服务器提出服务请求
- 服务器:根据请求向用户提供经过加工的信息
- 一般分布式
- 优点:
- 可以根据应用需求来配置资源,提高信息系统对用户需求与外部环境变化的应变能力
- 系统扩展方便
- 安全性好,某个结点所出现的故障不会导致整个系统停止运作
- 缺点:系统管理的标准不易统一,协调困难,不利于对整个资源的规划与管理。
2.2 信息系统的逻辑结构
- 在信息系统开发中,必须强调各子系统之间的协调一致性和整体性
- 对子系统统一规划,并对各子系统进行综合:
1)横向综合
- 概念:将同一管理层次的各种职能综合在一起
如:将运行控制层的人事和工资子系统综合在一起,使基层业务处理一体化。
2)纵向综合
- 概念:把某一职能的各层次业务组织在一起,从而沟通上下级之间的联系
如工厂的会计系统和公司的会计系统综合在一起
3)纵横综合
- 概念:
- 从信息模型和处理模型两个方面来进行综合,做到信息集中共享,程序尽量模块化,
- 提取通用部分,建立系统公用数据库和统一的信息处理系统。
3. 信息系统架构的一般原理
- 其架构包括两部分:组成成分、成分之间的关系
- 分析出相对稳定的组成成分和成分之间的关系
- 在相对稳定部分的支持下,对相对变化较多的部分进行重新组织,以满足变化的要求
- 以上,使得信息系统对环境的变化具有一定的适应能力(即,有一定柔性)
4. 常用4种架构模型
4.1 单机应用模式 (Standalone)
- 概念:指运行在一台物理机器上的独立应用程序
4.2 客户机/服务器 (Client/Server) 模式
4.2.1 两层 C/S
- 概念:
- 即,胖客户端模式
- 前台客户端+后台数据库管理系统
将前台界面与相关的业务逻辑处理服务集成在一个可运行单元中
4.2.2 三层 C/S 结构
-
结构如图所示:
-
前台界面送往后台的请求
- 数据库存取操作
- 其它需要处理的业务逻辑
-
前台界面与后台服务之间的协议
- 基于 TCP/IP协议
- 只适合需求与功能简单的小型系统
- 自定义的消息机制
- 大型分布式系统
- 基于 RPC编程
- 基于 CORBA/IIOP协议
- 基于 Java RMI
- 基于 J2EE JMS
- 基于HTTP协议
HTTP 不是面向对象的结构,面向对象的应用数据会被首先平面化后进行传输。
- 基于 TCP/IP协议
4.2.3 三层 B/S 结构
- 概念:
- Brower/Server模式,即,浏览器/服务器模式
- 优点:通用的、低成本的浏览器节省了客户端软件的开发和维护费用
4.2.4 多层C/S 结构
1) 四层C/S结构
- 前台界面(如浏览器)
- Web 服务器
- 中间件(或应用服务器)
- 数据库服务器
2)中间件层的作用
- 提高系统可伸缩性,增加并发性能
Wcb服务器可处理的并发请求数 在中间件层得到进一步的扩展,从而提高系统整体并发连接数。
- 完成请求转发或应用逻辑处理
中间件的这种作用在J2EE 的多层结构中比较常用,如 BEA WebLogic、IBM WebSphere等提供的EJB容器,就是专门用以处理复杂企业逻辑的中间件技术组成部分。
- 增加数据安全性
Web服务器暴露给客户,中间件隔离 Web服务器对企业数据库的连接
4.2.5 MVC
《第13章-层次式架构设计理论与实践-02-表现层框架设计》中会系统介绍,这里可以先随便了解一下。
- 概念
- Model-View-Controller
- 是上述多层 C/S 结构的一种标准化模式
- 结构
视图
与模型
分开控制器
连接不同的模型和视图,以完成用户的需求- 控制器与视图通常处于Web服务器层
- 模型层决定了MVC是三层结构还是四层结构
- 三层结构:只包含数据层
- 四层结构:分为逻辑层、数据层
- 如,J2EE架构
- View :指浏览器层,用于图形化展示请求结果
- Controller控制器:指Web服务器层
- Model 模型层:指应用逻辑实现及数据持久化的部分
4.3 面向服务架构 (SOA) 模式
C/S软件结构都只是一个单结点应用,多服务结构也是一种信息系统常用的架构模式。
4.3.1 概述
- 概念:
- Service Oriented Architecture
- 本质是消息机制或远程过程调用 (RPC)
- 服务:提供一组整体功能的独立应用系统
- 独立应用系统:应用中去掉任何一层都将不能正常工作,对外可以是一个提供完整功能的独立应用
- 应用件的消息通信
- 通过消息通信
- 互相调用对方的内部服务、模块
- 数据交换
- 实践中通常使用中间件、交易中间件
- 分类:
- 异构系统集成
- 同构系统聚合
- 联邦体系结构
4.3.2 Web Service
- 概念
- 是SOA的一个最典型、最流行的应用模式
- 两个互联网应用之间可以相互向对方开放一些内部服务
- 其开发协议主要有 SOAP与 WSDL
- 区别与普通SOA
- Web应用为主
- 开放一些内部服务,而不像传统SOA有更加丰富的应用类型
4.4 企业数据交换总线
-
概念:不同的企业应用之间进行信息交互
-
适用范围:大型企业
- 如:银行、电信等信息化程度较高的企业
-
本质:一个称之为连接器的软件系统 (Connector)
- 构建:
- 基于中间件: (如,消息中间件、交易中间件)
- 基于CORBA/IIOP协议
- 主要功能:是按照预定义的配置或消息头定义,进行数据、请求、回复 的接收与分发
- 构建:
以下两段看一下即可:
从理论上来讲,企业数据交换总线可以同时具有实时交易与大数据量传输的功能,但在实践中,成熟的企业数据交换总线主要是为实时交易而设计的,而对可靠的大数据量级传输需求往往要单独设计。
如果采用 CORBA 为通信协议,交换总线就是对象请求代理 (ORB), 也被称之为“代理 (Agent) 体系”。另外,在交换总线上挂接的软件系统,有些也可以实现代理的功能,各代理之间可以以并行或串行的方式进行工作,通过挂接在同一交换总线上的控制器来协调各代理之间的活动。
5. 企业信息系统的总体框架
-
战略系统
- 位置:第一层(战略管理层)
- 功能:
- 向业务系统提出重组的要求
- 向应用系统提出集成的要求
-
业务系统
- 位置:第二层(战术管理层)
- 作用:通过业务处理流程的优化,对企业进行管理控制、业务控制
-
应用系统
- 位置:第二层(战术管理层)
- 应用系统:为业务系统提供计算机实现的手段,以提高企业的运行效率
-
信息基础设施:
- 位置:第三层(运行管理层)
- 作用:
- 是企业实现信息化的基础部分
- 为应用系统和战略系统提供数据支持
- 技术上和管理上,为企业的业务系统实现重组提供了一个有效的、灵活响应的支持平台
信息系统体系结构总体参考框架的四个部分组成
5.1 战略系统
- 概念:
- 指企业中与战略制定、高层决策有关的管理活动和计算机辅助系统。
- 组成:
- 以计算机为基础的高层决策支持系统
- 企业的战略规划体系
- 设立战略系统有两重含义
- 表示信息系统对企业高层管理者的决策支持能力
- 表示企业战略规划对信息系统建设的影响和要求
- 企业战略规划
- 长期规划:
- 较稳定
- 如,调整产品结构
- 短期规划
- 根据长期规划的目标来制定
- 易改变:根据环境、企业运作情况改变
- 如:决定新产品的类型
- 长期规划:
5.2 业务系统
1)概念
- 概念:指企业中完成一定业务功能的各部分所组成的系统
- 其组成部分可以是:物质、能量、信息、人
2)组成
业务系统 《== 业务过程 《= = 业务活动
-
业务系统:
- 如:生产系统、销售系统、采购系统、人事系统、会计系统等
- 由一些业务过程完成其功能
如:会计系统,包括应付账款、应收账款、开发票、审计等业务过程
-
业务过程:
- 可以分解成一系列逻辑上相互依赖的业务活动
-
业务活动
- 完成有先后次序
- 每个业务活动都有执行的角色,并处理相关数据
3)企业业务过程重组
- 概念
- Business Process Reengineering
- 以业务流程为中心
- 打破企业的职能部门分工
- 对现有的业务过程进行改进或重新组织
- 目的:
- 改善生产效率、成本、质量、交货期等,以提高企业的市场竞争力
4)业务系统的作用
- 对企业现有业务系统、业务过程、业务活动进行建模
- 在企业战略的指导下,进行业务过程优化重组
- 对重组后的业务领域、业务过程、业务活动进行建模,以确定出相对稳定的数据
- 以此相对稳定的数据为基础,进行企业应用系统的开发和信息基础设施的建设
5.3 应用系统
- 概念:信息系统中的应用软件部分
- 按和用户关系分类:
- 系统软件
- 支持性软件
- 应用软件
- 按功能分:
- 事务处理系统(TPS)
- 管理信息系统(MIS)
- 决策支持系统(DSS)
- 专家系统(ES)
- 办公自动化系统(OAS)
- 计算机辅助设计(CAD)、计算机辅助工艺设计(CAPP)、计算机辅助制造(CAM)系统
- 制造资源计划系统(MRPII)
- 架构的角度的基本组成:
- 内部功能实现部分
- 处理数据部分变化较小
- 算法和控制结构变化较多
- 外部界面部分:变化较多
- 内部功能实现部分
5.4 企业信息基础设施
- 概念:
- Enterprises Information Infrastructure
- 指根据企业当前业务和可预见的发展趋势,及对信息采集、处理、存储和流通的要求
- 构筑由信息设备、通信网络、数据库、系统软件和支持性软件等组成的环境
- 企业信息基础设施组成:
- 技术基础设施:
- 包括:计算机、网络、系统软件、支持性软件、数据交换协议等
- 变化因素较多、完成同一功能有多种实现方式
- 信息资源设施:
- 包括:数据与信息本身、数据交换的形式与标准、信息处理方法等
- 变化较小
- 管理基础设施:
- 包括:企业中信息系统部门的组织结构、信息资源设施管理人员的分工、企业信息基础设施的管理方法与规章制度等
- 变化较多
注意:以上三部分都有相对稳定的部分和相对易变的部分
- 技术基础设施:
相关文章:

《系统架构设计师教程(第2版)》第12章-信息系统架构设计理论与实践-02-信息系统架构
文章目录 1. 概述1.1 信息系统架构(ISA)1.2 架构风格 2. 信息系统架构分类2.1 信息系统物理结构2.1.1 集中式结构2.1.2 分布式结构 2.2 信息系统的逻辑结构1)横向综合2)纵向综合3)纵横综合 3. 信息系统架构的一般原理4…...

用html做python教程01
用html做python教程01 前言开肝构思实操额外修饰更换字体自适应 最后 前言 今天打开csdn的时候,看见csdn给我推荐了一个python技能书。 说实话,做得真不错。再看看我自己,有亿点差距😟。 开肝 先创建一个文件,后缀…...
PHP接口与性状的优雅应用
本文由 ChatMoney团队出品 在PHP编程中,接口是一种定义对象之间交互契约的强大工具。其核心目的不是让一个对象紧耦合地依赖另一个对象的特定身份,而是基于另一对象的能力进行交互。通过接口,我们的代码可以实现与依赖的解耦,从而…...
R语言模型评估网格搜索
### 网格搜索 ### install.packages("gbm") set.seed(1234) library(caret) library(gbm) fitControl <- trainControl(method = repeatedcv,number = 10,repeats = 5) # 设置网格搜索的参数池 gbmGrid <- expand.grid(interaction.depth = c(3,5,9),n.trees =…...

Haproxy服务
目录 一.haproxy介绍 1.主要特点和功能 2.haproxy 调度算法 3.haproxy 与nginx 和lvs的区别 二.安装 haproxy 服务 1. yum安装 2.第三方rpm 安装 3.编译安装haproxy 三.配置文件详解 1.官方地址配置文件官方帮助文档 2.HAProxy 的配置文件haproxy.cfg由两大部分组成&…...
Unity VR开发入门:探索虚拟现实世界的无限可能
目录 引言 Unity VR开发基础 1. 安装Unity与VR SDK 2. 创建VR项目 3. 理解VR场景结构 Unity VR开发实战 1. 场景搭建 2. 交互设计 创建C#脚本 编写VRInteractor脚本 应用脚本到场景 注意 修改VRInteractor脚本 3. 用户体验优化 4. 测试与调试 引言 随着科技的飞速…...

系统架构设计师教程(清华第二版) 第3章 信息系统基础知识-3.2 业务处理系统-解读
教材中,一会儿“业务处理系统”,一会儿“事务处理系统”,语法毛病一堆。真是清华的水平!!! 系统架构设计师教程 第3章 信息系统基础知识-3.2 业务处理系统 3.2.1 业务处理系统的概念3.2.2 业务处理系统的功能3.2.2.1 数据输入3.2.2.2 数据处理3.2.2.2.1 批处理 (Batch …...

32_ConvNeXt网络详解
1.1 简介 ConvNeXt是一种计算机视觉模型,由Meta AI(前Facebook AI)的研究人员在2022年提出,它旨在探索卷积神经网络(CNN)在图像识别任务上的潜力,尤其是在与当时流行的Vision Transformer&…...

Langchain[3]:Langchain架构演进与功能扩展:流式事件处理、事件过滤机制、回调传播策略及装饰器应用
Langchain[3]:Langchain架构演进与功能扩展:流式事件处理、事件过滤机制、回调传播策略及装饰器应用 1. Langchain的演变 v0.1: 初始版本,包含基本功能。 从0.1~0.2完成的特性: 通过事件流 API 提供更好的流式支持。标准化工具调用支持Tool…...
java导出PDF详细教程+各种踩坑
直接上代码了 所需依赖: <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.3</version> </dependency><dependency><groupId>com.itextpdf</groupId><art…...

【博士每天一篇文献-算法】连续学习算法之HNet:Continual learning with hypernetworks
阅读时间:2023-12-26 1 介绍 年份:2019 作者:Johannes von Oswald,Google Research;Christian Henning,EthonAI AG;Benjamin F. Grewe,苏黎世联邦理工学院神经信息学研究所 期刊&a…...
使用 tcpdump 进行网络流量捕获与分析
目录 安装 tcpdump基本用法捕获网络流量指定网络接口捕获特定主机的流量捕获特定端口的流量捕获特定协议的流量 常用选项保存捕获的数据包从文件读取数据包显示数据包内容指定捕获数据包的长度限制捕获的数据包数量显示详细信息过滤表达式 示例捕获本地回环接口上的HTTP流量捕获…...

k8s集群 安装配置 Prometheus+grafana
k8s集群 安装配置 Prometheusgrafana k8s环境如下:机器规划: node-exporter组件安装和配置安装node-exporter通过node-exporter采集数据显示192.168.40.180主机cpu的使用情况显示192.168.40.180主机负载使用情况 Prometheus server安装和配置创建sa账号&…...

【Java--数据结构】二叉树oj题(上)
前言 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 判断是否是相同的树 oj链接 要判断树是否一样,要满足3个条件 根的 结构 和 值 一样左子树的结构和值一样右子树的结构和值一样 所以就可以总结以下思路…...
微服务之间Feign调用
需使用的服务 FeignClient(name "rdss-back-service", fallback SysUserServiceFallback.class, configuration FeignConfiguration.class) public interface SysUserService {/*** 订单下单用户模糊查询*/GetMapping(value "/user/getOrderUserName")…...

【Qt】按钮的属性相关API
目录 一. QPushButton 二. QRadioButton 按钮组 三. QCheckBox Qt中按钮的继承体系如下图 QAbstractButton是一个抽象类,集成了按钮的核心属性和API 按钮说明QPushButton(普通按钮)最常见的按钮,用于触发操作或者事件。可以设…...
blender和3dmax和maya和c4d比较
Blender、3ds Max、Maya和Cinema 4D (C4D)都是强大的3D建模和动画软件,但它们各有特点和适用领域。以下是它们的比较: Blender: 开源免费全面的功能,包括建模、动画、渲染、视频编辑等学习曲线较陡峭,但社区支持强大适合独立艺术家…...

visio保存一部分图/emf图片打开很模糊/emf插入到word或ppt中很模糊
本文主要解决三个问题 visio保存一部分图 需求描述:在一个visio文件中画了很多个图,但我只想把其中一部分保存成某种图片格式,比如jpg emf png之类的,以便做后续的处理。 方法:超级容易。 选中希望保存的这部分图&…...

沙尘传输模拟教程(基于wrf-chem)
沙尘传输模拟教程(基于wrf-chem) 文章目录 沙尘传输模拟教程(基于wrf-chem)简介实验目的wrf-chem简介 软件准备wps、wrf-chem安装conda安装ncl安装ncap安装 数据准备气象数据准备下垫面数据准备 WPS数据预处理namelist.wps的设置geogrid.exe下垫面处理ungrib.exe气象数据预处理…...
使用 Python 进行测试(8)纯净测试
原文:Testing with Python (part 8): purity test 总结 如果你要使用综合测试(integrated tests): def test_add_new_item_to_cart(product, cart):new_product Product.objects.create(nameNew Product, price15.00)new_cart…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...