论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
在分布式应用中,客户能调用服务器提供的服务,通过远程对象提供,一般地,一个远程对象是一个NVO(nonvisual user object)-----不可视用户对象,包含在远程服务器上,一个客户能调用远程对象提供的功能,就好象他们被定义在本地的对象一样,也就是说,客户应用程序能调用远程的对象,与同一台计算机或另一台网络上的计算机各自执行程序完成某项功能,PowerBuiler对远程对象的调用有同步与异步调用。当同步调用时,客户等待直到服务器处理完成,当异步调用时,服务器只在自己的队列中增加一个请求队列,以后处理之,同时,客户机去做其他的事情,直到服务器处理该请求。
2.2客户端应用程序
客户端应用程序有三个组件
用户界面(user interface)
连接对象(Connection object)
远程对象的类定义(remote object class definitions)
结构图见图5
用户界面
客户应用程序包含与用户的交互,除此之外,客户包含执行脚本,对于客户采取的反应。例如,这些脚本能规定当用户点了按纽会发生什么事件等。
连接对象
该对象提供了客户应用程序连接到服务器应用程序,并要求服务.
远程对象的类定义
每个服务器应用程序的远程对象在客户应在程序中有相关的类定义。远程对象定义的本地的拷贝与服务器应在程序的定义有一个相同的名字,执行期间,本地定义的对象允许客户访问,就如远程对象实例就象在本地一样。
类定义在客户应在程序中包含了远程对象的完全或部分功能,Proxy(代理) 对象提供了远程对象界面的表示,对分布式处理,只有Proxy对象在客户应在程序是必须的。在客户应在程序中,对象透明,当你在客户应在程序利用远程对象类定义,客户端的定义与服务器端的定义一致。考虑到这两个定义有相同的名字,PowerBuiler提供了这种透明技术。用这个类定义的变量能保持本地对实例的引用。执行时,你能初始化本地的对象或远程对象,这依赖你的应用要求。 (转载自中国科教评价网www.nseac.com )
2.3通讯方式
PowerBuiler的分布式技术中支持以下几个通讯协议
Winsock
在支持TCP/IP的网络中,利用WINDOWS SOCKETS工具通讯。只要支持TCP/IP的网络都可以用该方式。
Names pipes, 通过命名的管道进行通讯。
local, 指在分布式应用程序可在本地运行。
不同的运行平台支持不同的通讯方式.
三、 应用程序举例(PowerBuiler的实例)
在客户机/服务器中,一个比较典型的例子是实现服务器推拉(Sever Push),客户机请求服务器称为