8.1.4 信息系统的架构模式
信息系统的系统架构模式主要有主机-终端模式、客户机/服务器(Client/Server,C/S)模式和浏览器/服务器(Browser/Server,B/S)模式。
(1)主机-终端模式
主机-终端模式或集中模式也是大型主机的结构,它是信息系统向网络发展,实现信息共享的一种早期解决方案。这种模式是一种集中计算环境,使用大型主机作为服务器集中化管理,通过终端来访问数据。在集中模式下,信息系统所提供的服务完全依赖于主机服务器,客户端每个请求都需要在服务器处理,然后将结果返回到客户端,所以对服务器的性能要求极高。而且,其性能将受服务器和终端客户间带宽和网络繁忙程度的影响,特别是在处理大文件时,响应较慢。应用程序不能利用客户机的处理能力,而只能提交请求并显示响应。此模式的优点是系统稳定、易于维护,缺点是对主机资源要求过高,对大规模应用支持不够,难以实现跨硬件和跨平台的信息共享,同时终端机应用任务简单,造成了资源浪费。在网络分布式环境下,这种模式已经基本上不予采用。
(2)客户机/服务器(Client/Server,C/S)模式
随着网络技术的发展,客户机/服务器(C/S)模式在20世纪80年代后期开始引入业界。该模式在分布式计算环境中,结合大型主机机构及网络工作组两者优点,以高性能的数据库服务器为中心,集中管理核心资源,向客户机提供应用所需的数据支持;在客户端运行应用程序,功能主要是管理用户接口,处理应用逻辑,产生向服务器发送的数据库请求,并从服务器接收结果。C/S模式既充分地共享服务器的资源,同时也使客户机的本地资源得到了充分利用,整个系统的负载在客户和服务器间得到合理分配,使得大规模、网络化的应用成为可能。
传统的C/S模式是两层结构的,如图8-5所示。第一层是在客户机系统上,提供用户界面、运行逻辑处理应用;第二层是通过网络结合了数据库服务器,数据服务器接受客户端SQL语句并对数据库进行查询,然后返回查询结果。在C/S两层结构中,客户端保持着应用程序,直接访问数据库;服务器端存放着所有数据,每个客户端与数据库保持一个任务连接。客户端通过应用程序向数据服务器发出请求,数据服务器据此请求对数据进行操作。用一个形象的比喻来描述,服务器端像一个仓库,主要功能是存储原材料和成品,但并不进行加工,而客户端像最后的加工车间,完成从原料到成品的整个制造过程,然后将成品存储到仓库。由于业务的处理逻辑主要在客户机端执行,因此这种结构也被称为胖客户(Fat client)结构。
但随着信息系统的进一步发展,基于C/S的信息系统暴露出越来越大的局限性,必须在客户端安装大量的应用程序(客户端软件),开发成本较高,不适应大规模的信息系统,难以突破企业之间的组织边界,企业与企业之间的信息交流受到很大制约,并且系统配置、维护管理和升级麻烦且费用大。所有这些导致了C/S模式的可管理性差,工作效率低。
(3)浏览器/服务器(Browser/Server,B/S)模式
随着Internet的飞速发展,Web技术日趋成熟,自20世纪90年代开始浏览器/服务器(B/S)模式(亦称Web应用模式)逐渐发展和普及。B/S模式是在C/S模式的基础上发展起来的,其利用浏览器作为客户端的应用程序,采用浏览器-应用服务器/Web服务器-数据库服务器三层结构,数据信息以网络页面的形式传输。由于其客户端利用了目前作为标准配置的浏览器,充分利用了Internet的网络资源,与传统的C/S模式相比,其具有更简单、更低成本、能够提供更多信息等诸多优势。B/S模式的结构如图8-6所示。
图8-5 C/S模式体系结构
图8-6 B/S模式体系结构
这种系统在服务器端集中了所有的应用逻辑,在客户机上通过直观、易于使用的浏览器从Web服务器上获取信息。Web服务器通过HTTP建立了内部页面和各相关后台数据库的超文本链接,所以最终可以用浏览器查询网络上所有服务器的信息。其中浏览器构成了系统的表示层,Web服务器及Web应用服务器构成了系统的应用层,而数据库服务器构成了系统的数据层。
B/S模式的一个重要特征是使所有应用服务都有专门的应用服务器处理,既减轻了数据服务器的处理负担,又可以通过不同的应用服务器使数据服务器支持不同的应用以及大规模用户的应用。而浏览器作为客户端,既避免了系统客户端维护管理与升级的困难,又能同门户网站无缝地相结合,使用非常方便,成为信息系统架构的发展趋势[6]。
(4)多层架构模式
由前面介绍可以看出,B/S模式是在两层C/S模式基础上发展起来的三层结构模式。自三层结构的概念提出和应用之后,其不断被引申和扩展,进而逐渐产生了多层结构,即前台界面(如浏览器)、Web服务器、中间件(或应用服务器)及数据库服务器(见图8-7)。
图8-7 多层模式体系结构
①前台界面:这一层直接与用户交互,支持多种客户端,它既可以是通过Internet访问的Web浏览器客户端,也可以是通过企业Intranet运行的瘦客户端。
②Web服务器:这一层是为基于Web的应用程序服务的,支持访问封装有商务逻辑等应用的组件,并负责响应Web客户端的请求。
③中间件:这一层是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务、面向服务的体系结构等中应用比较广泛。如数据库、Apache的Tomcat,IBM公司的WebSphere,BEA公司的WebLogic应用服务器以及Kingdee公司的Apusic等都属于中间件。
④数据库服务器:这一层包括了用户所要访问的数据库系统、文件系统等。
与三层结构相比,多层结构模式增加了中间件的层次,其主要完成以下几个方面的工作:
①提高系统可伸缩性,增加并发性能。在大量并发访问发生的情况下,Web服务器可处理的并发请求数可以在中间件一层得到更进一步的扩展,从而提高系统整体并发连接数;
②中间件/应用层专门完成请求转发或一些与应用逻辑相关的处理,具有这一作用的中间件一般可以作为请求代理,也可作为应用服务器。中间件的这种作用在J2EE的多层结构中比较常用,如BEAWebLogic、IBMWeb-Sphere等提供的EJB容器,就是专门用以处理复杂企业逻辑的中间件技术组成部分。
③增加数据安全性。在网络结构设计中,Web服务器一般都处于非军事区,即直接可以被前端用户访问到,如果是一些在公网上提供服务的应用,则Web服务器一般都可以被所有能访问与联网的用户直接访问。因此,如果在软件结构设计上从Web服务器就可以直接访问企业数据库是不安全的。因此,中间件的存在,可以隔离Web服务器对企业数据库的访问请求:Web服务器将请求先发给中间件,然后由中间件完成数据库访问处理后返回[7]。
目前,在世界著名的电子商务应用系统开发中,大多采用了多层结构设计。BEA公司在其WebLogic产品白皮书中提出了N层结构的系统结构,如图8-8所示。
图8-8 N层的系统结构示意图
这个结构中,中间件/应用层包括有三个层次:
①逻辑表达及动态网页服务器。通过符合业界标准的程序接受Web服务提交的请求,访问后台提供的业务逻辑服务,提取业务数据,生成HTML页面,返回给Web服务器。
②应用服务器。通过运行组件或高效的中间件上的应用程序,执行电子商务的业务逻辑并访问数据库,更新并提取业务数据,并将结果返回给表达逻辑层。
③系统集成服务器。接收来自表达逻辑层或业务逻辑层的请求,访问同构或异构资源,并将业务数据返回给服务调用者。
这种逻辑结构的出现,不仅意味着电子商务系统框架的基本形成,更为重要的是,它使系统在结构和性能方面趋于合理。依据多层电子商务体系结构进行设计,为电子商务用户从平台的选型到业务的设计、实现、扩展、安全和维护都带来了很大的好处[8]。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。