分享

资料收集 - 基于PB的C/S两层结构向基于Web分布式应用的平滑过度 - 编程语言 - 《黑客手册》官方论坛

 monica 2006-09-09
基于PB的C/S两层结构向基于Web分布式应用的平滑过度

基于PBC/S两层结构向基于Web分布式应用的平滑过度
一、企业应用系统现状及发展趋势

1
、应用现状
目前大多数应用软件系统都是Client/Server形式的两层结构,应用安装并运行在客户端的计算机中,通过局域网或广域网连接与后台数据库服务器连接并共享数据,并把原始数据或处理后的数据存储在后台数据库中。
2
、发展趋势
现在的软件应用系统正在向分布式的Web应用发展;内部的和外部的用户都可以访问新的和现有的应用系统,WebClient/Server 应用都可以进行同样的业务处理;不同的应用模块共享逻辑组件;通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
 (1) Web
应用的优势
对传统Client/Server应用系统和Web应用的构造应用系统的基本要素进行比较,就会发现与传统客户/服务器应用相比(1) Web 应用有很多优点。
1 客户/服务器应用和Web应用对比
比较内容
客户/ 服务器应用
Web 应用
网络协议
IPX/SPX
TCP/ IP
NetBEUI
TCP/IP
运行环境
Windows‘95
NT、Mac
UNIX
Browser
客户端配置
Database driver
Run-rime Application
(胖客户端)
Zero
(瘦客户端)
  因此,基于Web 技术构造应用系统,可以显著降低系统维护和提交费用,用户还可从统一界面和简化操作中受益。
2Web 应用发展方向
由于传统的Web应用中使用的HTTP协议是一种无常连接的协议,所以无法在浏览器上获得实时的数据,也就无法实时处理数据和精确地控制事务,并且无法构造Web上的OLTP(在线事物处理)应用。因此,必须在浏览器到应用服务器之间提供新的通讯协议。
针对这种市场需求,各大主流数据库厂商,如SybaseOracle,以及浏览器和Web 服务器提供商,如MicrosoftNetscape 等都纷纷推出以Web 服务器和浏览器的扩展技术为基础,数据库厂商提供实现数据库访问的应用服务器。这样,Web 应用就从传统客户机/服务器两层体系结构,扩展为浏览器/Web 服务器+应用服务器/数据库服务器的三层或多层体系结构。
Web
平台的扩展可以分为Web 服务器端扩展和浏览器端扩展两类。目前主要的Web服务器扩展技术一般都是通过提供一个支持CGIISAPINSAPI 扩展标准的应用服务器来实现。其中,CGICommon Gateway Interface) 是通用的Web 服务器扩展标准,而ISAPI NSAPI 则属于厂商单独定义的扩展规范,只为各自特定的Web 服务器提供功能扩展。数据库厂商提供的应用服务器一般都支持这些扩展标准,以保证开放性。在这一点上,Sybase的产品尤为突出(后面会对其进行详细介绍)
基于应用服务器的扩展技术的基本原理如下:应用服务器通过对Web 服务器的扩展,使浏览器可以通过HTML或其它类似的脚本语言,调用应用服务器提供的功能,从而扩展浏览器和Web 服务的应用领域。当浏览器引入一个带有应用服务器功能调用的URL 时,Web 服务器就通过标准的扩展技术,调用应用服务器提供的功能,完成解释脚本、传递参数和结果形成等工作,最后应用服务器的执行结果以HTML的格式传递到浏览器。
使用位于应用服务器或Web 服务器上的对象,通过这些对象实现对后台数据库联机访问,从而可以更好地控制每个事务,得到更快的访问速度,并且可以实现将OLTP应用放在Web 上。
二、SybaseWeb解决方案
随着Web 技术的飞速发展,用户构造基于Web 应用的需求也在迅速增长。Sybase
为业界领先的数据库产品提供商,紧跟Internet技术的发展潮流,不断推出新的应用产品。 Sybase公司提出的e-Map策略,即“Sybase e-Mapto e-Business”,就是一套完整的Web解决方案。它描绘出如何使用最简便的方式建立电子商务(Web应用)的过程,可以引导你快速、高效并且非常容易地将现有业务转换成电子商务模式,而并不需要对现有业务运行方式做太大改变。
Sybase e-Map for PowerBuilder是Sybase e-Map策略的一个组成部分,是开发人员把现 有的PowerBuilder应用快速移植到Web上的捷径,其中包含的技术不但可以支持目前的业务需要,而且能够适应新的电子商务应用。
Sybase可以满足重要的应用服务器的安全性、可伸缩性和可靠性。很多公司都采用了Sybase 的应用服务器Enterprise Application Server, 简 称EAServer。它在同类产品中处于领先的地位。
1
EAServer 支持所有的主要组件类型
EAServer
具有集成化的业务逻辑提交能力, 这个功能是将Client/Server应用扩展到Web 上的关键因素。它能够处理所有主要的组建类型, 包括PowerBuilderJavaCOMCORBA C++。 因此只有 EAServer 能够允许你同时使用Visual Basic 应用中的COM 组件和 PowerBuilder 应用中的NVO组件,也只有EAServer可以支持现有的组件和其他如C++、CORBA Java组件之间的交互。
2、EAServer可以连接所有主要的客户类型
Sybase EAServer 管理的逻辑组件可以被很多类型的客户端调用,包括PowerBuilder、Java、COM、CORBA和C++,甚至还包括HTML。
3、延续PowerBuilder的投资
如果你使用PowerBuilder 开发了现在的系统,那么Sybase 的e-Map for PowerBuilder 就具有非常重要的意义。
第一,所掌握的使用PowerBuilder的技术仍然可以用于开发电子商务应用。
第二,e-Map可以保持企业中 PowerBuilder 开发人员的价值。
总之,Sybase e-Mapfor PowerBuilder 指出了一条切实可行的通向电子商务的道路,但是要真正地实现电子商务仍然有很多路要走,这也是e-Map策略中包含了培训、顾问服务和技术支持的原因。
下面将具体就PB程序员的Web应用作一详细介绍。
三、传统PB两层结构的Web之路
这里主要介绍传统的PowerBuilder程序员如何平稳过度到基于Web的三层体系结构,也就是利用EAServer以及其他相关的Sybase工具建立企业解决方案。可以利用PowerJ来建立分布式应用,但本文将着重讨论如何利用PowerBuilder7.0来建立分布式应用。随着PowerBuilder 7.0 的推出,这一工作变的非常简单,SybasePowerBuilderEAServer的集成问题方面相当成功。将PowerBuilder 组件和基于Powerbuilder所积累的技巧转移到Web或其他分布式环境,是一件非常轻松的事情。下面将着重讨论这方面的问题。
在讨论之前,首先谈一下EAServer和Jaguar CTS之间的区别。EAServer(Enterprise Application Server ——企业应用服务器)是Jaguar CTS和PowerDynamo整合后的新名称。这两个产品相互补充,Jaguar CTS提供组件事务支持,PowerDynamo则利用其对市场上各种主要Web服务器的扩展能力提供可缩放的动态HTML支持。在本文中,EAServer是指Jaguar CTSPowerDynamo集成后的产品,但这里将着重讨论Jaguar CTS,即组件事物服务器。
      
下面将以一个实际例子来详细讨论如何通过使用Jaguar CTSJDBC/ODBC Bridge访问第三方数据库中的数据(在本文中为Oracle 8)而建立EAServerPB NVO组件的全过程,并且讨论组件完成后建立Java应用的几个主要环节,包括与服务器EAServer连接,Java组件的实例化,方法调用等等。
首先配置EAServer,这是非常重要的,只有EAServer 的正确配置,才能为应用提供组件服务,否则即使开发出成功的PB组件也无法在Web端调用。
1、环境变量的设置
对于环境变量CLASSPATH,增加以下两个CLASSPATH(身份为SYSTEM):
%JAGUAR%\html\classes; % JAGUAR%\java\classes
环境变量PATH:增加以下目录:C:\ program files\sybase\shared\sun\jdk118\bin。假设sybase安装在c:\program files\sybase目录下。
2、配置监听器(listener
配置监听器的目的是使除本机外的其他机器可以访问EAServer,这对于小组开发非常重要,当然如果你不想其他机器访问EAServer,则可以跨过这一步。监听器的缺省设置为“localhost”。要想改变这一缺省设置,应从Jaguar CTS出发,启用Jaguar Manager,即从菜单中作选择“Tools │Connect │Jaguar Manager”。在Jaguar Manager启动之后,采用默认用户进行登录,即User Name为jagadmin,Password为空,Host Name就是localhost。登录成功后,按以下路径找到监听地址 “Sybase Central \ Jaguar Manager \ Servers \ Jaguar \ listeners”。这时,在屏幕的右面可看到一个监听地址表。尽管我们实际上只用两个地址,但还是对所有的地址作相应的改变:右击每个监听地址并选择“listener Properties”,然后在”Host”域中送入你所在机器的IP地址或TCP/IP名;如果你使用的是WinNT,Win98 Win95,则应在该域中填入你在网络设置中所使用的计算机名。然后,Jaguar CTS将在服务器启动时查找相应的IP地址。完成所有这些工作之后,应关闭Jaguar Manager,然后再重新启动Jaguar CTS服务器。
至此,EAServer服务器已配备就绪,可以接受客户请求了。下一步的任务是作一些检查,看看是否正确地配置了安装的连接缓冲区。
3
、验证/创建连接缓冲区
连接缓冲区是EAServer与数据库之间的网关(gateway)。这是一些预先配置的数据库连接,通过访问这些连接,使组件能够快速而有效地得到它们所需要的数据。这些高速缓冲区,是EAServer借以对数据库连接和对各个组件的数据库事务作集中控制的重要手段。
本文以Oracle 8数据库的连接为例,进行配置连接缓冲区。首先登录到Jaguar Manager,鼠标选中Connection Caches,选择菜单File/New Connection Cache,出现一个对话框,要求输入新的连接缓冲池的名字,这里输入Cache_test,点击Create New Connection Cache按纽,出现该缓冲池的配置信息。在标签为General 的页面中,填入Description(描述信息),以及Server Nameuser namepassword。其中Server Name为在该机器上配置的Oracle数据库的TNS名字,User name为数据库的用户名,password为相应的口令。Driver标签为相应的数据库驱动程序,由于我们在此配置的是Oracle 8数据库,所以选择OCI 8.x,该数据库的驱动程序为oci.dll。最后在Cache标签页中将两个选择都选中,这是与数据库的连接方式选择。至此数据库


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多