荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Peter (小飞侠), 信区: Program
标  题: 分布式事务处理
发信站: BBS 荔园晨风站 (Thu Jan 21 22:48:15 1999), 转信


    Sybase公司于今年七月发布了PowerBuilder 6.0的Beta版,正式
版本不久也将推出,其中对分布式事务处理的支持是新版本得到了很
大的提高。早在1995年,PowerSoft公司就提出了在"分布式事务"方面
的发展战略,并在1996年发布的PowerBuilder 5.0中实现了分布式事
务处理的功能,笔者在以前的讲座中也曾经讨论过有关如何创建分布
式PowerBuilder应用的问题,但是得到的读者反馈意见却很少。以往,
一个使用PowerBuilder开发客户/服务器应用软件的程序员是较少会
想到使用分布式事务来分割应用的,因此一般的用户对分布式事务的
概念和意义也不甚了解,这里我们来进一步讨论一下分布式事务处理
及其应用。
    级体系结构
    首先我们介绍三级体系结构这一概念。所谓级是指一种功能划分
,我们以往所开发的数据库应用软件一般是基于客户/服务器结构的,
我们称之为两级体系结构。也就是说整个系统可以分成两个功能块,
第一级包括了软件的应用层和表现层,驻留于客户端。我们使用PoweB
uilder开发出的应用主要用于第一级,运行于客户端。第二级包含数
据库和服务器的组件。一个基于SQL的数据库管理系统一般安装在服
务器端,应用软件在服务器端进行的操作主要是数据存储和检索。在
两级模式中会有一些应用逻辑以存储过程和触发器的形式存储在服务
器端,以优化服务器的性能,但绝大多数的应用逻辑是放在客户端的。
    三级模式将系统分为三个不同的"级":表现级、商业逻辑级和数
据访问级。表现级处理用户界面;数据访问级是数据源,在通常状况下
指数据库;商业逻辑级是新增加的一级,指程序中作出智能决策的那一
部分功能。在早期的应用中,这一部分的功能并不十分复杂,一般将其
放在表现级即可,另有少量以存储过程或触发器的形式放在数据访问
一级;而随着软件工程的发展,软件日益复杂,软件中功能增加最多的
就是在这一级。一个MIS系统的功能由早先的对某一个表的简单查询,
发展到涉及多个表的分类统计求和,根据复杂的公式分析计算,进行决
策支持等,如将这些增强的功能仍全部放置在表现级,会使得客户机越
来越不堪重负。因此就有人提出在系统中将商业逻辑分离出来,单独
形成了一级,这就形成了三级结构。随着三级结构的进一步发展,一般
总是把运行在商业逻辑级的软件编写成一个为客户机所调用、能够完
成一定逻辑功能的专用软件,同数据库服务器相区别,我们称之为应用
服务器。在一个网络中,可以有着多个不同功能的应用服务器,为客户
机或其它的应用服务器提供专业服务,这样,三级结构就发展成为了N
级,这就是所谓的分布式计算方式。
    分布式计算的优势
    采用分布式计算有着多方面的技术优势,包括:
    逻辑封装性。这是分布式模式中最具诱惑力的特征,这种模式的
根基在于将以往全部由客户机完成的事务逻辑中的一部分从客户端分
开。当公司需要动态改变一个应用软件的商业逻辑规则时,只要改变
一个应用服务器的程序即可,而不需要更改客户端用户界面,这样就无
需中断用户,也无需为最终用户重新发放新的界面软件或亲自上门为
其安装调试并重新培训用户,因此,提高了工作效率。这种多级模式对
于需经常、快速改变应用程序的行业很有帮助。
    瘦客户机。这种类型的应用在运行时最显著的特点就是减少甚至
消除了传统的两级体系结构中,以客户机为中心或称为"胖客户"的模
式,减轻了客户机的功能负担,使其消肿成为"瘦客户"。"胖客户"是用
户感到十分苦恼的事情,用户为使用更强功能的软件,就必须付出高昂
的维护费用,不断地为个人电脑的软硬件设备升级。近日流行的NC也
正是看到一般用户在维护PC机运行时负担过重,而提出通过网络将一
部分的任务交给服务器完成。这两种方法有着相通之处。
    性能。性能的提高是三级模式最终被用户采用的主要原因。将复
杂的应用和商业逻辑分离出来由专门的一台应用服务器来处理,既可
以提高应用的执行速度,也可以减少网络调用的通讯量。不过这种性
能提高是有一定代价的。这就是开发时要将应用逻辑分割为客户端逻
辑和服务器端逻辑,这就增加了设计的复杂性。
    安全性管理。在分布式计算模式中,由于所有的商业逻辑都驻留
在服务器端,信息管理部门就可以十分方便地监控服务器的运行情况,
很容易地控制访问服务器以及与服务器应用打交道人员的数量。这可
以大大简化管理员对系统的管理和维护的工作量,并确保系统的可靠
运行。
    分布式事务处理最广泛和最成功的应用当数Internet/Intranet
技术了,尽管许多人并没有意识到Internet就是一个三级体系结构的
代表。随着Internet/Intranet使用的不断深化,用户对Web服务器所
查询的信息就不只局限于以文件方式存放于服务器端的静态超文本文
件了。这时我们需要借助关系型数据库来存放变化的数据,并在Web服
务器与数据库服务器之间以JDBC、CGI等方法建立起两者的连接,使We
b服务器能够实现对数据库的即席查询,并将结果返回浏览器。我们可
以发现,在这样一个Internet结构中,浏览器——Web服务器——数据
库服务器就分别对应于客户端——应用服务器——数据库服务器三级
体系结构中的三个环节I nternet就是一个典型的三级体系结构的应
用。因此,我们可以认为,Internet模式的技术优势如用户界面简单、
管理人员易于维护等也正是多级计算方式的优势所在。此外,由于Pow
r Builder支持分布式事务处理,这就使得PowerBuilder很容易地支持
作为分布式事务的特例——Internet的开发。

    分布式应用的开发
    尽管分布式计算是一个较新的概念,但是使用PowerBuilder开发
分布式应用却十分简单,只要会使用PowerBuilder中的用户自定义的
不可视对象,就会很快地掌握分布式PowerBuid er的开发。在PowerBu
ilder中,应用服务器一端的功能都是通过不可视用户对象实现的,开
发人员可以将PowerBuilder的自定义用户的对象放于应用服务器一侧
,被称作远端对象,在客户端放置该用户对象的代理对象。此外,在服
务器一侧有一个新的transport对象用于监听任何一个用户或其它应
用服务器的请求,在客户端有一个connection对象用以建立同远端对
象的连接。客户端的应用程序通过connection对象连接应用服务器,
连接建立后,客户端的应用就可以像调用本地对象一样调用应用服务
器上的对象函数了。当然,我们这里指的用户可以是一般意义上的客
户,也可以指应用服务器以一个客户的身份调用其它应用服务器。
    远端的用户对象中的商业逻辑可以是采用PowerScript编写的,作
为一个不可视用户对象的特例,这个对象可以调用任何函数或使用数
据库命令,它也可以使用不可视的DataStore来封装数据库访问,Power
Builder 5.0可以支持除可视对象以外的所有的数据类型。在客户端
使用这种形式调用就像在使用存储过程一样将参数通过网络传递给服
务器,将服务器的运行结果返回客户端。
    下期我们将详细介绍分布式应用的开发技巧

--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.3]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店