Untitled Document
[本站首页]
[加入收藏]
[设为首页]
 简历相关演讲范文党团工作法律文书办公文档报告范文总结范文公文写作实用文档作文指导论文大全合同书计划书
 大陆视剧港台视剧韩国视剧日本视剧影视明星电影剧情影评资讯明星资料剧照花絮华人明星写真日韩明星写真彩信集
 在线游戏笑话大全暴笑网文魔鬼词典幽默图片恐怖故事爱情故事FlashMTV谜语竞猜脑筋急转弯 - 文学 星闻 音乐 QQ库
您当前的位置:中国文网 -> 文章中心->论 文->工学论文->计算机学 -> 文章内容  
热辣专区
· 员工辞职报告范文...
· 经典毕业生自我鉴...
· 毕业自我鉴定范文...
· 你的简历能得几分...
· 辞职书(公司职员...
· 国外英文简历与国...
· 会计实习报告
· 员工离职证明表
· 计算机社会实践报...
· 高中毕业生自我鉴...
· 大学生社会实践报...
· 自我鉴定
· 毕业自我鉴定(中...
· 大学生自我鉴定2...
· 会计社会实践报告...
写真推荐
· 张含韵图片写真
· 李宇春图片写真
· 金惠秀图片写真
· 刘亦菲图片写真
· 金南珠图片写真
· 刘若英图片写真
· 陈好图片写真
· 金贤珠图片写真
· 郭德纲相声
· 金荷娜图片写真
· 车仁表
· 刘晓庆
· 陈法蓉
· 金敏喜图片写真
· Diva图片写真
· 菊地理惠图片写真
· 金泽文子图片写真
· 金素妍图片写真
· 山田孝之图片写真
· 陈宝莲
相关文章
· 灵魂力量(BRAIN POW...
· 优秀简历的六个秘诀...
· 数字控制可变增益放...
· POWER气化炉故障分析...
· 浅谈数据通信及其应...
· 关于CD-ROM媒体教材...
· PowerBuilder和MapI...
PowerBuilder的分布式计算技术及其应用
发布时间:2005-12-8 16:22:04 
 
中国文档网http://www.86wd.com

摘要: 本文分析了客户机/服务器的二级体系结构缺点与不足,介绍了客户机/服务器的分布式计算体系结构的优点,重点论述了分布式计算体系结构在PowerBuider6中的实现,并给出了具体的应用实例,最后给出了结论。

关键词:客户机/服务器 分布式计算 二级体系结构 三级体系结构 客户应用程序 服务器应用程序

引言
90年代,人们开发MIS系统大都采用客户机/服务器结构,客户机/服务器结构既是硬件结构又是软件结构。即数据放在服务器上,程序在客户机上。进行数据访问时,由客户机提出请求(一般是SQL语句),服务器执行并给出结果。客户机/服务器对于优化了网络,提高了系统的利用率。客户机/服务器体系结构的发展经历了从二级体系结构模式到三级体系结构模式。

1 二级体系结构模式

传统的客户机/服务器的模式是二级体系结构(Two-tier model)模式。结构图如图1

用户界面与逻辑事务驻留在客户计算机上,将大部分的数据存放在数据库中,对数据的操作如查询、修改等由客户机提出请求,数据库服务器完成并返回给客户机结果,这种体系结构虽然可以系统的性能,但它们具有明显的缺点:

缺乏安全性
在客户机上存取敏感性数据时,由于逻辑事务放在服务器中,所以用户可以访问逻辑事务的核心部分,这使得未授权用户容易侵入系统,有安全漏洞。

重的客户机负荷
随着客户机要求处理的事务的数目增多,系统的任务日益繁重,导致系统的吞吐量下降,使得客户机不能满足系统的要求,当然可以买一台更大的机器来替代旧的客户机器,但在经济方面不如买一台机器来分担客户机的某些任务。

鉴于此,人们提出了三级体系结构模式(见图2)。

2分布式计算体系结构

在该模式中,用户界面保存在客户端,事务逻辑保存在应用服务器中,数据保存在数据库服务器中。客户机只负责提供用户界面,当需要进行数据访问时或复杂计算时,客户机向应用服务器发出请求,应用服务器响应客户机的请求,完成复杂的计算或者向数据库服务器发送SQL语句由数据库服务器完成相应的数据操作,最后由应用服务器将结果返回给客户机。该模式也称三级体系结构模式,PowerBuilder对于该模式是支持的。需要说明的是,三级体系结构模式的三级是指逻辑上的三级(即用户界面、事务逻辑、数据)而不是物理的三级。(具体见图二)

对于二级模式,分布式计算体系结构提供了解决方式,分布式计算技术通过将用户界面与事务逻辑分开,这使得未授权用户很难侵入系统,保证了系统的安全性;同时由于客户机只处理用户界面,大量的事务处理在服务器应用程序实现,大大减轻了客户机的负荷,使瘦客户成为可能。

二、分布式应用的体系结构在PowerBuidler中的实现

分布式PowerBuilder 应用程序典型使用两个应用程序,即服务器应用程序和客户应用程序,分别在两台机器上实现。

服务器与客户应用程序一起实现事务应用,客户应用程序处理用户界面,与用户交互,服务器应用程序提供给客户应用程序提供必要的数据包,应用程序对客户应用程序透明。结构图见图3。

尽管服务应用通常提供数据包给客户应用程序,但服务器应用程序本身也可以作客户应用程序功能,换言之,服务器应用程序能作为客户应用程序与另一服务器应用程序连结,这时,这个服务应用程序作为客户应用程序与另一应用程序的中介等。

2.1服务器应用程序

服务器应用程序提供了两个主要的组件:传送对象(Transport object)、远程对象(Remote object)。


传送对象使之能为服务器应用程序收到客户连接并处理客户请求。

在分布式应用中,客户能调用服务器提供的服务,通过远程对象提供,一般地,一个远程对象是一个NVO(nonvisual user object)-----不可视用户对象,包含在远程服务器上,一个客户能调用远程对象提供的功能,就好象他们被定义在本地的对象一样,也就是说,客户应用程序能调用远程的对象,与同一台计算机或另一台网络上的计算机各自执行程序完成某项功能,PowerBuiler对远程对象的调用有同步与异步调用。当同步调用时,客户等待直到服务器处理完成,当异步调用时,服务器只在自己的队列中增加一个请求队列,以后处理之,同时,客户机去做其他的事情,直到服务器处理该请求。

2.2客户端应用程序

客户端应用程序有三个组件

用户界面(user interface)
连接对象(Connection object)
远程对象的类定义(remote object class definitions)
结构图见图5

用户界面
客户应用程序包含与用户的交互,除此之外,客户包含执行脚本,对于客户采取的反应。例如,这些脚本能规定当用户点了按纽会发生什么事件等。

连接对象
该对象提供了客户应用程序连接到服务器应用程序,并要求服务.

远程对象的类定义
每个服务器应用程序的远程对象在客户应在程序中有相关的类定义。远程对象定义的本地的拷贝与服务器应在程序的定义有一个相同的名字,执行期间,本地定义的对象允许客户访问,就如远程对象实例就象在本地一样。

类定义在客户应在程序中包含了远程对象的完全或部分功能,Proxy(代理) 对象提供了远程对象界面的表示,对分布式处理,只有Proxy对象在客户应在程序是必须的。在客户应在程序中,对象透明,当你在客户应在程序利用远程对象类定义,客户端的定义与服务器端的定义一致。考虑到这两个定义有相同的名字,PowerBuiler提供了这种透明技术。用这个类定义的变量能保持本地对实例的引用。执行时,你能初始化本地的对象或远程对象,这依赖你的应用要求。

2.3通讯方式

PowerBuiler的分布式技术中支持以下几个通讯协议

Winsock
在支持TCP/IP的网络中,利用WINDOWS SOCKETS工具通讯。只要支持TCP/IP的网络都可以用该方式。

Names pipes, 通过命名的管道进行通讯。
local, 指在分布式应用程序可在本地运行。
不同的运行平台支持不同的通讯方式.

三、 应用程序举例(PowerBuiler的实例)

在客户机/服务器中,一个比较典型的例子是实现服务器推拉(Sever Push),客户机请求服务器称为拉,服务器响应客户机请求并将消息发回给客户机称为推。

本例子功能是这样的,由客户机应用程序向服务器应用程序发出请求(为简单起见,请求服务是一条消息),服务器应用程序收到消息后,做一些数据处理或其他的工作,完成之后,给客户机应用程序返回一条消息告知请求服务完成。

本例子代码解释如下:首先建立即两个NVO,一个是Uo_Custdata, 一个是Uo_response_Object, 在 Uo_response_object中,有一个用户对象函数Doneprocessing(),该函数执行一个提示窗口,给客户机发布消息,说明处理数据完毕。在Uo_Custdata中建立一个处理数据的函数process_data,其参数包含Uo_response_Object。将包含该用户对象的文件编译成proxy,如a.pbl在客户应用程序中包含a.pbl即可。在客户机应用程序中,先建立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属性

myconnect.driver = "WinSock"

myconnect.application = "70000"

myconnect.location = "server01"

ll_rc = myconnect.ConnectToSe ver()

IF ll_rc <> 0 THEN MessageBox(“警告”,"连结错误")

END If

// 调用remote object(服务器应用程序提供)

// Mycustdata 是服务器应用程序的NVO,将包含该user object的文件编译成//proxy,在客户应用程序中包含proxy的pbl文件。

Uo_custdata Mycustdata

Uo_response_object Myresponseobject

…….

Myconnect.createInstance(Mycustdata)

Myresponceobject=Create.Uo_response_object

Mycustdata.post process_data(Myresponceobject)

// ---------用户对象

// uo_custdata的函数process_data

参数:Uo_response_object.responceobject

…….//做一些数据处理的工作


给客户发布消息,说明处理数据完毕

Responceobject.post Doneprocessing()

// Uo_response_object 的函数Doneprocessing

Messagebox(“提示”,“处理完毕”);

//----------服务器应用程序

TransPort myTransPort

//建立transport对象

myTransProt=create TransPort

//定义transport对象的属性,

myTransPort.Driver='WinSock'

myTransPort.application='70000'

//然后等待客户提出请求。

MyTransPort.listen()

当然,在基于一般中大型数据库系统,基于WEB方式体系统结构,客户应用程序对于数据库的操作都可以用通过应用服务器程序,这样客户程序就很瘦了,不需要安装如Open Client之类的软件;另外,应用服务器程序可同时运行在几台计算机上,它对于系统的安全性,平衡网络负载都具有重要的现实意义,在PowerBuilder中都是能实现的。

四、结论

PowerBuider5就已经提出了分布式计算技术,但使用起来较为烦琐,这主要表现在编写Proxy,PowerBuilder6 通过程序直接编译成proxy,并且功能增强了许多,使分布式计算技术更为方便,刚出来的PowerBuider7更为方便、完善,这对于解决网络瓶颈,优化网络具有重大的现实意义。

[参考文献]

1.Simmon Gallegher 、simmon Herbert 《PowerBuilder6.0程序设计大全》 机械工业出版社 1998、8

2.钟虎林等新一代客户机/服务器体系结构计算机系统应用 1998第一期

3.Paul E.Renaud 《客户机/服务器系统入门必读》电子工业出版社 1995、6

4、Application Techniques------PowerBuider version6Document number AA0518 SYBASE 1997.10

5 、汤子瀛等 《计算机实用网络技术教程》杭州大学出版社 1998.8

6 、黄允聪等《网络安全基础》清华大学出版社 1999.2



中国文档网http://www.86wd.com[返回上一页] [打 印] [收 藏]
 
 名星写真:       华人明星 日韩明星 卡通明星 明星资料 网络明星
 相关推荐:
· [华人明星] 陈好图片写真
· [华人明星] 李南星图片写真
· [商务策划] 关爱在金秋---金太阳健康之声大型联谊会
· [贺词慰问] 展翅鲲鹏风正举 龙腾金海恰逢时--新学年校长讲话
· [党员心得体会] 纪律教育学习月活动心得体会(电信)
· [节日礼仪] 圣诞红酒选品购全攻略
· [饮食礼仪] 传统饮茶礼仪:敬茶时只沏八分满
· [涉外礼仪] 在荷兰应遵守的商业礼仪
· [职场礼仪] 春节独生子女夫妻该回谁家
· [职场礼仪] 世界各国形形色色的“母亲节”
· [自我鉴定] 毕业生自我鉴定范文(营销专业)
· [入团申请] 入团申请书格式范文
· [规章制度] 公司人事管理制度
· [辞职报告] 辞职申请书的适用范围和分类
· [实习报告] 市场营销系2004年毕业实习总结报告
· [求职简历] 求职简历成繁历 到底何种简历受公司欢迎
· [班主任工作总结] 生物教研组工作总结范文
· [竞职演讲] 加强科研管理 实施创造教育
· [写作辅导] 旅游应用文写作导学
· [传统节日] 元宵节的由来与传说
· [民俗风情] 重阳节习俗
· [情况汇报] 通河县旅游开发工作情况汇报
· [求职简历] 求职信范文
· [非诉讼法律文书] 计算机软件许可证协议书(与最终用户直接签订)
· [园林景观论文] 园林建筑师手记(园林设计的一些常识)
 

中国文档网版权申明:本站资源为网上搜集、网友提供等,如果某种资源涉及或侵害到您的版权请立即写信通知我们。 除部分特别声明不要转载,或者授权我站独家播发的文档外,大家可以自由转载我站点的文档,但原作者和来自我站的链接必须保留。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:
由于本站数据庞大,故不能保证站内所有信息的完整性,如您发现有不完整的信息请留言我们,我们尽量第一时间内补充!
 

关于本站
- 广告合作 - 版权声明 - 友情连接 - 网站地图 - 本站留言

Copyright © 2006 All Rights Reserved www.86Wd.com 皖ICP备05013385号