APB白皮书.doc

上传人:hw****26 文档编号:3219656 上传时间:2019-05-26 格式:DOC 页数:50 大小:870KB
下载 相关 举报
APB白皮书.doc_第1页
第1页 / 共50页
APB白皮书.doc_第2页
第2页 / 共50页
APB白皮书.doc_第3页
第3页 / 共50页
APB白皮书.doc_第4页
第4页 / 共50页
APB白皮书.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、Appeon for PowerBuilder (APB):将 PowerBuilder 应用向 Web 发布的解决方案Appeon 技术白皮书 Draft 1.0摘要本文介绍了 Appeon for PowerBuilder (APB),一个给 Sybase PowerBuilder 增添 Web发布功能的工具。使用 APB, 开发人员既可以将旧有用 PowerBuilder 开发的 C/S 应用自动迁移至 B/S 应用,又能快速高效的开发全新的多层 B/S 应用。目 录1 名词定义 .11.1 C/S 应用 .11.2 B/S 应用 .11.3 网络发布 .21.4 网络迁移 .21.5

2、网络开发 .22 导言 .42.1 传统的方法 .42.2 正阳的方案 .53 PB 应用网络发布方案 .63.1 导出 .63.2 翻译 .63.2.1 应用映射 .63.2.2 对象映射 .73.2.3 用户代码映射 .83.2.4 数据窗口映射 .83.3 发布 .84 APB 产品概述 .94.1 系统架构 .94.1.1 开发环境 .104.1.2 运行环境 .104.2 产品部件 .104.2.1 Appeon Developer.104.2.2 Appeon Server .114.2.3 Appeon Enterprise Manager (AEM) .124.3 系统需求 .

3、144.3.1 Web 浏览器需求 .144.3.2 Appeon Developer 需求 .144.3.3 Appeon Server 需求 .154.3.4 数据库服务器需求 .154.4 高级话题 .164.4.1 集群和负载均衡 .164.4.2 B/S 应用的安全性 .174.4.3 B/S 应用运行性能 .184.4.4 与外部 Web 技术的集成 .195 支持 PB 编程特性 .215.1 总体要求 .215.2 系统对象 .215.3 系统控件 .225.4 面向对象的编程特性 .225.5 PowerScript 语言基础 .225.6 用户对象 .235.7 Power

4、Script 语句 .235.8 嵌入式 SQL.245.9 系统函数 .245.10 系统事件 .255.11 DataWindow .295.11.1 DataWindow 数据源 .295.11.2 DataWindow 显示风格 .295.11.3 DataWindow 运算符和表达式 .305.11.4 DataWindow 对象 .325.11.5 DataWindow 控件 .335.11.6 DataStore 对象 .355.11.7 DataWindowChild 对象 .375.12 PFC 支持 .396 APB 产品优势 .456.1 商业优势 .456.2 技术优势

5、 .456.3 与同类产品的比较 .467 总结 .47Page 11 名词定义1.1 C/S 应用C/S 应用(Client/Server applications: C/S 应用)在本世纪 90 年代被广泛的使用。C/S 应用一般采用第 4 代编程语言(4GL)开发,这些语言包括微软的 Visual Basic,Sybase 的 PowerBuilder 和 Oracle 公司的 Forms 等。虽然最新版本的 PowerBuilder (版本 9)引进了某些 Web 开发的功能,如 JSP (JavaServer Page)开发,但从通常意义上讲,PowerBuilder 更多的是作为一

6、种 C/S应用的开发工具,它在 Web 开发方面的功能是受到限制的。除非特别声明,在本文中使用的“PowerBuilder 应用”或“PB 应用”一词均指使用 PowerBuilder 开发的 C/S 应用程序。C/S 应用最显著的特征是具有一个“胖”客户端,胖客户端需要完成大量的数据处理操作。胖客户端包含应用程序的用户界面以及业务逻辑,并操纵后端数据库里的数据。C/S 架构一般也被称为 2 层结构(客户端层和数据库层)。但是,一种新的 C/S 架构被称为 3 层结构,在 3 层结构中引进了用于存放应用逻辑的中间层。这种特殊的C/S 架构包含 3 个独立的、定义明确的流程,每一流程运行于不同的

7、平台上: 运行于用户机器(客户端)上的用户界面。 负责处理数据的功能模块。这种中间层运行于单独的服务器上,被称作应用服务器。 数据库管理系统(DBMS)储存数据,响应来自中间层的数据请求。这一层运行于另一个服务器,被称作数据库服务器。这种 3 层架构更具模块化,它的优点是在对一层进行修改或替换时不会影响到其他的层。但是,无论 C/S 应用属于 2 层还是 3 层,其客户端均是“胖”客户端。这样就带来了高维护成本和低可供性的缺点,这将最终导致较高的拥有成本(TCO)。所以,企业一般急切需要将他们旧有的 C/S 架构的 ERP, MIS 或 CRM 等系统迁移至更具扩充性的网络架构中。1.2 B/

8、S 应用B/S 应用或称为 Web 应用,是继 C/S 模式自然发展后的产物。B/S 开发需要完全不同的技术和技能,比如 HTML, JavaScript, ASP/JSP/PHP, Java/J2EE 或.NET 等。我们每一个人都有使用 B/S 应用的经验:在我们访问因特网(Internet)的时候,每一个网站或多或少的被认为是一个在网络上运行的应用程序,这些应用程序给最终用户提供一定的功能,如在线购物或电子邮件管理等。Page 2B/S 应用拥有被称做“Web 浏览器”的瘦客户端,这是与 C/S 应用最大的不同。流行的商业 Web 浏览器有微软的 Internet Explorer (I

9、E)和网景公司的 Netscape Navigator 等。目前,大部分的个人电脑都拥有这些 Web 浏览器,用以访问存放于网络服务器上的 Web 页面。这种网络架构被称为 B/S 架构(browser/server: 浏览器/服务器架构)。简单的 B/S 应用一般只使用一台 Web 服务器和一台数据库服务器。而对于大型的企业,他们的 B/S 系统一般采用独立的应用服务器(application servers),用于存放应用的业务逻辑,并在 Web 服务器和数据库服务器之间起协调作用。瘦客户端给企业带来的优势是明显的:它使应用程序的前端不需要任何维护成本。一个多层的网络架构带来的优越的服务质

10、量包括:可扩充性、可供性、安全性、可靠性和灵活性。1.3 网络发布Appeon for PowerBuilder 的网络发布被定义为:将一个以源代码(PowerScript)形式存在的 PowerBuilder 应用转换成一个能在 Web 浏览器内立即运行的 B/S 应用的自动过程。Appeon for PowerBuilder 的网络发布是一个 100%自动进行的过程。Appeon 拥有多项行业领先的技术,使得将 PowerBuilder 应用向 Web 发布成为可能。1.4 网络迁移网络迁移指的是企业在 Web 环境下重新实施旧的 C/S 系统的总体过程。很多企业多年以来一直使用 C/S

11、系统,这些 C/S 应用承载着企业的核心业务。因此将这些 C/S 应用迁移至网络乃举足轻重的任务,整个迁移过程涉及计划、评估、决策等多项步骤。网络迁移一般采用的方法是重写法。重写法指的是依照旧的 C/S 应用的功能,采用 JSP 或.NET 等 Web 技术编写一个相应的 B/S 应用。重写法相当于针对旧的 C/S应用开发一个新的 B/S 应用,其缺点是需要新的技术和开发人员,其开发成本高,时间长。使用 APB 进行网络迁移,依赖 APB 将 PowerBuilder 应用向 Web 发布的功能,重用 PowerBuilder 应用的源代码,免去了任何编写网络代码的烦恼,因而极大的降低了网络迁

12、移项目的周期和成本。1.5 网络开发网络开发指的是开发一个新的 B/S 应用的总体过程。Page 3诸如 RUP (Rational Unified Process)等软件工程的理论将软件开发的流程明确的划分为若干工作流,这些工作流包括商业建模、需求分析、设计、编码、测试和发布的工作,分布于软件开发周期的不同阶段(先起、精化、构建、成型)。网络开发同样遵从于这些类似的流程。Page 42 导言2.1 传统的方法企业大多认识到,将 C/S 应用迁移至网络,是事业进程中的当务之急。然而,将 PowerBuilder C/S 应用重新架构为 B/S 应用不仅耗时巨大,而且需要PowerBuilder

13、 开发人员学习新的技术。取决于应用架构的特性,PowerBuilder 应用的窗口和数据窗口(DataWindow)可能需要逐一重写。除此之外,基于 HTML 的普通 B/S 应用在界面交互能力上远远差于丰富用户界面的 PowerBuilder 应用。因此,网络迁移项目可能花费数月甚至数年的时间完成,而产生的 B/S 应用给予用户的体验却远逊于 C/S 应用。在当今充满挑战的商业环境下,PowerBuilder 应用企业要求他们的 C/S 应用能快速、简便地迁移至网络,并且要求迁移过程使用已有的编程技术。并且,PowerBuilder应用企业看重网络环境下的丰富用户界面,以便能够在保留原有应用

14、用户的同时吸引更多的新用户。图 2-1 网络迁移前:采用 PowerBuilder 开发的 C/S 应用Page 52.2 正阳的方案Appeon for PowerBuilder 产品能够将整个 PowerBuilder 应用自动的迁移到网络。Appeon for PowerBuilder 以 PowerBuilder 应用的原始代码为依据,自动映射生成多层架构的 B/S 应用。生成的 B/S 应用运行于标准的微软网络浏览器内,以 HTML精确复制 C/S 应用的用户界面,不仅达到 C/S 应用的可使用性,并且带来了多层网络架构的优越的服务质量(QoS),包括可扩展性、可供性、安全性、可靠性

15、和灵活性。Appeon for PowerBuilder 能够在 PowerBuilder 开发环境内完成 B/S 应用的全部生成过程。在整个生成过程中,开发人员不需要编写任何 HTML,Java,.NET 或JavaScript 代码 - 只需运用标准的 PowerBuilder 编程技术即可。利用 Appeon for PowerBuilder,企业能继续使用 PowerBuilder 开发新的 C/S 应用,仅需点击一个按钮,便能生成该 PowerBuilder 应用的网络版本。同样,企业可以用 Appeon for PowerBuilder 将现有的 C/S 应用转化为 B/S 应用。

16、开发 B/S 应用原本是繁复的工作,如今通过优化现有的 PowerBuilder 应用或者开发新的 PowerBuilder应用便可完成,熟悉而又简单。图 2-2 网络迁移后:运行于 IE 浏览器内 100%基于 HTML 的 B/S 应用Page 63 PB 应用网络发布方案Appeon for PowerBuilder 能将一个 PowerBuilder 应用发布至网络,这个发布的过程分为三步自动进行。在 PB 应用的网络发布过程进行完毕后,用户得到的是一个以HTML, JavaScript 和 XML 精确复制原有 PB 应用的用户界面以及应用逻辑,并运行于标准 Web 浏览器的多层 B

17、/S 应用。3.1 导出Appeon for PowerBuilder 对一个 PowerBuilder 应用程序的源代码,即 PowerBuilder库文件(*.PBL 文件)进行解析,将 PBL 文件中的所有内容,包括 PBL 中包含的所有对象的定义和对象中写入的用户代码导出,将导出的源代码以 XML 格式纪录(XML 语法树)。3.2 翻译Appeon for PowerBuilder 以 PB 应用导出后生成的 XML 语法树中的代码为依据,通过一系列复杂的映射关系,将 PB 源代码自动翻译为 HTML, JavaScript 和 XML语言。3.2.1 应用映射转换前的 PB 应用属

18、于 C/S 架构,转换后生成的是 B/S 应用,这两种应用存在着架构上的差异。因此,Appeon for PowerBuilder 在将 PB 应用向 B/S 应用映射的过程中,就涉及应用总体的多个方面做出了各种策略性的处理: 用户界面PB 应用的用户界面包括窗体、菜单、工具条以及各种可视化控件。在PowerBuilder 库文件(PBL 文件)中,每一个窗体的源代码都对窗体以及窗体中包含控件的外观做了描述,如窗体的类型、大小;控件的尺寸、颜色和显示字体等。这些对界面的描述经 Appeon for PowerBuilder 的判别后,被翻译为相应的 HTML 语言,Appeon 采用 HTML

19、 语言丰富的标签如, , 等,和各类标签的 style 等属性来模拟 PB 应用中的各类可视化控件。如果 PB 应用中由于用户操作或代码,动态改变了用户界面的外观,则利用嵌入 HTML 的 JavaScript 语言来动态修改 Web 页面的外观。 业务逻辑PB 应用中业务逻辑存在于写在窗口及窗口内控件中的用户代码,以及 PB 用户对象(user object)中的代码等。这些代码亦存放于 PowerBuilder 库文件中Page 7(PBL 文件)。 Appeon for PowerBuilder 将这些业务逻辑自动翻译为相应的JavaScript 语言。 应用架构将 PB 应用映射成 B

20、/S 应用存在着应用架构上的转变:在 PB 应用中,胖客户端负责显示应用用户界面以及所有业务逻辑的运算;在 B/S 应用中,数据库操作和某些业务逻辑则在应用服务器内完成。在翻译 PB 应用的过程中, Appeon for PowerBuilder 将胖客户端一分为二,PB应用的用户界面、界面逻辑、和简单业务逻辑被翻译为 HTML 和 JavaScript 并发布至 HTTP 服务器;PB 应用的数据窗口(DataWindow)定义和有关数据服务上传至应用服务器内运行,从而实现应用表现层和逻辑层分开的、真正的多层结构的 B/S 应用。 事务处理和数据库连接在 PB 应用中,用户通过编写代码操纵

21、Transaction 对象以及嵌入式 SQL 语句和数据窗口(DataWindow )来完成事务操作。PB 应用的胖客户端直接与数据库交互,用户通过修改 Transaction 的属性,可以控制与数据库的连接。在转换后的 B/S 应用中,B/S 应用依靠中间层 应用服务器(Appeon Server)的连接缓存(connection cache)建立与数据库的连接。对于连接缓存,用户需要手工配置。所以,在向 B/S 应用的转换过程中,PB 应用中通过 Transaction 对象进行事务操作的方式被应用服务器的连接缓存取而代之。所有的事务操作最终都由连接缓存来完成。 数据库在转换 PB 应用

22、的过程中, Appeon for PowerBuilder 对原有 PB 应用使用的数据库不做任何的修改,原有 PB 应用的数据库服务器仍然被翻译生成后的 B/S 应用所使用。3.2.2 对象映射PowerBuilder 是一种很强的面向对象的编程语言,一个 PB 应用就是由各种不同的对象组成,包括应用对象,数据窗口对象,菜单对象,以及可视化/非可视化用户对象等。Appeon for PowerBuilder 采用 HTML 和 JavaScript 来构筑翻译后的 B/S 应用,B/S应用同样具有很强的“对象”概念:每一个 PB 对象(窗体、菜单、 NVO)和每一个 PB 控件(按钮、下拉框、 Tab、TreeView 等)均被翻译为一个对应的 JavaScript类。各种 JavaScript 类(class)便是构成翻译后 B/S 应用的主要组成部分。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。