计算机工程
COMPUTER ENGINEERING
1999年  第25卷 第7期 Vol.25 No.5 1999



基于Intranet的综合信息服务系统
张勇　潘清
摘要　虽然传统的管理信息系统MIS已经获得了广泛的应用，但它仍存在许多问题。基于Intranet的综合信息系统可以较好地弥补MIS系统的不足。主要围绕其概念和关键技术进行了讨论，并介绍了一个应用实例。
关键词　客户/服务器模型Intranet综合信息服务系统管理信息系统
Intranet Based Integrated Information Service System
Zhang Yong Pan Qing
Institute of Command and Technology Beijing 101416
Abstract：Although the Managing Information System （MIS）has been widely used，it still has many serious problems.The Intranet based Integrated Information Servide System(IISS)can solve those problems in an effective way.This paper mainly discusses the principles and structures of the IISS and finally gives an application based on it.
Key words：Client/Server model；IISS；MIS
　　随着计算机技术的飞速发展，人们的生产、生活方式正在经历着前所未有的变革，计算机网络、多媒体、Internet等技术在使人眼花缭乱的同时，也使人们切实感受到它们所带来的巨大效果。而在这些基础之上产生的Intranet即内部网技术，虽然只是"小荷才露尖尖角"，但它所展示的魅力却已向人们证明，它是一项非常有前途的技术，必将得到广泛的应用。事实上，Intranet的思想和技术给我们带来的决不仅仅是一二个具体应用，它所代表的是一种新的计算模式，即"以用户为中心的计算(User Centric Computing)"。这种计算模式同以往的"以数据结构为中心的计算"、"以网络为中心的计算"相比，能更好地满足用户的需求，必将成为未来的一项关键技术。
　　与传统的管理信息系统相比，基于Intranet的综合信息服务系统的特点是：
　　(1)系统所管理的信息是复杂多样的，提供的服务也是多样的。传统的MIS系统是针对某一类特定信息而开发的，各种系统之间不能很好地集成。在综合信息服务系统中，可以方便地集成企业内部的各种信息，如职工考勤、通知消息、公文报表等都能够集成在一个系统中。同时，系统所提供的服务也不仅仅是管理或查询，而是集信息获取、信息处理、信息发布于一体，并且可以根据用户的需要随时提供定制的服务。
　　(2)系统具有良好的伸缩性，可以动态地适应企业的发展。传统的MIS一经完成便难以更改，企业的需求一发生变化，就必须重新设计安装。而综合信息服务系统由于采用了Intranet技术，容易适应这种变化，充分保护已有的投资。
　　(3)系统更加面向最终用户，方便了使用。传统的MIS系统大都是专门的系统，各个系统之间的操作、使用方法均不相同，给用户使用带来了不便，也增加了用于培训的投资。而综合信息服务系统则将所有的信息服务使用都集中在客户端的标准浏览器上，通过文字、图形、声音等多媒体技术，方便了用户使用。
1　基于Intranet的综合信息服务系统
1.1　Intranet概述
　　Intranet技术即内部网技术是在Internet技术特别是Web技术之上发展起来的。它将Internet技术应用在企业内部的信息系统，其服务对象主要是企业内部人员，其主要目的(作用)是加强内部各部门之间的联系，促进企业内部的沟通，提高工作效率。
　　Intranet技术包括了Web技术、数据库技术和网络技术。它综合了Internet上已有的各项技术，并将它们同局域网技术结合。发挥了两者的优势。一个典型的Intranet应用应当具有如图1所示的结构：

图1　Intranet应用结构
　　其中客户端采用通用的浏览器(Browser)软件，这是Intranet应用与用户的唯一界面。通过浏览器，用户可以得到它们所需要的全部信息。服务端安装HTTP服务软件，它监听并处理来自客户端的请求，将结果发送到客户端。数据库是Intranet的又一重要组成部分，要想有效储存和管理企业中的大量信息和数据，必须采用数据库技术。一个Intranet应用实际上是一个多层的(Multi tier)客户/服务器应用。
1.2　综合信息服务系统结构概述
　　综合信息服务系统是建立在Intranet基础之上的，其拓扑结构如图2所示：

图2　综合信息服务系统拓扑结构
　　综合信息服务系统的基本思想是在客户端使用标准浏览器作为通用的用户界面，在服务端则通过WWW服务器(HTTP)提供服务。当客户提出服务请求时，WWW服务器将请求提交给相应的应用程序，这些程序处理请求并将结果传送到WWW服务器中，WWW服务器解释结果并把格式化后的结果返回给客户。系统的概念结构如图3所示：

图3 综合信息服务系统概念结构
　　在综合信息服务系统中，最重要的技术应当是：
　　(1) 数据库技术 要管理企业的各种信息，就离不开数据库。数据库的设计与实现对于综合信息服务系统是至关重要的一环。
　　(2) TCP/IP网络技术 TCP/IP是Intranet的基础，整个系统是建立在网络互连之上的。
　　(3) 基于Web的计算 Web本身的计算能力不强，因为这不是它的主要目标。但是，实现综合信息服务系统的关键正在于将所有的计算都集成到Web中来。因此，必须找到一种方法，可以使基于Web的应用能够同其他服务(如数据库等)紧密结合起来，共同工作。
　　以上各点中，数据库和网络都已经是比较成熟的技术，在传统的MIS系统中也已得到了广泛的应用。这里仅着重讨论基于Web的计算技术。
2　基于Web的计算
　　在基于Intranet的综合信息服务系统中，实现基于Web的计算是系统实现的基础。早期的Web功能比较简单，只提供超文本链接和简单输入。经过不断的扩充和改进，在HTTP协议和HTML语言的功能上都有了很大的增强，这使得Web可以完成更加复杂的任务，从而使综合信息服务系统的实现成为可能。
　　实现基于Web的计算的关键在于增强其输入输出功能，不仅能从客户端获得输入，还应当可以访问各种资源以获得输入，例如从数据库中获得数据；同时，其输出不仅可以是HTML文本流，还应可以是一个文本文件、一条数据库记录等等。可以看出，这种实现将分为客户端和服务器端两个部分，客户端主要完成用户数据的输入以及结果数据的显示，服务器端的工作则复杂得多，因此这里主要讨论服务端的实现。
　　目前服务端的实现主要有以下几种方法： 
　　(1) 通用网关界面(Common Gateway Interface)CGI CGI定义了Web与其它应用程序互相访问的接口。这些应用程序可以用任何语言编写，以任何方式运行于服务器上，通过CGI接口，它们可以被Web服务器调用以完成某种特定的功能。采用CGI的系统结构如图4所示：

图4　CGI系统结构
　　图中：
　　①客户与HTTP服务器连接并提出请求；
　　②服务器对环境变量赋值并运行CGI程序，把从客户收到的请求数据及信息传送给CGI程序；
　　③CGI程序完成处理之后把结果返回HTTP服务器；
　　④HTTP服务器把应答传送给客户。
　　CGI标准虽然使得创建Intranet应用成为可能，但是它的缺点也是不容忽视的。最致命的一个缺点是性能很差，这也是由于对每个CGI请求都必须创建一个进程来响应，一旦出现多个并发请求，服务器就会陷入性能的低谷。另一个问题是CGI的安全性难有保障。由于CGI是在服务器方执行的应用程序，可以控制服务器上的资源，一旦CGI程序本身有漏洞或BUG，则整个系统立刻就变成了不安全的系统，随时可能受到攻击。另一方面，这种BUG又几乎是无法避免的。第三个问题是由于HTTP和CGI的无状态性，CGI不能保存应用的状态信息，这给大型应用的开发带来了很大的困难，必须采用其他方法加以解决。
　　(2) 嵌入式描述语言(Embedded Scripting Language)这是一种改进的方法，通过定义简单使用的描述语言并将其解释器集成到Web服务器中，可以较好地解决CGI方法中存在的主要问题。其系统结构如图5所示：

图5　嵌入式描述语言系统结构
　　当客户端请求含有内嵌描述语言程序的HTML页面时，Web服务器将其中的描述语言程序送到内置的解释器中，由解释器解释并执行，最后Web服务器将格式化后的结果连同原文本一同发送给客户端。同CGI相比，这种方法的优点是：
　　1) 性能有所提高：由于解释器是内建的，当处理客户请求时，不再需要创建单独的进程，仅需创建线程即可，这样大大减少了系统开销。
　　2) 可以有效地减少安全性隐患：因为解释器是经过仔细测试的，不易出现大的漏洞。而解释器又可以及时对用户程序中的错误加以控制。
　　3) 易于使用：采用相对简单的嵌入式描述语言，使编写Intranet应用更加简单，缩短了开发周期，降低了成本。
　　(3) 应用编程接口(Application Programming Interface)这是由Web服务器直接提供编程的API，使用这些API可以最大程度地同Web服务器紧密结合，开发出性能良好的应用程序。例如，可以用Netscape公司的Enterprise Server中提供的NSAPI写一个自己的嵌入式描述语言解释器或者扩充自己的HTML标准。虽然这是一种较为高效的方法，但它同时也是最难使用的。这种程序无论是编写还是调试都极为困难，所以只用在特殊的场合。
　　(4) JAVA语言 JAVA语言的意义早已超过了Web技术的范畴，不过它应用在Web中，能够极大地提高应用程序的功能。用JAVA几乎可以做任何事，同时又很便于编程。
　　目前，最为常用的方法仍是最早出现的CGI方法。但是随着Netscape公司的Livewire技术和Microsoft公司的Active Server Page技术的出现，越来越多的开发者将视线转向了这两种嵌入式
描述语言。
　　以上讨论了服务器端的实现方法，相对而言，客户端的实现则比较简单。主要是通过Script描述语言和HTML语言来实现，JAVA技术同样可以应用于客户端。值得指出的是，主流浏览器，如Navigator和Internet Explorer都提供了 "插件"接口，用户可以通过定制插件来控制客户端完成更复杂的工作。
3　应用实例
　　基于我们的综合信息服务系统的模型，我们研制开发了"运动会综合信息服务系统"、"办公综合信息服务系统"等应用系统。其中"运动会信息服务系统"已投入实际应用，取得了良好的效果。
　　"运动会信息服务系统"是一套基于Intranet技术，集信息获取、信息处理、信息发布等诸多功能于一身的应用系统。
　　系统采用Windows NT 4.0作为服务器操作系统平台，Web服务器则采用Netscape的Enterprise Server 3.0 for NT，数据库服务器是SYBASE System 11。整个系统使用Netscape的Livewire技术，用嵌入式Javascript语言编写。系统功能结构如图6所示：

图6 运动会信息服务系统功能结构
　　与以往的同类系统相比，它的优点是：
　　(1)系统功能强大。不仅可以完成运动会赛程和成绩的管理，还可以及时处理、动态发布这些信息。
　　(2)使用方便。可以容纳许多人同时以各种灵活的方式进行查询和浏览。
　　(3)安全可靠。整个系统构建在安全可靠的软、硬件平台上，不易受到外界破坏。
作者简介：张勇 男，24岁，研究生，专业方向为操作系统及信息系统技术
作者单位：国防科工委指挥技术学院北京101416
参考文献
1　郑若忠.数据库原理与方法.长沙：湖南科学技术出版社,1991-01
2　Livewire User's Guide.Netscape Communication Corp.,1996-10
3　王佑中.Web动态技术入门.北京：机械工业出版社,1997-01
4　李梅.HTML环境中的Web出版用户使用指南.北京：科学出版社,1997-02
收稿日期：1998-08-03
