我们一般所开发的数据库应用是基于client/server结构的,是两层体系结构。
1、 第一层是客户端的界面和逻辑计算,用powerbuilder 开发出的应用主要是第一层,运行于客户端。
2、 第二层是数据库和服务器组件。即安装在服务器端的数据库管理系统,应用软件在服务器端进行的操作主要是数据存储和检索。 在两层结构中会有一些逻辑计算以存储过程和触发器的形式存在服务器端,以提高系统性能,但大多数的应用逻辑是放在客户端的。
三层结构是将系统分为有三个不同的“层”:界面,逻辑计算和数据库。界面层是用户界面,数据层是服务器上的数据,逻辑计算是指程序中的计算和控制。
mis系统越来越复杂,计算和控制越来越多,客户机的负担越来越重,因此需要将逻辑计算从系统中分离出来,单独作为一层,于是就形成了三层结构。逻辑计算的软件被客户机调用,完成一定的逻辑计算,称之为应用服务器。
网络中,可以有多个应用服务器,为客户机或其它的应用服务器提供专业服务,这样,三层结构就发展成为了n层,这就是分布式计算方式。
分布式计算的优势:采用分布式计算有着多方面的技术优势,把逻辑计算封装起来。当需要动态改变一个系统的逻辑计算规则时,只要改变一个应用服务器的程序即可,这样就无需中断用户。这种多级模式对于需经常、快速改变应用程序的行业很有帮助。
powerbuilder支持分布式事务处理,而且powerbuilder开发分布式应用十分简单,只要您会使用erbuilder中的用户自定义的不可视对象,您就会很快地掌握分布式powerbuilder的开发。
在powerbuilder中,应用服务器一端的功能都是通过不可视用户对象实现的,开发人员可以将powerbuilder的自定义用户的对象放于应用服务器一侧,被称作远端对象,在客户端放置该用户对象的代理对象。此外,在服务器一侧有一个新的transport对象用于监听任何一个用户或其它应用服务器的请求,在客户端有一个connection 对象用以建立同远端对象的连接。客户端的应用程序通过connection对象连接应用服务器, 连接建立后,客户端的应用就可以象调用本地对象一样调用应用服务器上的对象函数了。
一个简单的分布式powerbuilder应用举例
一、服务器端应用
首先您需要创建一个服务器端的应用。目前所有的分布式powerbuilder服务器应用都应当运行在32位平台上(windowsnt或windows95)。
这个应用需有三个组成部分:
一、用户自定义的对象类;
二、这个对象类在服务器端的代理;
三、一个传输对象,这个传输对象并不被调用,它只是用以监听从网络上的客户一端的调用。
创建用户对象
我们首先定义一个服务器端的对象类,它的步骤如下:
1.点击用户对象图标。
2.点击new按钮。
3.在newuserobject对话框中选择class组中的custom类型。
4.在进入用户对象的设计中,选择declareuserobjectfunction菜单项。
5.点击new按钮。
6.函数起名为"of-my-message"。
7.函数的返回值为string型,无参数传递。
8.在函数的script中写入:return"helloworld"
9.关闭函数画笔,将这一用户对象存储为uo-my-object"
设置代理对象
这个代理对象在客户端当作一个类被引用,但它首先应在服务器端创建,创建代理对象的步骤如下:
1.打开刚创建的用户对象uo-my-object。
2.在用户区点击鼠标右键。
3.在弹出菜单中选择"setproxyname"。
4.在代理名称的输入域输入"uo-proxy-my-object",点击ok按钮。
5.存储"uo-my-object"对象。
这时如果您在library画笔中看当前的pbl库,您将看到新创建的代理对象。
设置传输对象
这个对象的工作方式与powerbuilder中的事务对象(transaction)很相似,它是同客户端建立连接的结构。设置过程如下:
1.声明一个全局的transport变量。
如: transportgt-transport
2.在application的open事件中写下:
gt-transport=create transport
gt-transport.driver="namedpipes"
gt-transport.location="."
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器