分类: Sybase
2008-04-21 13:28:56
Sybase Internet解决方案(一) 随着Web 技术的飞速发展,用户构造基于Web 应用的需求也在迅速增长。Sybase作为业界领先的数据库产品提供商,紧跟Internet技术的发展潮流,不断推出新的应用产品。 Web 应用的基本组成 Web 是基于Internet的应用平台。其基本组成部分包括互连网络、浏览器和Web服务器。在浏览器和Web 服务器之间信息传递协议为HTTP,信息标准为HTML,它是一种用来定义文字、图像等内容如何在浏览器一端显示的标记语言,但不能完成计算和逻辑处理以及对数据库的访问。浏览器的主要功能就是解释和展现HTML文件的内容。 在Web 平台中,传统Web 服务器的作用相当于使用HTTP协议的文件服务器。用户在浏览器输入URL 的地址(例如http://www.sybase.com/products/pb.html),浏览器会根据地址中的内容连接到指定的Web 服务器,然后利用HTTP协议从Web 服务器上卸载需要的文件。当传输结束后,浏览器就和Web 服务器断开连接。由于基本Web 技术的限制,在这个基本平台上是不能实现逻辑处理、计算和数据库访问的。 基本Web 平台的扩展 目前用户需要构造的Web 应用不仅仅是传递一些编写好的、静态的HTML文件;而 是需要通过Web 这一廉价、开放的平台让更多的用户可以访问存储在数据库中的动态数据。一旦完成这样的应用,对开发商和用户都有重要意义。一方面,用户可以更加快速、经济地获取自己感兴趣的信息;另一方面,开发商和厂商也可以借此获得更多的利润和市场。 针对这种市场需求,各大主流数据库厂商,如Sybase、Oracle,以及浏览器和Web 服务器提供商,如Microsoft、Netscape 等都纷纷推出Web 服务器和浏览器的扩展技术为基础,数据库厂商提供实现数据库访问的应用服务器。这样,Web 应用就从传统客户机/服务器两层体系结构,扩展为浏览器/Web 服务器+应用服务器/数据库服务三层体系结构。 Web 平台的扩展可以分为Web 服务器端扩展和浏览器端扩展两类。目前主要的Web服务器扩展技术一般都是通过提供一个支持CGI、ISAPI或NSAPI 扩展标准的应用服务器来实现。其中,CGI(CommonGatewayInter?face) 是通用的Web 服务器扩展标准,而ISAPI 和NSAPI 则属于厂商单独定义的扩展规范,只为各自特定的Web 服务器提供功能扩展。数据库厂商提供的应用服务器一般都支持这些扩展标准,以保证开放性。在这一点上,Sybase的产品尤为突出。 基于应用服务器的扩展技术的基本原理如下:应用服务器通过对Web 服务器的扩展,使浏览器可以通过HTML或其它类似的脚本语言,调用应用服务器提供的功能,从而扩展浏览器和Web 服务的应用领域。当浏览器引入一个带有应用服务器功能调用的URL 时,Web 服务器就通过标准的扩展技术,调用应用服务器提供的功能,完成解释脚本、传递参数和结果形成等工作,最后应用服务器的执行结果以HTML的格式传递到浏览器。 具体以SYBASEPowerDynamo 产品为例(假设在用户机器上安装了PowerDynamo 和Web 服务器),当用户输入http://localhost/nicgi.exe/site/contents.html时,就请求Web服务器利用CGI 扩展方式启动PowerDynamo(PowerDynamoCGI 的应用服务器名称是nicgi.exe),并且由PowerDynamo 解释contents.html。由于用户需要的contents.html 不是直接返回给浏览器,而是先由PowerDynamo 解释,因此在这个HTML文件中就可以 填写标准HTML语言以外的脚本。对于Sybase的PowerDynamo 来说,它允许用户填写DynaScript脚本(JavaScript的超集)和SQL 语句,来实现逻辑判断和数据库访问。而这些扩展内容的执行结果都将以HTML形式返回浏览器,完成这一复杂工作的正是PowerDynamo 应用服务器。这种Web 扩展方案是目前主流的扩展技术,也是最成熟的解决方案。各厂家产品的名称也许不同,但主要的应用服务器产品都属于这一类型。 另外,目前还有许多浏览器端的扩展技术。主要包括Netscape定义的Plug-in标准、JavaScript脚本,Microsoft 定义的ActiveX 标准、JScript、VBscript 脚本,以及通过JavaApplet实现扩展。但是,浏览器端的扩展多数只是完成一些逻辑校验、多媒体数据展现等工作,并且存在平台的限制,因此,都不能作为主要解决方案。相对而言,Java比其它的浏览器扩展方案更具有优越性,在未来的Web 发展中占有重要位置。我们会在后面详细讨论。 |