微型机与应用
WEIXINGJI YU YINGYONG
1999年3月 第18卷 第3期 vol.18 No.3



基于WWW技术对传统信息系统改造的对策和方法
裘江南　金玉玲
　　摘　要：对基于WWW技术的信息系统和传统信息系统进行了比较， 并对传统信息系统向Intranet迁移过程中存在的问题进行了分析，提出了对策和改进方法。 
　　关键词：Internet　Intranet　客户机/服务器　信息系统 
1　Intranet的特点
　　基于WWW技术的Intranet的模式与传统的客户机/服务器模式相比较具有以下特点：
　　1.只需为所有的客户端平台编写1个客户端程序。Intranet模式可以使用与平台无关的相同软件模块，这些客户端程序不必考虑运行在Wind ows和Unix操作系统的区别。从而节约了客户端的软件费用，避免软件开发的重复投资 。
　　2.减少系统维护的工作量。Intranet模式具有很高的集中性，所有的应用程序和数据库均放在服务器端，客户端只安装 浏览器。系统维护的工作全部集中在服务器端，从而真正实现客户端的零维护。
　　3.减少客户端硬件的投资。传统的客户机/服务器的方式中客户机硬件的配置要求很高，而在Intranet模式下，只要客 户机能运行浏览器即可。这样，就可以降低每台客户机在硬件上的费用。
　　4.无须对用户进行特殊培训。在基于Intranet模式的系统中，将全部采用浏览器作为用户界面，所以，Intranet模式下系 统的用户界面更具友好性和一致性，从而可以节省用户的培训费用。
　　5.易于实现企业间的连接。由于网络的传输协议采用TCP/IP协议和WWW技术，使之很容易构筑连接多个企业系统的应用 ，同时易于在网上发布各种类型的信息。
2　系统改造方法
　　综上所述基于Intranet模式的信息系统具有很多的优势，但将传统的信息系统改造成Intran et模式并不是轻而易举的。为了有效地保护已有的投资，必须充分利用企业原有的信息系统 资源，如数据库、硬件等，同时把Intranet与原有系统做无缝集成。
　　可以采用Internet的WWW技术的三层体系结构作为新的企业信息系统框架，即在原有的客户 机和服务器之间，逻辑上插入1个中间机构，该机构可以包括多个物理上的服务器，这些服 务器可称为集成服务器，它是具有连接功能的新型Web服务器，是整个系统的核心。在这样 一个体系中，原来由客户机承担的数据库存取和复杂计算等工作转移到了位于第2层的集成 服务器上，客户机只负责提供用户界面，从而减轻了客户机的沉重负担。这种三层体系结构 是对传统客户机/服务器二层体系结构的扩展。它的运作方式是，装有浏览器的第1层客户机 ，首先访问第2层的网络集成服务器，位于第2层的集成服务器为客户机提供访问处于第3 层的客户服务器、文件服务器或主机系统时所需的通信软件。新增加的第2层服务器 不仅 能够连接已有的服务器，而且它还是处理关键任务的服务器。由于它介于客户机和数据库服 务器之间，使得两者不直接相连，并将事务处理逻辑模块集中在集成服务器上，使得用户不 能非法侵入，从而加强了系统的安全性；第2层服务器还具有均衡分配网络资源的功能，使 网络的分布式处理成为可能。由于有了这样1个中间服务器，使整个系统具有良好的稳定性 和可扩展性。
　　网络集成服务器的一项关键任务是实现与已有客户服务器、文件服务器或主机系统中的数据 库的连接，目前一般可以采用2种做法：一种是在Web服务器端提供中间件来连接Web服务器 和数据库服务器，中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服 务，它能够直接 访问数据库，或者调用外部程序或脚本代码来访问数据库，因此可以提供与数据库相关的动 态HTML页面，或执行用户查询，并将查询结果格式化成HTML页面，通过Web服务器返回给用 户浏览器。另一种是把应用程序从Web服务器端下载到客户端并在客户端浏览器中运行下载 程序直接访问数据库，如Java Applet。但这种方法对浏览器有特殊要求，且安全性较差。
3　Intranet的不足和改进
　　基于WWW技术的Intranet模式的信息系统也存在不足，下面是在开发时应注意的问题：
　　1.事务处理。
　　HTTP是非常简单的无态协议，它响应来自WWW浏览器的请求，传送处于所指定URL处的文件。 每传送1次文件，会话就被中断，所以不能保证事务处理的连续性。而传统的客户机/服务器 使用有态协议，一旦客户端启动，它一直和服务器端保持多种联系，其中的状态信息存储数 据库系统和所有客户端交互的上下文信息，所以能保证事务处理的连续性。为了克服HTTP协 议的这一弱点，弥补其会话管理功能的不足，可采用以下2种方法：一种是将客户端用户标 识嵌入到HTTP中管理会话；另一种是使用独自的通信协议。
　　将客户端用户标识嵌入到HTTP中的方式简单易用。在初始访问时，浏览器经由Web服务器来 访问数据库软件，在这个阶段，连接中间件发放客户端用户标识，并将客户端用户标识通知 浏览器。在第2次以后的访问中，就把这个客户端用户标识嵌入到URL中。只要客户端用户标 识一致，连接中间件就判定为连续会话。这种方式叫做模拟会话方式。由于对HTTP未做任何 改动，所以通用性很好。不管是何种浏览器，也不管在通信路径上有无防火墙，都可以采用 这种方式。但是，用这种方式所实现的会话管理功能毕竟是模拟式的，当网络发生错误，客 户端用户标识中产生了伪字符时，会话就会中断。目前在Internet上使用的Cookie技术就是 采用这种方式。
　　实现会话的另一种方法是在Web服务器和浏览器的通信中，使用独自的协议。在最初访问时 ，一旦从Web服务器上下载了在浏览器上运行的程序模块，此后小程序Applet和网关软件就 用独自的协议进行通信。由于使用独自的协议，所以可避免HTML所存在的问题。
　　2.CGI网关。
　　Web服务器每得到1个请求，CGI网关就在服务器端产生1个过程，Web服务器同时收到的请 求越多，服务器端运行的进程就越多，而为每一个请求创建1个进程都需要占用大量系统资 源，因而可能导致系统崩溃，此外浏览器客户端还必须长时间等待(通常是不能忍受的)才能 得到对其请求的响应。不同于浏览器处理1个HTTP请求，在客户机/服务器系统中，标准客户 端请求处理之间不用等待进程的启动，客户端能够以异步方式向服务器端发送请求，在请求 被处理的同时，又可做其它工作。而以Web为基础的客户机必须等待每一个请求被处理，处 理结束才能启动另一个任务。这样往往会降低系统响应速度。
　　解决这些问题的方法是采用改进的CGI网关，如微软的ISAPI。ISAPI方法使用动态链接库(DL L)，这样就避免了在CGI中为产生并发进程所需的额外开销，1个DLL可以在第1次收到对它的 请求时装入，然后留在内存中等待其它请求以提供服务，和CGI进程模型不同，ISAPI DLL和 Web服务器装载在同一地址空间。DLL可以常驻在内存中，服务器知道DLL在等待服务请求。 
　　3.只用HTML语言不能模拟所有客户机/服务器系统的功能。
　　只利用HTML语言难以模拟通常的客户功能，包括GUI、外部工具的调用、库函数的调用、对 设备的操作和系统服务的调用，这可以用以下方法来解决：
　　(1)用集成服务器上的软件中间件来模拟。由中间件根据浏览器的请求执行所有以前在客户端执行的程序，把显示结果返回客户端。
　　(2)采用新的MIME类型和MIME句柄。这种情况下必须在客户端设置MIME类型的驱动程序，当浏览器接收该类型时将启动和该类型 相关的应用程序。
　　(3)采用下载软件构件方法。编写适合浏览器运行的特定软件构件，由中间件下载到浏览器中运行，如ActiveX控件和Jav a Applet。
4　系统改造的原则
　　在对传统信息系统进行Intranet改造时必须遵照以下原则：
　　1.能够实现已有系统的大部分功能；
　　2.充分利用已有系统的软件构件，对已存在的系统做最小的改动；
　　3.不要改变HTTP和HTML；
　　4.客户端浏览器应使用流行的标准浏览器，如Netscape Navigator或Internet Explorer。 
　　对传统信息系统的改造同开发一个新系统一样，是一项复杂的系统工程，必须做好充分的前 期准备工作，应对现有系统进行全面细致的分析，做好对系统进行改造的可行性分析，选择 适合原有系统的改造方法和工具，最好采用现有成熟的技术，既能够保护原有的投资，又能 够使改造后的系统在技术上具有先进性，并达到预期的目标，取得事半 功倍的效果。 
作者单位：大连理工大学图书馆(116023)
参考文献
　1　Dossick S E,Kaiser G E.WWW accers legacy client/server app lication.Computer Networks and ISDN System,1996；28
　2　Robertson P.Integration legacy systems with modern corporate applications.C ommunication of ACM,1996;40
　3　赵洪彪，周立柱.数据库系统与WWW的集成途径.计算机科学，1997；(6)
　4　安秋顺.企业新型信息系统.计算机世界，1997；27
　5　安秋顺.Intranet的三年实践.计算机世界，1997；33
(收稿日期：1998-09-10)
