PowerBuilder分布式计算技术应 浙江学计算机系 梁荣华
浙江学计算机系 史济建
杭州电子工业学院计算机系 周力
摘: 文分析客户机服务器二级体系结构缺点足介绍客户机服务器分布式计算体系结构优点重点述分布式计算体系结构PowerBuider6中实现出具体应实例出结
关键词:客户机服务器 分布式计算 二级体系结构 三级体系结构 客户应程序 服务器应程序 引言 90年代开发MIS系统采客户机服务器结构客户机服务器结构硬件结构软件结构
数放服务器程序客户机
进行数访问时客户机提出请求(般SQL语句)服务器执行出结果
客户机服务器优化网络提高系统利率
客户机服务器体系结构发展历二级体系结构模式三级体系结构模式
1 二级体系结构模式 传统客户机服务器模式二级体系结构(Twotier model)模式
结构图图1
户界面逻辑事务驻留客户计算机部分数存放数库中数操作查询修改等客户机提出请求数库服务器完成返回客户机结果种体系结构然系统性具明显缺点: 缺乏安全性 客户机存取敏感性数时逻辑事务放服务器中户访问逻辑事务核心部分未授权户容易侵入系统安全漏洞
重客户机负荷 着客户机求处理事务数目增系统务日益繁重导致系统吞吐量降客户机满足系统求然买台更机器代旧客户机器济方面买台机器分担客户机某务
鉴提出三级体系结构模式(见图2)
2分布式计算体系结构 该模式中户界面保存客户端事务逻辑保存应服务器中数保存数库服务器中
客户机负责提供户界面需进行数访问时复杂计算时客户机应服务器发出请求应服务器响应客户机请求完成复杂计算者数库服务器发送SQL语句数库服务器完成相应数操作应服务器结果返回客户机
该模式称三级体系结构模式PowerBuilder该模式支持
需说明三级体系结构模式三级指逻辑三级(户界面事务逻辑数)物理三级
(具体见图二) 二级模式分布式计算体系结构提供解决方式分布式计算技术通户界面事务逻辑分开未授权户难侵入系统保证系统安全性时客户机处理户界面量事务处理服务器应程序实现减轻客户机负荷瘦客户成
二分布式应体系结构PowerBuidler中实现
分布式PowerBuilder 应程序典型两应程序服务器应程序客户应程序分两台机器实现
服务器客户应程序起实现事务应客户应程序处理户界面户交互服务器应程序提供客户应程序提供必数包应程序客户应程序透明
结构图见图3
服务应通常提供数包客户应程序服务器应程序身作客户应程序功换言服务器应程序作客户应程序服务器应程序连结时服务应程序作客户应程序应程序中介等
21服务器应程序 服务器应程序提供两组件:传送象(Transport object)远程象(Remote object)
传送象服务器应程序收客户连接处理客户请求
分布式应中客户调服务器提供服务通远程象提供般远程象NVO(nonvisual user object)视户象包含远程服务器客户调远程象提供功象定义象样说客户应程序调远程象台计算机台网络计算机执行程序完成某项功PowerBuiler远程象调步异步调
步调时客户等直服务器处理完成异步调时服务器队列中增加请求队列处理时客户机做事情直服务器处理该请求
22客户端应程序 客户端应程序三组件 户界面(user interface) 连接象(Connection object) 远程象类定义(remote object class definitions) 结构图见图5 户界面 客户应程序包含户交互外客户包含执行脚客户采取反应
例脚规定户点纽会发生什事件等
连接象 该象提供客户应程序连接服务器应程序求服务 远程象类定义 服务器应程序远程象客户应程序中相关类定义
远程象定义拷贝服务器应程序定义相名字执行期间定义象允许客户访问远程象实例象样
类定义客户应程序中包含远程象完全部分功Proxy(代理) 象提供远程象界面表示分布式处理Proxy象客户应程序必须
客户应程序中象透明客户应程序利远程象类定义客户端定义服务器端定义致
考虑两定义相名字PowerBuiler提供种透明技术
类定义变量保持实例引
执行时初始化象远程象赖应求
23通讯方式 PowerBuiler分布式技术中支持通讯协议 Winsock 支持TCPIP网络中利WINDOWS SOCKETS工具通讯
支持TCPIP网络该方式
Names pipes 通命名道进行通讯
local 指分布式应程序运行
运行台支持通讯方式 三 应程序举例(PowerBuiler实例) 客户机服务器中较典型例子实现服务器推拉(Sever Push)客户机请求服务器称拉服务器响应客户机请求消息发回客户机称推
例子功样客户机应程序服务器应程序发出请求(简单起见请求服务条消息)服务器应程序收消息做数处理工作完成客户机应程序返回条消息告知请求服务完成
例子代码解释:首先建立两NVOUo_Custdata Uo_response_Object Uo_response_object中户象函数Doneprocessing()该函数执行提示窗口客户机发布消息说明处理数完毕
Uo_Custdata中建立处理数函数process_data参数包含Uo_response_Object
包含该户象文件编译成proxyapbl客户应程序中包含apbl
客户机应程序中先建立connection象定义connection属性然创建 remote object(Create Instance)例子Uo_Custdata调remote object函数(process_data)服务器应程序中先建立transport象定义transport象属性然等客户提出请求(listen函数)
源程序: 客户机应程序 定义connection connection myconnect long ll_rc Create建立实例 myconnect create connection 设置Connect属性 myconnectdriver WinSock myconnectapplication 70000 myconnectlocation server01 ll_rc myconnectConnectToSe ver() IF ll_rc <> 0 THEN MessageBox(警告连结错误) END If 调remote object(服务器应程序提供) Mycustdata 服务器应程序NVO包含该user object文件编译成proxy客户应程序中包含proxypbl文件
Uo_custdata Mycustdata Uo_response_object Myresponseobject …… MyconnectcreateInstance(Mycustdata) MyresponceobjectCreateUo_response_object Mycustdatapost process_data(Myresponceobject)
户象 uo_custdata函数process_data 参数:Uo_response_objectresponceobject ……做数处理工作 客户发布消息说明处理数完毕 Responceobjectpost Doneprocessing() Uo_response_object 函数Doneprocessing Messagebox(提示处理完毕) 服务器应程序 TransPort myTransPort 建立transport象 myTransProtcreate TransPort 定义transport象属性 myTransPortDriverWinSock myTransPortapplication70000 然等客户提出请求
MyTransPortlisten() 然基般中型数库系统基WEB方式体系统结构客户应程序数库操作通应服务器程序样客户程序瘦需安装Open Client类软件外应服务器程序时运行台计算机系统安全性衡网络负载具重现实意义PowerBuilder中实现
四结 PowerBuider5已提出分布式计算技术起较烦琐表现编写ProxyPowerBuilder6 通程序直接编译成proxy功增强许分布式计算技术更方便刚出PowerBuider7更方便完善解决网络瓶颈优化网络具重现实意义
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档