一.架构风格

信息系统架构设计的一个核心问题是能否使用重复的信息系统架构模式,即能否达到架构级别的软件重用。信息系统架构风格是描述某个特定应用领域中系统组织方式的惯用模式,架构风格定义了一个系统家族,即一个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接类型,而这组约束指出系统是如何将这些构件和连接组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。

信息系统架构风格通常也遵循通用的架构风格。这些通用的架构风格包括:

(1)数据流风格:批处理序列;管道/过滤器。

(2)调用/返回风格:主程序/子程序;面向对象风格;层次结构。

(3)独立构件风格:进程通信;事件系统。

(4)虚拟机风格:解释器;基于规则的系统。

(5)仓库风格:数据库系统;超文本系统;黑板系统。

二. 信息系统架构分类

信息系统架构可分为物理结构与逻辑结构两种,物理结构是指不考虑系统各部分的实际工作与功能结构,只抽象地考察期硬件系统的空间分布情况,逻辑结构是指信息系统各种功能子系统的综合体。

1.信息系统物理结构

物理结构一般分为集中式与分布式两大类。

(1)集中式结构

集中式结构是指物理资源在空间上集中配置。早期的单机系统是最典型的集中式结构,它将软件、数据与主要外部设备集中在一套计算机系统之中。由分布在不同地点的多个用户通过终端共享资源组成的多用户系统,也属于集中式。

(2)分布式结构

随着数据库技术与网络技术的发展,分布式结构的信息系统开始产生,分布式系统是值通过计算机网络把不同地点的计算机硬件、软件、数据等资源联系在一起,实现不同地址的资源共享。各地的计算机系统既可以在网络系统统一管理下工作,也可以脱离网络环境利用本地资源独立工作。

分布式结构的主要特征是:可以根据应用需求来配置资源,提高信息系统对用户需求与外部环境变化的应变能力,系统扩展方便,安全性好,某个结点所出现的故障不会导致整个系统停止运转。但是由于资源分散,且又分属于各个子系统,系统管理的标准不统一,协调困难,不利于对整个资源的规划与管理。

分布式结构又可分为一般分布式与客户机/服务器模式,客户机/服务器结构中,网络上的计算机分为客户机与服务器两大类。服务器包括文件服务器、数据库服务器、打印服务器等;网络结点上的其他计算机系统则称为客户机。用户通过客户机向服务器提出服务请求,服务器根据请求向用户提供经过加工的信息。

2.信息系统的逻辑结构

信息系统的逻辑结构是指其功能综合体和概念性框架。由于信息系统种类繁多,规模不一,功能上存在较大差异,其逻辑结构也不相同。

信息系统结构的综合: 在信息系统开发中,强调各子系统之间的协议一致性和整体性,必须在构造信息系统是注意对各子系统进行统一规划,并对各子系统进行综合。

(1)横向综合

将同一层次的各种职能综合在一起,例如将允许控制层的人事和工作子系统综合在一起,使基层业务处理一体化。

(2)纵向综合

把某种职能的各个管理层次的业务组织在一起,这种综合沟通了上下级之间的关系,如工厂的会计系统和公司的会计系统综合在一起,它们都有共同之处,形成一体化的处理过程。

(3)纵横综合

主要是从信息模型和处理模型两个方面进行综合,做到信息集中共享,程序尽量模块化,注意提取通用部分,建立系统公用数据库和统一的信息处理系统。

信息系统架构的一般原理

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

这里任务架构包含两个基本部分:组成成分和组成成分之间的关系。在外界环境方式变化时架构中组成成分和关系有些可能是不变的,有些则可能要产生很大的变化。在信息系统中,分析出相对稳定的组成成分与关系,并在相对稳定部分的支持下,对相对变化较多的部分进行重新组织,以满足变化的需求,就能够使得信息系统对环境的变化具有一定的适应能力,即具有一定的柔性,这就是信息系统架构的基本原理。

三.信息系统常用的几种架构模型

信息系统常用的四种模式主要包括:单机应用系统/两层/多层C/S,MVC结构,面向服务的SOA多服务集合和数据交互总线等。

1.单机应用模式

单机应用系统是最简单的软件结构,是指运行在一台物理机器上的独立应用程序。

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

C/S模式是信息系统中最常见的一种。C/S概念可以理解为基于TCP/IP协议的进程间通信IPC编程的发送与发射程序结构,目前C/S结构流行下面四种常见的客户端/服务器的架构。

(1)两层C/S

两层C/S, 其实质就是 IPC 客户端/服务器结构的应用系统体现。两层C/S结构通俗地说就是人们常说的“胖客户端”模式。

(2)三层C/S与B/S结构

三层C/S结构其前台界面送往后台的请求中,除了数据库存取操作以外,还有很多其他业务逻辑需要处理。三层 C/S 的前台界面与后台服务之间必须通过一种协议(自开发或采用标准协议)来通信。目前最典型的基于三层C/S 结构的应用模式便是我们最熟悉、较流行的B/S(Brower/Server浏览器/服务器)模式。

(3)MVC

MVC(Model-View-Controller) 的概念在目前信息系统设计中非常流行,严格来讲, MVC 实际上是上述多层 C/S 结构的一种常用的标准化模式,或者可以说是从另一个角度去抽象这种多层C/S结构。 在J2EE架构中, View 表示层指浏览器层,用于图形化展示请求结果; Controller控制器指Web服务器层, Model 模型层指应用逻辑实现及数据持久化的部分。MVC主要是要求表示层(视图)与数据层(模型)的代码分开,而控制器则可以用于连接不同的模型和视图来完成用户的需求。

3.面向服务(SOA)模式

(1)面向服务架构

如果两个多层C/S结构的应用系统之间需要相互进行通信,那么就产生了面向服务架构,简SOA。在SOA 的概念中,将由多层服务组成的一个结点应用看作是一个单一的服务。在 SOA 的 定义里,对“服务”的概念进行的广义化,即它不是指计算机层面的一个Daemon, 而是指向提供一组整体功能的独立应用系统。

(2)Web Service

面向服务架构体现在Web服务之间,就成了Web Service,即两个互联网应用之间可以相互为对方开放一些内部服务,目前web应用对外开放漆内部服务的协议有SOAP和WSDL。

(3)面向服务架构的本质

面向服务架构的本质是消息机制或远程过程调用 (RPC)。 虽然其具体的实现底层并不一定是采用 RPC编程技术,但两个应用之间的相互配合确实是通过某种预定义的协议来调用对方的 “过程”实现的,这与前节所讲多层架构的单点应用系统中,两个处于不同层的运行实例相互之间通信的协议类型基本是相同的。