admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:电机基础知识)

软件体系结构风格

软件体系结构设计的一个核心问题是能否使用重复的体系结构

模式,即能否达到体系结构级的软件复用。也就是说,能否在不同的

软件系统中,使用同一体系结构。基于这个目的,学者们开始研究和

实践软件体系结构的风格和类型问题。

Garlan和Shaw根据此框架给出了通用体系结构风格的分类。

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

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

结构。

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

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

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

下面,我们将介绍一些典型的软件体系结构风格。

1.分层系统

层次系统组织成一个层次结构,每一层为上层服务,并作为下层

客户。例如,四层的分层式体系结构可以分为应用软件、业务软件、

中间件和系统软件。

这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂

问题分解成一个增量步骤序列的实现。由于每一层最多只影响两层,

同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同

样为软件复用提供了强大的支持。

层次系统最广泛的应用是分层通信协议。在这一应用领域中,每

一层提供一个抽象的功能,作为上层通信的基础。较低的层次定义低

层的交互,最低层通常只定义硬件物理连接。

2.客户/服务器

客户/服务器(Client/Server, C/S)软件体系结构是基于资源不

对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,

C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分

布到多个处理机上。C/S体系结构有3个主要组成部分,即数据库服

务器、客户应用程序和网络。

传统的C/S体系结构将应用一分为二,服务器(后台)负责数据

管理,客户机(前台)完成与用户的交互任务。服务器为多个客户应

用程序管理数据,而客户程序发送、请求和分析从服务器接收的数据,

这是一种“胖客户机”、“瘦服务器”的体系结构。

与二层C/S结构相比,在三层C/S体系结构中,增加了一个应用

服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存

在于客户机上。这种结构被称为“瘦客户机”。三层C/S体系结构是将

应用功能分成表示层、功能层和数据层3个部分,如图2-9所示。

图2-9 三层C/S结构的一般处理流程

表示层是应用的用户接口部分,它担负着用户与应用间的对话功

能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为

使用户能直观地进行操作,一般要使用图形用户界面、操作简单、易

学易用。

功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序

中。例如,在制作订购合同时要计算合同金额,按照定好的格式配置

数据、打印订购合同,而处理所需的数据则要从表示层或数据层取得。

表示层和功能层之间的数据交往要尽可能简洁。例如,用户检索数据

时,要设法将有关检索要求的信息一次性地传送给功能层,而由功能

层处理过的检索结果数据也一次性地传送给表示层。

数据层就是数据库管理系统,负责管理对数据库数据的读写。数

据库管理系统必须能迅速执行大量数据的更新和检索。现在的主流是

关系型数据库管理系统,因此,一般从功能层传送到数据层的要求大

都使用SQL语言。

浏览器/服务器(Browser/Server, B/S)风格是上述三层应用结

构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服

务器。B/S体系结构主要是利用不断成熟的WWW浏览器技术,结合

浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用

软件才能实现的强大功能,并节约了开发成本。从某种程度上来说,

B/S结构是一种全新的软件体系结构。

在B/S结构中,除了数据库服务器外,应用程序以网页形式存放

于Web服务器上,用户运行某个应用程序时只须在客户端上的浏览

器中输入相应的网址,调用Web服务器上的应用程序并对数据库进

行操作完成相应的数据处理工作,最后将结果通过浏览器显示给用

户。可以说,在B/S模式的计算机应用系统中,应用(程序)在一定

程度上具有集中特征。

基于B/S体系结构的软件,系统安装、修改和维护全在服务器端

解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,

真正达到了“零客户端”的功能,很容易在运行时自动升级。B/S体系

结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服

务的最现实的开放性基础。


本文标签: 数据 风格 应用