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

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系统的架构元素和它们之间的工作关系。其中包括信息服务、企业服务总线中的事件服务、流程服务和传输服务等。

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-22 16:18:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-22 16:18:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-22 16:18:01       82 阅读
  4. Python语言-面向对象

    2024-01-22 16:18:01       91 阅读

热门阅读

  1. UI -- Vue3

    2024-01-22 16:18:01       58 阅读
  2. Linux内核--网络协议栈(九)epoll的源码实现

    2024-01-22 16:18:01       49 阅读
  3. Webpack5入门到原理22:提升打包构建速度

    2024-01-22 16:18:01       50 阅读
  4. 144.二叉树的前序遍历

    2024-01-22 16:18:01       42 阅读
  5. 如何在 Linux 服务器上设置定时任务?

    2024-01-22 16:18:01       58 阅读