AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PowerBuilder

用PowerBuilder实现多层C/S系统

51自学网 http://www.51zixue.net
  1 前言

  在实际应用中,对于一些大型应用系统来说,应用程序的业务逻辑比较复杂,如果应用系统采用了传统的客户/服务器体系结构,把业务逻辑过分集中与客户端,会使客户端负荷过重。此外一旦把一些业务逻辑有所变动,必须将所有客户端的应用程序都加以改动,这样会导致应用分发的困难,一个有效的解决方案就是将应用的逻辑结构进行合理的分布,采用N—层的体系结构。这种体系结构把客户端应用分为两部分:客户应用、服务器应用。客户应用是原来客户应用的一部分,原来的客户应用中的另一部分被移入服务器应用中,新的客户应用负责用户界面和简单固定的业务逻辑,新的服务器应用中驻留核心的易变的业务逻辑。

  2 在PowerBuilder中的分布式技术

  典型的分布式PowerBuilder应用系统由两部分构成:

  1) 服务器应用:实现事务逻辑,为客户提供服务。

  2)客户应用:建立用户界面,与用户进行交互。同时需要调用服务器提供的事务逻辑。

  其中服务器应用包括两部分:

  1) 远程对象:建立应用的事务逻辑。

  2) TRANSPORT(传输对象):用于监听客户请求。

  客户应用由三部分构成:

  1) 用户界面:与用户进行交互。

  2) PROXY对象:服务器应用在客户端的代理。

  3) CONNECTION(连接对象):用于建立与服务器应用的连接。

  分布式应用的结构及各部分之间的相互关系如下图所示:


  2.1 服务器应用

  1) 远程对象

  在分布式应用中,客户应用使用应用服务器中远程对象提供的服务。远程对象驻留在应用服务器中,含有完成事务逻辑的功能、方法,是PB中的定制类的用户对象。在分布式应用系统中,客户应用可以象使用本地对象一样调用远程对象。

  客户端可以采用两种方法调用远程对象:

  1) 同步调用

  2) 异步调用

  采用同步调用时,处理过程是同步的,客户发出请求,服务器立即响应,并进行处理。客户端在此期间任何事件不会被触发,直到服务器完成处理。

  采用异步调用时,服务器将客户调用,派入客户请求队列的末尾,客户端在此期间可以继续自己的任务,服务器的处理不会影响客户的进程。在对实时性要求不高的情况下,考虑采用此调用。

  2) TRANSPORT(传输)对象

  服务器通过传输对象接受客户的连接并处理客户向服务器的请求。传输对象必须在服务器应用程序中实例化。传输对象中包含了一系列属性,这些属性定义了关于服务器的信息。

  2.2 客户应用

  1) 用户界面

  提供与用户进行交互的场所。

  2) PROXY对象

  类似服务器应用中远程对象在客户端的映像。它具有与服务器远程对象相同的名字。

  3) CONNECTION对象

  作用是完成客户端与服务器的连接,请求服务。它同传输对象一样具有一系列属性这些属性定义了关于客户端的信息。如驱动程序等。

<

 

 

 
上一篇:PB/Sybase系统开发中的数据库转移  下一篇:树形目录在PB中的实现与应用