(本文转载自软件工程专家网www.21cmm.com)
PC时代到来后,计算机网络和计算机应用得到了很大的发展。PC价格的不断下降和性能的持续上升,逐步将在面向终端的网络时代中处于核心地位的大型主机赶向网络应用的角落。NetWare和Windows NT的兴起,以及大型数据库系统的粉墨登场,开辟了网络应用的新模式--客户/服务器(C/S)模式。这种模式是计算机网络发展第二阶段出现的一种分布式计算处理的网络系统。虽然从定义上,C/S模式是指任何将事务处理分开进行的网络系统,但绝大多数的C/S应用系统是C/S数据库系统。充当服务器的是大型数据库系统,如Sybase、Oracle、Informix等。 C/S模式是一种两层结构的系统:第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。 在Web和Intranet技术还没有走进市场的前几年里,C/S技术帮助了世界各地的公司和企业提高了工作效率。然而两层结构的C/S模式在系统的集成与维护、操作界面一致性、系统的扩展性等方面同样存在其局限性。而这些局限性在今天的网络技术环境里,将使C/S模式的网络系统最终面临像主机终端式网络同样的命运。
基于Web技术的Intranet近两来正受到广泛的关注,这种以TCP/IP协议为基础、以Web为核心的企业内部网正吸引着越来越多的企业。低成本、简单易用的客户浏览器能随时随地到企业的Web站点上,查阅自己所需的数据。客户端操作界面的一致性克服了两层结构C/S模式客户端多种程序所带来的企业资料的不一致性,而服务器端的开放和基于标准的连接方案,大大加强了企业与外部的联系,同时,动态的、交互式的信息发布改进了企业对客户的服务质量,增加企业的商业机会。 在三层结构的Web技术中,数据库不是直接服务每个客户机,而是与Web服务器相沟通,实现了对客户信息服务的动态性、实时性和交互性。这种功能是通过诸如CGI、ISAPI、NSAPI以及Java创建的服务器应用程序实现的。 Web技术吸引人的地方是采用超链接和多媒体信息。Web服务器使用超文本标记语言(HTML)描述网络的资源,创建网页,并以HTML数据文件的形式保存其中,以供Web浏览器阅读。HTML文档的特点是交户性。超链接使文挡中的链接,不管是一般文本还是图形,都能连接到服务器上的其他文档,从而使客户快速地搜寻他们想要的资料。HTML网页还可包括表单供用户填写并通过服务器应用程序提交给数据库。这种数据库一般是支持多媒体数据类型的。 Web浏览器是一个用于文档检索和显示的客户应用程序,并通过超文本传输协议HTTP协议与Web服务器相连。通用的、甚至免费的浏览器消除两层结构的C/S模式客户端多样软件的开发和维护费用。目前,流行的Internet Explorer和Netscape Navigator除提供基本的文档检索、显示和导航特性,还支持HTML的高级显示(如表和帧)以及ActiveX、Java、JavaScript等特性。
Web技术是Intranet的核心。在三层结构的Web技术中,Web服务器既充当客户的"代理",又是数据库的客户机。它将不同来源、不同格式的信息汇集成统一界面,提供给客户端浏览器。在组建企业的Intranet时,Web服务器产品的选择应考评下列因素: ●与企业现有网络的配合性; ●与数据库服务器的结合性; ●开发Web页面的难易程度; ●安全性; ●稳定性。 一般的原则是:如果现有的企业网络系统是NetWare,则可考虑选择Novell NetWare WebServer;如果是Windows NT,则应考虑Microsoft Internet Information Server(IIS);如果企业的数据库是Oracle,那么Oracle WebServer是一个适当的选择。Web服务器的市场产品主要有:Microsoft的IIS、Netscape Enterprise Server、Novell Netware WebServer和Oracle WebServer。 传统的关系型数据库一般不支持多媒体信息,不大适合在Web中使用。采用面向对象的数据库或对象关系型数据库是今后的方向。在选择数据库产品时,不仅需要考虑数据库的性能,而且还需要考虑的数据库与Web服务器结合难易。传统的结合方式是使用CGI程序和ODBC的接口,其缺点是速度慢,造成Web服务器负担过重。目前,一些公司在自己的产品中采用了专门的、非ODBC的驱动程序,以实现对数据库资料的快速搜索。此外,数据库的稳定性、安全性、扩充性以及数据库的备份能力都是需要考虑的重要因素。 常见的Web数据库产品有:Oracle Universal Server、Informix-Universal Server、Microsoft SQL Server、Sybase SQL Serever 11和IBM DB2通用数据库。