华北电力大学(河北保定071003)张少敏王保义
PowerBuilder是开发客户机/服务器模式管理信息系统功能的有力工具。讨论了用PowerBuilder开发Web应用的2种方式(Plug—ins方式和Web.PB方式)及其特点和执行过程,对2种Web应用方式构建的Web页面的安全性进行了设计。
关键词:PowerBuilder;Web;Web.PB;Plug—ins;安全性
近年来,随着Internet的普及,世界范围内Internet/Intranet环境逐渐形成,Web正改变着企业应用系统开发实施的方法。所有这一切都归功于Internet技术,如TCP/IP、HTTP、HTML等的基本原则简明、开放和可适应性。它们的开放性的设计已成为全球研究和开发产品的成就。
Web是Internet上的一个服务,可以用来把文档很方便地链接在一起。通过这样的链接,用户能够迅速确定所需文档的位置,浏览时可从一个文档跳转到另一个文档,同时可以访问数据库中的数据。Web的应用具有以下优点:
(1)开放分布体系,可以让用户透明地应用由不同运行平台组成的异构型计算机资源;
(2)框架结构能以不变应万变;
(3)可使开发人员按需要选择各种各样的软件和工具实现各种应用和服务,并把注意力从用户界面细节问题转移到核心的问题上去。
总之,基于Web的应用具有良好的开放性、资源共享、协议通用、互连方便,但同时也带来了严重的安全性问题,因网络用户有对内部系统的访问权。最终用户所能看到的是一个完整的在浏览器上表达的主页,我们称之为一个节点(Node)。在系统中同一节点上所有资源的权限域都有可能不同。有时网页发布者并不希望自己的某些信息被所有人共享,而只提供给那些被授权的用户,这是在开发基于Web的管理信息系统时,必然要遇到的问题。一种常见的解决方法是在网页中设计认证界面,提示用户输入用户名、口令等项,用户只有在输入正确的提示项后,才能打开对应的网页,这样对Web网页起到保密作用。但提交的认证数据如果在网络中以明文形式传输,极易被窃听、盗取,对安全性构成威胁。本文对用PowerBuilder开发Web应用时的Web页面安全性进行了设计。
1PowerBuilder的特点
PowerBuilder是美国PowerSoft公司在1990年开发的分布式数据库开发工具,是完全按照客户机/服务器(Client/Server)结构研制设计的,采用面向对象技术、图形化的应用开发环境,是数据库前端开发工具。它为Oracle、Informax、Sybase等数据库提供了公共的前端开发工具,不仅能适用于各种不同的数据库管理系统,而且还能给已有的数据库资源带来全新的窗口界面,其强大的接口驱动程序能够和几乎所有的数据库实现无缝连接,并且高效地完成数据库驱动。
PowerBuilder正在成为客户机/服务器应用开发的标准。相对其他任何客户机/服务器开发环境,PowerBuilder使开发人员的工作更快,质量更高,功能更强,成本更低。PowerBuilder为应用开发提供了全面综合性的支持,可以分别概括如下:
(1)事件驱动的应用程序;
(2)功能强大的编程语言和函数;
(3)面向对象的编程;
(4)跨平台开发;
(5)开放的数据库连接系统。
随着Web应用的兴起,PowerBuilder提供了其Internet/Intranet解决方案。企业内部的管理信息系统是与计算机技术发展相对应的。在PowerBuilder6.0/6.5版本中,有2个很大的改进,一是支持真正的分布式应用(DistributedApplication)的开发;二是用多种工具支持基于Internet的应用。这种改进的目的在于能够将开发者的精力都集中在业务逻辑的实现上,而不是花费大量时间去考虑和数据库相关的问题。
2PowerBuilder中Web模块的构成
为了将PowerBuilder的应用移植到Web上,PowerBuilder定义了一些功能模块以实现相应的功能,设计人员可以根据实际应用的需求选取以下配置。
(1)Web.PB:当业务逻辑和数据库访问要求集中处理时使用Web.PB,它是几个可在Web服务器上被调用的可执行应用程序,相当于分布式应用中的客户端应用。该程序可以被Web服务器激活,用于向PowerBuilder的服务器应用发出调用请求,是Web服务器和PowerBuilder应用之间的关联。
(2)Web.PBClassLibrary(Web.PB类库):是创建PowerBuilder服务器应用须引用的类库,此库中定义了5个定制的类用户对象,这些用户对象中封装了创建HTML语法及事物管理所需的函数结构和实例变量。这些函数结构和实例变量用来创建HTML语法、管理客户浏览器连接的状态等。
(3)Web.PBWizard(HTML语法生成辅助工具):用来生成HTML页面的语法,该HTML中嵌入了〈A〉或〈FORM〉元素,可用来激活PowerBuilder应用中的相应处理和完成数据采集。
(4)Plug—ins(插入件):PowerBuilder中提供了2种插入件,即WindowPlug—in和DataWindowPlug—in。WindowPlug—in可以在HTML页面中嵌入并显示PowerBuilder中Child类型的窗口对象。在被嵌入的窗口对象中可以放置数据窗口、树状浏览、Tab页等丰富多彩的控制,丰富了HTML页面的表现形式,当业务逻辑和数据库访问可以在浏览器端处理时使用它。DataWindowPlug—in可以用来在HTML页面中嵌入并显示PSR文件。由于数据窗口具有丰富多彩的显示风格,因此DataWindowPlug—in带给HTML页面以丰富的数据表现形式,当只需查询已定义好的数据时使用它。
(5)Website(个人Web服务器):PowerBuilder中包含O''Reilly公司基于WindowsNT和Windows9X平台的32位多线程个人Web服务器Website,该Web服务器提供了完整的Web服务创建、管理环境和安全机制。
3用Web.PB和用Plug—ins构建的Web应用的特点及执行过程
3.1用Web.PB构建Web应用
3.1.1Web应用的特点
(1)开发环境为PowerBuilder6.0,采用的是PowerBuilder6.0提供的应用技术及Powerscripts编程,相当于编写分布式应用环境下的服务器应用;
(2)支持CGI、ISAPI、NSAPI、MSAPI等多种网关程序接口;
(3)支持PowerBuilder中数据窗口的引用;
(4)易于将以前编写的PowerBuilder应用移植到Web环境下;
(5)易于创建嵌入PowerBuilder应用程序调用的HTML文件,PowerBuilder应用服务器在运行环境下将根据用户动作动态生成HTML语法,发布的是完全动态的信息;
(6)支持数据库连接,PowerBuilder能够访问到的数据都可以被浏览器用户访问,这使Web服务器与数据库服务器通过PowerBuilder完整地结合起来,使用户可以通过浏览器完成对数据库数据的操纵;
(7)客户端只需浏览器,是真正的“瘦”Client/Server结构体系。
3.1.2Web应用的执行过程
(1)浏览器访问Web服务器,向Web服务器提出请求,服务器给浏览器返回HTML文档;
(2)如果HTML页面中嵌入了通过〈A〉元素链接到Web.PB的超级链接,或HTML页面中嵌入了通过〈FORM〉元素对Web.PB的调用,则Web服务器调用Web.PB建立与PowerBuilder应用服务器的连接,向PowerBuilder应用服务器提出请求,PowerBuilder应用服务器处理请求,如有数据库访问的请求,则PowerBuilder应用服务器访问数据库服务器;
(3)PowerBuilder应用服务器将处理结果以HTML文档格式返回到Web服务器;
(4)Web服务器将PowerBuilder应用服务器的处理结果以HTML文档格式发布给浏览器。
3.2用Plug—ins构建Web应用
Powerbuilder6.0中包含有2种Plug—ins和1种ActiveX,即PowerBuilderWindowPlug—in、PowerBuilderDataWindowPlug—in和PowerBuilderWindowActiveX。当在HTML中嵌入WindowPlug—in或WindowActiveX,则在页面中插入了PowerBuilder中定义的窗口,相当于在浏览器客户端运行了PowerBuilder应用。如嵌入DataWindowPlug—in,则在页面中插入了PowerBuilder中定义的PSR文件。
其调用过程如下:
(1)浏览器访问Web服务器,
[1][2]下一页