- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PB环境下分布式应用程序的开发
一、分布式应用程序概述
分布式系统的出现源于传统的C/S结构的若干弊病,如效率低,安全性差等,结合到数据库方面来说,全球的DNS(域名解析系统)系统是一个很典型的例子,试想如果把全世界所有的域名都集中到一台服务器中来进行管理,那服务器肯定会因负载过重而无法正常工作,整个互联网也就瘫痪了。
在编写C/S结构的数据库应用系统时,同样也会遇到这类问题,那就是如果客户数量很多,数据量又都很大的情况下,服务器的负载就会很重,而且重复性工作很多,因为很多客户发出的查询可能完全相同而服务器却需要一一进行查询;同时查询算法存储于客户端,这可能不适合一些商业环境,因为算法本身可能是需要保密的。如果能够在传统的服务器和客户机之间再加一个服务器用于存储查询算法和临时查询结果,则以上问题均得到了解决。这正是分布式系统的工作原理。
二、在PB环境下如何进行分布式应用程序的开发
下图是分布式系统的工作原理图:
图(一)
首先,分布式服务器必须建立与数据库服务器的连接,可以通过ODBC接口来实现,本文不在叙述,下面要讲述客户端如何通过分布式服务器来访问数据。
在PB环境下要实现分布式的编程,首先在DTS端,需要用到两个对象,一个TransPort对象和一个不可视的用户对象(Classà Custom,Nonvisible Object,以下简称NVO),其中TransPort对象用于响应客户端的连接请求,NVO对象用于和客户端进行实际的数据传输。在客户端也需要用到两个对象,分别是Connection对象和代理对象(NVO-Proxy),其中Connection对象用于建立到DTS的连接,NVO-Proxy 实际上是与NVO一一对应的,它只是NVO的一个代理,在客户端通过此代理对象来调用NVO的函数来实现相关功能。
以下是TransPort对象和Connection对象的常用属性及方法:
1、TransPort对象
属性:
Driver:可选的值有四个,分别是WinSock、NamedPipes、OpenClientServer和Local,由于Winsock的通用性,一般情况下都选择Winsock。
Application:对于Winsock而言指的是端口号,用户可以任意指定,但必须大于4096。
方法:
Listen():其调用方法是transport.Listen(),即开始监听,如果调用成功则返回0。
StopListening():其调用方法是transport.StopListening(),即结束监听,如果调用成功则返回0。
2、Connection对象
属性:
Driver:与Transport对象相同
Application:与Transport对象相同,但要注意两者必须一致。
Location:DTS的IP地址
方法:
ConnectToServer():其调用方法是connection.ConnectToServer(),即连接DTS,如果调用成功则返回0,显然在调用该函数之前,DTS必须处于监听状态。
DisconnectServer():其调用方法是connection.DisconnectServer ( ),即断开与DTS的连接。
CreateInstance():其调用方法是connection.CreateInstance(variable),即建立一个NVO的代理以便调用NVO的相关函数。注意在调用该函数之前,必须保证客户端已经与DTS建立了连接。
对于NVO和NVO-Proxy对象,在DTS中建好NVO后,为了在客户端设置其代理,可以先在DTS中设置本地代理,然后将此代理输出到客户端。具体设置方法如下:在PB的用户对象画板中,在用户对象上点击鼠标右健,选择Set Proxy Name,输入代理对象的名称并存盘,打开PB的Library画板,找到刚才保存的代理对象,点击鼠标右健并选择Export…将此代理对象保存成文件,最后在客户端将此文件导入即可。导入以后,在客户端就可以通过此代理对象来调用NVO的函数了。
三、实例
先看如下两个图,图二表示DTS端,图三表示Client端。其中DTS已经建立了与数据库服务器的连接,数据窗口中显示的是所有的数据;Client并没有数据库接口,而是通过DTS间接的访问数据,在数据窗口中显示的是所有男性职工。
图(二)
图(三)
该程序的大部分源代码如下:
DTS端:
1、首先定义一个全局变量:Transport mytrans;
2、在开始监听按钮中输入如下代码:
long ll
mytrans=create transport
mytrans.driver=wins
您可能关注的文档
- YGh014-F7内部培训师管理办法.doc
- 《医院会计制度》l详解(四).doc
- 《保险会计》教学大纲(会1计专业本科).doc
- Optima ICP 光谱仪操作规程-详M细 方法建立.doc
- YGWY-XCWD-003-NBC应用个部署系统 产品简介.doc
- 《园件林生态学》课程讲义.doc
- 《促销员职个业化训练》课程内容摘要.doc
- 《园艺植物种子2生产》技能训练大纲.doc
- Op件enCV VS架构-算法及应用.doc
- 《员工培训与开发》第09章在线中测试.docx
- 《GA/T 2167-2024移民管理机构对外窗口设置规范》.pdf
- 中国行业标准 GA/T 2167-2024移民管理机构对外窗口设置规范.pdf
- GA/T 2167-2024移民管理机构对外窗口设置规范.pdf
- 《GA/T 2182-2024信息安全技术 关键信息基础设施安全测评要求》.pdf
- 中国行业标准 GA/T 2182-2024信息安全技术 关键信息基础设施安全测评要求.pdf
- GA/T 2182-2024信息安全技术 关键信息基础设施安全测评要求.pdf
- 2024-2025学年保险职业学院《形势与政策》期末考试考前冲刺测试卷及参考答案详解【培优】.docx
- 2024-2025学年度贵州工商职业学院《形势与政策》期末考试练习题一套附答案详解.docx
- 2024-2025学年度山西财贸职业技术学院《形势与政策》期末考试考前冲刺练习含答案详解(夺分金卷).docx
- 2024-2025学年安顺职业技术学院《形势与政策》期末考试考前冲刺测试卷【达标题】附答案详解.docx
文档评论(0)