PowerBuilder的分布式计算技术及其应用

上传人:新** 文档编号:513070061 上传时间:2023-03-05 格式:DOC 页数:7 大小:21.50KB
返回 下载 相关 举报
PowerBuilder的分布式计算技术及其应用_第1页
第1页 / 共7页
PowerBuilder的分布式计算技术及其应用_第2页
第2页 / 共7页
PowerBuilder的分布式计算技术及其应用_第3页
第3页 / 共7页
PowerBuilder的分布式计算技术及其应用_第4页
第4页 / 共7页
PowerBuilder的分布式计算技术及其应用_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《PowerBuilder的分布式计算技术及其应用》由会员分享,可在线阅读,更多相关《PowerBuilder的分布式计算技术及其应用(7页珍藏版)》请在金锄头文库上搜索。

1、PowerBuilder的分布式计算技术及其应用PerBuilder的分布式计算技术及其应用浙江大学计算机系梁荣华浙江大学计算机系史济建杭州电子工业学院计算机系周其力摘要:本文分析了客户机/效劳器的二级体系构造缺点与缺乏,介绍了客户机/效劳器的分布式计算体系构造的优点,重点阐述了分布式计算体系构造在PerBuider6中的实现,并给出了详细的应用实例,最后给出了结论。关键词:客户机/效劳器分布式计算二级体系构造三级体系构造客户应用程序效劳器应用程序引言90年代,人们开发IS系统大都采用客户机/效劳器构造,客户机/效劳器构造既是硬件构造又是软件构造。即数据放在效劳器上,程序在客户机上。进展数据访

2、问时,由客户机提出恳求一般是SQL语句,效劳器执行并给出结果。客户机/效劳器对于优化了网络,进步了系统的利用率。客户机/效劳器体系构造的开展经历了从二级体系构造形式到三级体系构造形式。1二级体系构造形式传统的客户机/效劳器的形式是二级体系构造(T-tierdel)形式。构造图如图1用户界面与逻辑事务驻留在客户计算机上,将大局部的数据存放在数据库中,对数据的操作如查询、修改等由客户机提出恳求,数据库效劳器完成并返回给客户机结果,这种体系构造虽然可以系统的性能,但它们具有明显的缺点:缺乏平安性在客户机上存取敏感性数据时,由于逻辑事务放在效劳器中,所以用户可以访问逻辑事务的核心局部,这使得未受权用户

3、容易侵入系统,有平安破绽。重的客户机负荷随着客户机要求处理的事务的数目增多,系统的任务日益繁重,导致系统的吞吐量下降,使得客户机不能满足系统的要求,当然可以买一台更大的机器来替代旧的客户机器,但在经济方面不如买一台机器来分担客户机的某些任务。鉴于此,人们提出了三级体系构造形式(见图2)。2分布式计算体系构造在该形式中,用户界面保存在客户端,事务逻辑保存在应用效劳器中,数据保存在数据库效劳器中。客户机只负责提供用户界面,当需要进展数据访问时或复杂计算时,客户机向应用效劳器发出恳求,应用效劳器响应客户机的恳求,完成复杂的计算或者向数据库效劳器发送SQL语句由数据库效劳器完成相应的数据操作,最后由应

4、用效劳器将结果返回给客户机。该形式也称三级体系构造形式,PerBuilder对于该形式是支持的。需要说明的是,三级体系构造形式的三级是指逻辑上的三级即用户界面、事务逻辑、数据而不是物理的三级。详细见图二对于二级形式,分布式计算体系构造提供理解决方式,分布式计算技术通过将用户界面与事务逻辑分开,这使得未受权用户很难侵入系统,保证了系统的平安性;同时由于客户机只处理用户界面,大量的事务处理在效劳器应用程序实现,大大减轻了客户机的负荷,使瘦客户成为可能。二、分布式应用的体系构造在PerBuidler中的实现分布式PerBuilder应用程序典型使用两个应用程序,即效劳器应用程序和客户应用程序,分别在

5、两台机器上实现。效劳器与客户应用程序一起实现事务应用,客户应用程序处理用户界面,与用户交互,效劳器应用程序提供应客户应用程序提供必要的数据包,应用程序对客户应用程序透明。构造图见图3。尽管效劳应用通常提供数据包给客户应用程序,但效劳器应用程序本身也可以作客户应用程序功能,换言之,效劳器应用程序能作为客户应用程序与另一效劳器应用程序连结,这时,这个效劳应用程序作为客户应用程序与另一应用程序的中介等。2.1效劳器应用程序效劳器应用程序提供了两个主要的组件:传送对象Transprtbjet、远程对象Retebjet。传送对象使之能为效劳器应用程序收到客户连接并处理客户恳求。在分布式应用中,客户能调用

6、效劳器提供的效劳,通过远程对象提供,一般地,一个远程对象是一个NV(nnvisualuserbjet)-不可视用户对象,包含在远程效劳器上,一个客户能调用远程对象提供的功能,就好象他们被定义在本地的对象一样,也就是说,客户应用程序能调用远程的对象,与同一台计算机或另一台网络上的计算机各自执行程序完成某项功能,PerBuiler对远程对象的调用有同步与异步调用。当同步调用时,客户等待直到效劳器处理完成,当异步调用时,效劳器只在自己的队列中增加一个恳求队列,以后处理之,同时,客户机去做其他的事情,直到效劳器处理该恳求。2.2客户端应用程序客户端应用程序有三个组件用户界面(userinterfae)

7、连接对象nnetinbjet远程对象的类定义(retebjetlassdefinitins)构造图见图5用户界面客户应用程序包含与用户的交互,除此之外,客户包含执行脚本,对于客户采取的反响。例如,这些脚本能规定当用户点了按纽会发生什么事件等。连接对象该对象提供了客户应用程序连接到效劳器应用程序,并要求效劳.远程对象的类定义每个效劳器应用程序的远程对象在客户应在程序中有相关的类定义。远程对象定义的本地的拷贝与效劳器应在程序的定义有一个一样的名字,执行期间,本地定义的对象允许客户访问,就如远程对象实例就象在本地一样。类定义在客户应在程序中包含了远程对象的完全或局部功能,Prxy代理对象提供了远程对

8、象界面的表示,对分布式处理,只有Prxy对象在客户应在程序是必须的。在客户应在程序中,对象透明,当你在客户应在程序利用远程对象类定义,客户端的定义与效劳器端的定义一致。考虑到这两个定义有一样的名字,PerBuiler提供了这种透明技术。用这个类定义的变量能保持本地对实例的引用。执行时,你能初始化本地的对象或远程对象,这依赖你的应用要求。2.3通讯方式PerBuiler的分布式技术中支持以下几个通讯协议insk在支持TP/IP的网络中,利用INDSSKETS工具通讯。只要支持TP/IP的网络都可以用该方式。Naespipes,通过命名的管道进展通讯。lal,指在分布式应用程序可在本地运行。不同的

9、运行平台支持不同的通讯方式.三、应用程序举例PerBuiler的实例在客户机/效劳器中,一个比拟典型的例子是实现效劳器推拉SeverPush,客户机恳求效劳器称为拉,效劳器响应客户机恳求并将消息发回给客户机称为推。本例子功能是这样的,由客户机应用程序向效劳器应用程序发出恳求为简单起见,恳求效劳是一条消息,效劳器应用程序收到消息后,做一些数据处理或其他的工作,完成之后,给客户机应用程序返回一条消息告知恳求效劳完成。本例子代码解释如下:首先建立即两个NV,一个是U_ustdata,一个是U_respnse_bjet,在U_respnse_bjet中,有一个用户对象函数Dnepressing(),该

10、函数执行一个提示窗口,给客户机发布消息,说明处理数据完毕。在U_ustdata中建立一个处理数据的函数press_data,其参数包含U_respnse_bjet。将包含该用户对象的文件编译成prxy,如a.pbl在客户应用程序中包含a.pbl即可。在客户机应用程序中,先建立nnetin对象,定义nnetin的属性,然后创立retebjet用reateInstane,本例子是U_ustdata,再调用retebjet的一个函数也就是press_data;在效劳器应用程序中,先建立transprt对象,定义transprt对象的属性,然后等待客户提出恳求用listen函数。源程序如下:/-客户机

11、应用程序/定义nnetinnnetinynnetlngll_r/用reate建立实例ynnet=reatennetin/设置nnet属性ynnet.driver=inSkynnet.appliatin=70000ynnet.latin=server01ll_r=ynnet.nnetTSever()IFll_r0THENessageBx(“警告,连结错误)ENDIf/调用retebjet(效劳器应用程序提供)/yustdata是效劳器应用程序的NV,将包含该userbjet的文件编译成/prxy,在客户应用程序中包含prxy的pbl文件。U_ustdatayustdataU_respnse_bj

12、etyrespnsebjet.ynnet.reatEinstane(yustdata)yrespnebjet=reate.U_respnse_bjetyustdata.pstpress_data(yrespnebjet)/-用户对象/u_ustdata的函数press_data参数:U_respnse_bjet.respnebjet./做一些数据处理的工作给客户发布消息,说明处理数据完毕Respnebjet.pstDnepressing()/U_respnse_bjet的函数Dnepressingessagebx(“提示,“处理完毕);/-效劳器应用程序TransPrtyTransPrt/建立

13、transprt对象yTransPrt=reateTransPrt/定义transprt对象的属性,yTransPrt.Driver=inSkyTransPrt.appliatin=70000/然后等待客户提出恳求。yTransPrt.listen()当然,在基于一般中大型数据库系统,基于EB方式体系统构造,客户应用程序对于数据库的操作都可以用通过应用效劳器程序,这样客户程序就很瘦了,不需要安装如penlient之类的软件;另外,应用效劳器程序可同时运行在几台计算机上,它对于系统的平安性,平衡网络负载都具有重要的现实意义,在PerBuilder中都是能实现的。四、结论PerBuider5就已经

14、提出了分布式计算技术,但使用起来较为烦琐,这主要表如今编写Prxy,PerBuilder6通过程序直接编译成prxy,并且功能增强了许多,使分布式计算技术更为方便,刚出来的PerBuider更为方便、完善,这对于解决网络瓶颈,优化网络具有重大的现实意义。参考文献1.SinGallegher、sinHerbert?PerBuilder6.0程序设计大全?机械工业出版社1998、82.钟虎林等新一代客户机/效劳器体系构造计算机系统应用1998第一期3.PaulE.Renaud?客户机/效劳器系统入门必读?电子工业出版社1995、64、AppliatinTehniques-PerBuiderversin6DuentnuberAA0518SYBASE1997.105、汤子瀛等?计算机实用网络技术教程?杭州大学出版社1998.86、黄允聪等?网络平安基捶清华大学出版社19992

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号