用pb实现多层C/S系统

1 前言

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

2 在pb中的分布式技术

典型的分布式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对象

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

时间: 2025-01-12 02:46:20

用pb实现多层C/S系统的相关文章

用ASP.NET编写多层架构的系统

asp.net|架构   千万不要被标题吓倒,其实很简单.不然只能一辈子写面条式的程序了.特别是ASP程序员大多写都是3 IN 1 (超白金版:P)的程序,勉强能写成分层式的也是高手中的高手,这种大虾估计早就转型当系统分析员了. 一般来说系统大多分为三层(据说分三层很好):用户层.逻辑层.数据层.也可能不叫这几个名字,但是不管怎么说功能大体应该一样.说到功能请看下面 用户层:就是主要与用户打交道,也就是用户界面.什么输入框啊.提示信息啊的都在上面.因为用户对于系统而言都是foolish用户(不是

Windows7系统五大亮点

  1.性能更稳定 在开发Windows7过程中,微软采用了全新的软件开发流程,并经过了广泛的软件测试推出了众多的测试版本.并且现在已经具有更加稳定的Windows7 SP1,可以让系统在运行过程中更加稳定. 2.兼容性更完善 在Windows7开发和测试过程中,绝大多数软硬件厂商已基于Windows 7平台进行了充分的产品测试,并且推出了针对Windows7的软件版本,在Windows7系统上已能够很好的运行,这就为其推出的软件产品在Windows7平台上良好运行提供了保障. 3.配置要求低

用C#开发局域网内运行的小型MIS系统

问题描述 最近在帮朋友开发一个局域网内使用的小MIS,系统包括多个客户端,数据库采用SQL2000,系统结构分了三层:数据访问,UI,商业逻辑.以前曾经使用PB,Delphi开发类似的系统,记忆最深的是面对对象概念很弱,而且代码不易维护,访问数据库很频繁.这次想使用基于OO的思想采用C#开发,在前期设计时解决了以前的两种问题,但数据库的访问依然很频繁,我接触C#时间不长,希望各位针对C#开发小的MIS系统能给些建议,比如,设计时为避免频繁的访问数据库,对于每个商业逻辑类都含有有一个静态dicti

双11黑科技,阿里百万级服务器自动化运维系统StarAgent揭秘

导读:还记得那些年我们半夜爬起来重启服务器的黑暗历史吗?双11期间,阿里巴巴百万量级主机管理能安全.稳定.高效,如丝般顺滑是如何做到的?阿里巴巴运维中台技术专家宋意,首次直播揭秘阿里IT运维的基础设施StarAgent,详细分析StarAgent是如何支持百万级规模服务器管控?如何像生活中的水电煤一样,做好阿里运维的基础设施平台? 嘉宾介绍 宋健(宋意):阿里巴巴运维中台技术专家.工作10年一直专注在运维领域,对于大规模运维体系.自动化运维有着深刻的理解与实践.2010年加入阿里巴巴,目前负责基

编程中几个不良现象

然而我们有的程序员在维护旧代码的过程,就仿佛如果遛狗.每修改一个程序就留下一些隐患,结果弄的一个原本好好的代码到处都是隐患. 良好的编程习惯是每个程序员都应该具备的工作素质,在我的软件生涯中屡屡发现一些程序员的身上总有这样或者那样的坏毛病,这些毛病在一些从业时间不是很长的程序员的身上表现的特别突出. 1. 搭棚子 搭棚子顾名思义就是拿到一个任务的时候,既不做更详细的需求分析,也不作详细设计,一开始就打开编程工具,噼里啪啦的定义了一堆的模块,我不说是定义类,是因为这样代码里根本就找不到对象,然后就

程序员编程工作应该避免的一些坏习惯

良好的编程习惯是每个程序员都应该具备的工作素质,在我的软件生涯中屡屡发现一些程序员的身上总有这样或者那样的坏毛病这些毛病在一些从业时间不是很长的程序员的身上表现的特别突出.1. 搭棚子   搭棚子顾名思义就是拿到一个任务的时候,既不做更详细的需求分析,也不作详细设计,一开始就打开编程工具,噼里啪啦的定义了一堆的模块,我不说是定义类,是因为这样代码里根本就找不到对象,然后就在这些模块的基础上进行工作,结果整个程序看起来就象胡乱搭起来的棚子,虽然有个程序的样子,而且似乎也实现了所要的功能,但是这样的

使用Websharp Service Locator简化分布式系统开发

web|分布式 使用Websharp Service Locator 简化分布式系统开发 什么是Websharp Service Locator对于多层的应用系统来说,我们通常把它们划分成客户端.应用服务层和数据库.在应用服务层,我们需要考虑至少两个方面的问题: ü 如何实现业务逻辑 ü 如何向客户端提供服务. 我们可能使用多种技术来实现服务的提供:Webservice..Net Remoting.甚至EJB等.如此多的实现技术,带来的很大的灵活性,但同时也带来了问题,其中一个就是,有多少种服务

实现基于Spring框架应用的权限控制系统

摘要 Spring框架是一个优秀的多层J2EE系统框架,Spring本身没有提供对系统的安全性支持.Acegi是基于Spring IOC和AOP机制实现的一个安全框架.本文探讨了Acegi安全框架中各部件之间的交互,并通过扩展Acegi数据库设计来实现基于Spring框架的应用的安全控制方法. 关键词 Spring :Acegi :认证: 授权 引言 近年来,随着Internet技术的迅猛发展,计算机网络已深入到了人们的工作.学习和日常生活中,于是,怎样构建安全的web应用也成为了当前最热门的话

Windows CE环境下无线网卡的自动安装

摘要:讨论了Windows CE环境下无线网卡的安装,并提出了一种在系统断电重启时自动安装无线网卡的解决方案.对Windows CE的系统定制.应用程序的开发及系统封装进行了介绍. 关键词:嵌入式系统 Windows CE 无线网卡 设备驱动 Windows CE是为多种嵌入式系统和产品而设计的紧凑.高效.可升级的操作系统,并特别为有限的硬件资源设计了多线程.多任务和完全优先的操作系统环境.在无线通信领域有很大的应用前景. 本文重点讨论了Windows CE环境下无线网卡的安装,并提出了一种在系