| 网站首页 | 新闻快报 | 软件教程 | 硬件教程 | 设计学院 | Q Q 专区 | 编程开发 | 网络安全 | 
您现在的位置: 浩扬网络 >> 编程开发 >> PB编程 >> 教程正文
第十七章 创建一个分布式程序(图)
作者:不详 文章来源:安全中国 点击数: 更新时间:2006-8-4 23:25:27

171 创建分布式程序

172 Nonvisual Object Proxy Object

174 NVO 移到Server

175 创建Server 界面

176 实现分布式计算

17.1 创建分布式程序

上几章中,我们介绍了PowerBuilder分布式计算的基本概念,在接下来的章节中,我们将做一个简单的分布式程序。我们来看一下一个已经存在的应用程序,然后将做成的分布式运行的程序。

单击Library按钮,打开一个名为Clients的库,单击Clients应用对象。按Run按钮(图17-1)。

图17-1

这是一个商品预定程序,所预定的是个人电脑配件。这是一些电脑常用配件名,旁边所列的配件的价格,这些价格来自电脑分销商的远程数据库。分销商将定期更改这些数据库中的价格表。最后的分销商给购买者折扣。与电脑配件不同的是,折扣值的是不公开的,分销商将给予不同的购买用户以不同的折扣,折扣的计算方法是秘密的,并且不断变化。

因此,我们想把电脑预定程序做成一个分布式运行的程序,让计算折扣的程序运行在我们的服务器中,这样做的目的一方面是保密,另一方面,在分销商更改折扣算法时,只需更服务端程序,而不用更改在客户端中的电脑预定程序。

第一步,我们所做的是将折扣计算模块生成一个非可视对象NVO。

单击用户对象按钮,按NEW,然后选择Class框中的Custom按钮,系统出现一个用户对象窗口。我们可以注意到窗口的标题栏中有一句话为:Inherited from Nonvisual Object,它说明我们所创建的对象正是NVO。接着我们为NVO定义一个函数。打开Declare菜单中User Object Functions,按NEW按钮,这样就打开了函数定义窗口(图17-2)。这个函数名为GetDiscount,它需要有一个参数为Custom Name(用户名),类型为。字符串型。

 

图17-2

这就是我们的折扣函数。假若用户名为Mohair,则我们给予九折,否则,给九五折。实际函数可能不会这么简单,这里只是一个例子。关闭函数定义窗口,存盘。把这个NVO对象取名为Cnvo_discount

下面我们来生成非可视对象Cnvo_discount的代理对象。在用户对象画板上按右键,选中弹出式菜单的set proxy name,取名为Cpo_discount(图16-3)。在File菜单中选择Save,这样就生成了一个为名为Cpo_discount的代理对象。我们可以在Library画板检查一下,PowerBuilder是否真地生成了这个对象。注意,我们是在篇File菜单中选择Save后生成了这个对象的,如果不将之保存,那么,我们只是为这个NVO设置了一个属性,并未生成代理对象。现在,我们已有了两类对象,一个是非可视对象Cnvo_discount,它是折扣计算程序的真正实现的地方,一个完整的对象。另一个是名为Cpo_discount的代理对象,它定义了前者的接口。我们试用鼠标的右键,来编辑这个对象,可以发现,系统并不允许进行编辑,因为它并不是一真实的对象。

图17-3

【教程录入:残梦    责任编辑:残梦 】
发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
网友评论:(评论内容只代表网友观点,与浩扬网络立场无关!)
热门文章

赞助商


| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 |