信息系统架构设计理论基础

649 阅读13分钟

信息系统架构的基本原理:
信息系统架构指的是在全面考虑企业的战略、业务、组织、管理和技术的基础上,着重研究企业信息系统的组成成分及成分之间的关系,建立起多维度分层次的、集成的开放式体系结构,并为企业提供具有一定柔性的信息系统,及灵活有效的实现方法。

具有一定柔性:在相对稳定部分的支持下,对变化较多的部分进行重新组织,以满足变化的要求,使得信息系统对环境的变化具有一定的适应能力。

 1. 信息系统架构的定义** **** **

信息系统架构 (Information System Architecture,ISA) 为软件系统提供了结构、行为和属性的高级抽象,由构成系统的元素描述、元素的外部可见属性、元素之间的关系、指导元素集成的模式以及这些模式的约束组成。信息系统架构不仅指定了软件系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策和演化的基本原理,是构建于软件系统之上的系统级复用。

在描述阶段,对象是直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致的描述组件之间的通信。

在实现阶段,这些抽象组件被细化为实际的组件,比如具体的类、对象。

  1. 架构是对系统的抽象,通过描述元素、元素的外部可见属性、元素之间的关系来反映这种抽象。

  2. 架构由多个结构组成,结构是从功能角度来描述元素之间的关系。

  3. 任何软件都存在架构,但不一定有对该架构的具体表述文档。

  4. 元素及其行为的集合构成架构的内容,总体结构(静态),关键行为的共同特征(动态)。

  5. 架构具有“基础”性,复用性:解决各类关键重复问题的通用方案,架构敏感:系统设计中影响深远的各项重要决策。

  6. 架构隐含“决策”,是根据关键的功能和非功能性需求(质量属性、项目相关约束)进行设计与决策的结果。

2. 信息系统架构风格** **

信息系统架构设计的核心问题是能否达到架构级别的软件重用。信息系统架构风格遵循通用的架构风格

3. 信息系统架构的分类** **

物理结构

按照信息系统硬件在空间上的拓扑结构,分为两大类:集中式、分布式。

集中式结构

物理资源在空间上集中配置,便于管理,资源利用率较高,资源过于集中会造成系统的脆弱性,单点故障。

分布式结构

分布式系统是指通过计算机网络把不同地点的计算机硬件、软件、数据等资源联系在一起,实现不同地点的资源共享。

逻辑结构

信息系统各种功能的综合体和概念性框架。

将信息系统按职能划分成多个子系统,逻辑规划的方式:

1. 横向综合:将同一管理层次的各种职能综合在一起。

2. 纵向综合:把某种职能的各个管理层次的业务组织在一起,上下级之间的联系。

3. 纵横综合:信息模型+处理模型 -> 信息集中共享,提取通用部分,建立系统公用数据库和统一的信息处理系统。

 4. 信息系统常用的4种架构模型** **

  1. 单机应用模式

  2. 客户机/服务器模式:两层C/S、三层C/S、B/S、MVC

  3. 面向服务架构模式 SOA

  4. 企业数据交换总线 ESB

(1) 单机应用模式 Standalone

指运行在一台物理机器上的独立应用程序。

(2) 客户机/服务器模式

基于TCP/IP协议的进程间通信。

胖客户端(两层C/S)1. 客户端(前台)完成与用户的交互和业务逻辑处理。2. 服务器(后台)负责数据管理。
瘦客户端(三层C/S)1. 表示层:客户端负责与应用逻辑间的对话功能,是应用的用户接口。
2. 功能层:应用服务器是应用的主体,负责具体的业务逻辑处理。3. 数据层:数据库管理系统。

前台界面与后台服务之间必须通过一种协议来通信,通常包括以下7种:1) 基于TCP/IP协议,直接在底层Socket API基础上自行开发。2) 建立自定义的消息机制(基于XML、基于字节流Stream定义)。3) 基于RPC编程。4) 基于CORBA/IIOP协议。
5) 基于Java RMI。6) 基于J2EE JMS。
7) 基于HTTP协议。

浏览器/服务器(B/S)

  1. web浏览器:通过web浏览器作为客户端进行访问,主要负责展示用户界面,接收用户的输入,并将请求发送到服务器进行处理。通常使用html、css、javascript等前端技术实现用户界面的呈现和交互。

  2. web服务器:接收来自浏览器的请求,并进行相应的业务逻辑处理(中间层)和数据库访问操作(访问层)。

  3. 数据库层:主要用于存储和管理数据。

通过三层B/S架构,实现了客户端与服务器的分离,提高了系统的可扩展性和可维护性。

客户端通过浏览器进行访问,无需安装额外的客户端软件,方便用户使用。

多层C/S结构

1. 表现层:是用户与系统进行交互的接口,负责展示用户界面(使用前端技术实现页面的布局和交互),接收用户的输入(如表单提交、点击按钮等),将请求发送到业务层进行处理,呈现系统的响应结果。

2. 业务层:是核心处理层,负责处理和验证用户的请求,并进行相应的业务逻辑处理。

3. 访问层:负责封装对数据库的访问细节,提供统一的接口供业务层使用,隔离对数据库的访问请求,执行数据库的读写操作,处理对象与数据库之间的转换。

4. 数据层:负责数据的存储和持久化。

  • 业务层也称为中间层,提高系统可伸缩性,增加并发性能。在大量并发访问发生的情况下,web服务器可处理的并发请求数在中间层得到进一步扩展,中间件作为请求代理,从而提高系统整体并发连接数。

  • 访问层的存在隔离了对数据库的访问请求,其它层通过调用访问层提供的接口来访问数据库,而不需要直接与数据库进行交互,增加数据安全性,同时使得不同层次与数据库实现解耦,增加了系统的灵活性和可扩展性。

MVC

  1. 视图view:用户看到并与之交互的界面,接收用户输入的数据。

  2. 控制器controller:从视图读取数据,向模型发送数据,调用模型响应用户请求,调用视图显示响应结果。

  3. 模型model:业务逻辑处理+业务数据。

(3) 面向服务SOA架构模式

SOA是一种基于服务的、粗粒度、松耦合、可重用的组件模型,它将应用程序划分为多个独立的功能单元(称为服务),通过定义标准化的协议使得服务之间以一种统一和通用的方式进行交互。

服务是一个提供完整业务功能的独立应用,服务之间通过消息进行通信。

SOA在实践中可分为异构系统集成、同构系统聚合、联邦体系结构。

Web Service

Web Service也称web服务,基于开放的标准和协议(UUID、WSDL、SOAP),提供了一种规范化的方式来描述、发布、发现和使用服务,以实现跨平台和跨语言的服务集成和交互。

web应用对外开放其内部服务的协议主要有SOAP与WSDL。

面向服务架构的本质

面向服务架构的本质是消息机制或远程过程调用RPC。

(4) 企业数据交换总线

不同的企业应用之间进行信息交换的公共通道。

数据交换总线:基于中间件构建,也可基于CORBA/IIOP协议开发,主要功能是按照预定义的配置或消息头定义,进行数据、请求、回复的接收与分发。

成熟的企业数据交换总线主要是为实时交易而设计的。

 5.企业信息系统的总体框架** **

信息系统架构ISA总体参考框架由4部分组成:

1. 战略系统

  1. 业务系统:业务重组

  2. 应用系统:应用集成

4. 信息基础设施

第一层:战略系统向业务系统提出重组的要求,向应用系统提出集成的要求。

第二层:业务系统 --- 对企业进行管理控制和业务控制。

第二层:应用系统 --- 为这种控制提供计算机实现的手段。

第三层:为上层提供数据、技术、管理上的支持。

(1) 战略系统

企业中与战略制定、高层决策有关的管理活动和计算机辅助系统,由2个部分组成:

高层决策支持系统:表示信息系统对企业高层管理者的决策支持能力。

战略规划体系:表示企业战略规划对信息系统建设的影响和要求。

(2) 业务系统

指企业中完成一定业务功能的各个部分组成的系统。

业务系统在ISA中的作用:对企业现有业务系统、业务过程、业务活动进行建模,并在企业战略的指导下,采用业务流程重组(BPR)的原理和方法进行业务过程优化重组。

(3) 应用系统

应用软件系统(内部功能 + 外部界面)

  • 事务处理系统TPS:面向操作控制层,记录和处理结构化数据,支持日常业务管理。
  • 管理信息系统MIS:面向管理控制层,报表生成、数据分析、业务监控。
  • 决策支持系统DSS:面向战略规划层,处理非结构化、半结构化问题,辅助管理者决策。
  • 专家系统ES:知识库+推理机+综合数据库,人工智能模拟专家在特定领域的问题推理。
  • 办公自动化系统OAS:事务处理+信息管理+辅助决策。

(4) 信息基础设施

由信息设备、通信网络、数据库、系统软件、支持性软件等组成的环境。

  • 技术基础设施:计算机、网络、系统软件、支持软件、数据交换协议。

  • 信息资源设施:数据、信息、数据交换的形式与标准、信息处理方法。

  • 管理基础设施:部门的组织结构、人员分工、规章制度、管理方法。

 6. 信息系统架构设计方法** **

(1) ADM架构开发方法

开放式「企业架构」框架标准TOGAF(The Open Group Architecture Framework)****

提供了一套企业架构的参考模型,结构化的方法、模型、工具,帮助企业定义其业务目标、业务流程、信息流、技术架构等方面的要素,并建立起这些要素之间的关联和整合,包括企业架构的多个视图和视角: 

  • 业务架构

  • 信息系统架构(应用 & 数据)

  • 技术架构

这些视图和视角帮助企业从不同的角度理解和描述其架构,并支持各种决策和规划活动。

TOGAF框架的6个组件1. 架构开发方法ADM2. ADM指南和技术3. 架构内容框架4. 企业连续体和工具
5. TOGAF参考模型:技术参考模型+基础设施参考模型6. 架构能力框架

TOGAF框架的核心思想

  1. 模块化架构

  2. 内容框架

  3. 扩展指南

  4. 架构风格

TOGAF框架的核心组成架构开发方法ADM(Architecture Development Method)为开发企业架构所需要执行各个步骤以及它们之间的关系进行详细的定义,是TOGAF规范中最为核心的内容。架构开发方法ADM由一组按照架构领域的架构开发顺序而排列成一个环的多个阶段所构成。通用基础架构 -> 行业架构 -> 组织特定架构

ADM三个级别的迭代

  • 基于ADM整体的迭代

  • 多个开发阶段间的迭代

  • 在一个阶段内部的迭代

ADM生命周期十阶段1. 准备  2. 需求管理 3. 架构愿望 4. 业务架构  5.信息系统架构(应用+数据) 6. 技术架构7. 机会和解决方案 8.迁移计划 9. 实施治理 10.架构变更管理

(2) 信息化总体架构方法

信息化建设生命周期:系统规划、系统分析、系统设计、系统实施、系统运行与维护。

信息化架构的2种模式

1.「数据导向」架构:重点在数据中心,关注数据模型和数据质量。研究数据对象、数据对象之间的关系,数据的产生、变更、废弃等数据生命周期,以及数据管理。在BI商业智能建设中使用较多。概念模型 -> 逻辑模型 -> 物理模型

2. 「流程导向」架构:关注端到端流程整合,以及架构对流程变化的适应度。SOA本身就是关键方法和技术。研究切入点是价值链分析、业务流程分析和分解、业务组件划分,通过这些形成企业的集成架构、系统架构、功能架构。通过业务组件划分后组件关系分析来识别服务,通过流程编排来满足流程整合。

主数据管理MDM --- 数据导向面向服务SOA架构 --- 流程导向

 7. 以服务为中心的企业集成** **

以服务为中心的企业集成中**「流程服务」是指通过将流程间共享的业务活动抽象为可重用的服务**,并通过流程服务提供的流程编排能力将这些服务组成各种大同小异的流程类型,来降低流程集成成本,加快流程集成开发效率。通过流程编排来满足流程整合。

以服务为中心的企业集成,通过服务建模过程发现可重用的服务,并通过流程模型将这些服务组装在一起。

业务流程的编排  —> 服务的组装建立三种模型:组件模型、服务模型、流程模型。