您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > PB > 正文
PB环境下分布式应用程序的开发
[文章信息]
作者:郑华
时间:2003-06-05
出处:yesky
责任编辑:方舟
[文章导读]
本文将介绍如何应用PowerBuilder进行分布式应用程序的开发
advertisement
热点推荐
· 11.15软件精选 制作MSI文件
· 闪客五周年之闪客光荣榜
· 用Winamp“品尝”无限音乐
· 网络加、解密的技术应用
· 闪客五周年之闪客光荣榜:zoron
[正文]

1 2  下一页

  【内容提要】传统的数据库应用程序经常采用客户机/服务器结构(即C/S结构),这种结构在技术上已经很成熟了并且应用也很广泛,但这种结构的应用系统有其不足之处,比如查询结果无法共享,即使两个客户发出的请求完全相同也要在服务器上执行两次查询;在客户端存储了具有商业价值的查询算法;数据库服务器负担过重导致效率低下等。如果在服务器和客户机之间再加一个服务器,专门用于存储查询算法和临时查询结果,则问题就得到了很好的解决:一方面不同的客户可以共用临时的查询结果而无须再访问数据库服务器,减轻了服务器的负担;同时在客户端也看不到作为商业机密的查询算法。这就是分布式系统的工作原理,本文将介绍如何应用PowerBuilder进行分布式应用程序的开发。

  一、分布式应用程序概述

  分布式系统的出现源于传统的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的函数了。


1 2  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • PB/Sybase系统开发中的数据库转移
  • 11.15软件精选 制作MSI文件
  • 闪客五周年之闪客光荣榜
  • 兰欣推出我国第一款网络游戏专用音箱
  • 玩家发现117亡灵种族Bug
  • [配置推荐]极品HIFI配置
  • 东瀛美少女COSPLAY(55)
  • 用Winamp“品尝”无限音乐
  • 迷你型PStwo全面透析专题
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索