--Stephen D. Hendrick Kathleen E. Hendrick
2003 5月
简介
IDE 的五个重要性能
人们常需要实践检验自己的理念。定期的实践检验可以坚定理念、调整行动。从".com"的经验中就可以知道当理念和行为偏离实际太远的时候会发生什么。
IDC 定期访问专业开发人员,以便进一步理解他们的理念和行为,在 2002
年夏,我们对美国的开发人员进行了调查,总结他们对集成开发环境(IDE)中哪一方面的感觉重要。表
1 所列的是所提到的重要的 5 个方面:
表 1 IDE 的五个重要性能
特征 |
所占% |
|
|
易用性 |
32.8 |
功能性 |
13.4 |
可靠性或无缺陷 |
10.4 |
与其他供应商软件的兼容性 |
8.5 |
缩短开发时间 |
8 |
其他性能 |
26.9 |
总计
|
100 |
|
人数 = 201 |
数据来源:IDC, 2003
这些统计数据表明,那些基本要求诸如简单易用、功能强大以及缩短开发时间仍然是开发人员的首选。他们还描绘了对快速应用开发(RAD)工具所期望的性能:少的开发时间和简易的使用方法。这些目标的完成要靠提高开发人员的抽象编码水平来实现。
虽然每一个应用开发工具软件都各有特点,但功能性(functionality)--能够实现抽象的编程构建,是
4GL RAD (第四代语言 快速应用开发)工具的一个特别重要的性能。PowerBuilder
DataWindow 就是这样一个抽象结构的经典例子:它能够使开发人员简单的选择、操作或显示数据。实际上,每个应用开发工具都具有独特的性能,针对企业不同的需求,实现其特有的价值。开发人员应该根据组织的业务需求和工具的效率,仔细评估工具的功能性。这就需要一种综合的标准,因为当很多应用开发工具都能够实现企业的需求的时候,效率却可能呈现出戏剧化的差异。
应用开发工具质量(无缺陷)是一项有趣的特性。多年来我们一直提到开发工具更高的质量,然而对这个性能的重要性却没有落实。Dilbert
的说法也许是好的总结,他宣布:"我的新设计将会满足客户现在和未来的全部需求。"对此,他的经理回答说:"那可不好,他们就不会需要升级版本了。"目前,工具质量的重要性有部分原因源于应用开发多元化发展,出现了开发环境、开发框架、组件模型、数据标准以及互用性标准等复杂因素。IDC
将其称为"软件复杂性危机",这只能靠设计架构来解决,而且必须通过解决这个问题,才能管理复杂性并提高质量。
IDE 下一个重要的性能是与其他软件工具的兼容性(参见表 1)。在关于应用工具质量的简述中已经提到,开发日益多元化和尚未标准化的配置结构造成了软件复杂性危机。虽然现有的标准如
Document Object Model (DOM)、XML、Simple
Object Access Protocol (SOAP) 以及 Web Services
Description Language (WSDL) 等需要走很长的路才能够消除工具结构复杂性的多元化。上述每一种标准都需要不断发展,改进其功能以便结合到开发工具的功能集中。当支持的开发环境平台(例如
Java 和 .NET)也成为其中的因素时,提供与其他供应商软件工具的兼容性无疑变得非常重要,并具有挑战性。
4GL RAD 产品如何发展
毋庸置疑,应用服务器和 3GL 技术(Java 和 C#)影响了专业开发人员。近来基于标准的应用服务器的应用开发出现了一些变革,高级语言不再是唯一的选择,应用服务器技术更加易于实现,并且与
4GL 的差距也很小了。组件模型的开发也改善了应用开发的模式,通过模块开发功能和面向服务的体系架构,使开发人员更容易上手。这些提高应用开发效率的力量,和历史上形成的种种标准淘汰了大部分的
4GL 产品,只留下了优秀的产品。
然而,当 3GL 近来的发展占据应用开发舞台中心的时候,4GL 无疑仍然是易用性、功能性领域的领先者,并且能够缩短开发时间。对于
3GL 市场的进步,4GL 供应商很可能会提供通向重要开发环境平台的桥梁,以便在市场中能够与之和平共处。我们因此期望
4GL 供应商创造更高水平的产品,以便透明的兼容这些开发环境平台资源。这种更理想的开发环境具有如下能力:能够透明地使用诸如
.NET 和 Java 开发环境(JDE)等,这能帮助 4GL 真正统一开发环境。
SYBASE POWER
BUILDER 发展战略
PowerBuilder 为开发人员提供了一个强健迅速的 IDE。Sybase
将不懈努力,继续提高 PowerBuilder 的品质,并赋予其开发人员所需的相关功能和技术。
使用 PowerBuilder 9.0,用户可以建立客户机/服务器、Java
以及N层应用,并通过众多的向导和工具来加快开发进程。PowerBuilder
的附加功能令用户能够开发 Web 应用、访问 Web 服务并支持 XML。这些新功能使
PowerBuilder 用户能够开发和部署应用,以便满足业务多方面需求。当应用服务器和
3GL 技术(Java 和 C#)的新发展正占领市场份额时,Sybase 将继续完善
PowerBuilder --成功的 4GL 语言之一。
使 PB 保持成功的关键是:支持市场所认可的标准与技术的;开发可与环境平台互操作的具备抽象功能的独特产品。
PB 过去及将来成功的关键是开发正确的目标功能,使其能建立分布式应用,并且将这种功能提升到更高层次,所带来的引人注目的易用性大大提高了应用开发进程的效率。PB
提供了一些重要的新功能,如支持 XML DataWindow,增加对 Web
服务的支持以及改进了 C++ 和 Java 的原有界面。
PowerBuilder 9.0 是 Sybase 支持 Microsoft
.NET 所迈出的第一步。尽管 PowerBuilder 9.0 对 .NET
的支持可以通过 Web 服务寻址实现,我们仍然期待在 2003 年及以后能够看到
PowerBuilder 对 .NET 更多、更全面的支持。Sybase 认为提高对
NET 的支持水平,能使 PowerBuilder 在继续提供高效率的抽象开发环境的同时,更好的应用
Java 和 .NET Camp。IDC 深信这一重要方案能够赢得统一的开发工具市场。
POWERBUILDER
9 .0 IDE CHANGES
RELEASE 9.0 综述
如果说 PowerBuilder 9.0 的发布意味着什么的话,那就是 Sybase
将继续增加 PowerBuilder 产品创新的特色和功能,以便使 PowerBuilder
用户保持技术上的领先地位。PowerBuilder 9.0 重要的更新集中在互用性和集成功能,这些功能是大多数企业关注的
IT 问题。
PowerBuilder 9.0 为 XML(输入 / 输出)提供广泛的支持,这是获得内部外部数据互用性的关键。Web
服务与 XML 紧密相关。JavaServer Pages (JSP) Client
和 Windows Client 都能使用 WSDL 和 SOAP Web
服务标准。通过其他 PowerBuilder 主机增强 Source Control、DataWindow、PowerScript、Debugger
和 Database Connectivity 等性能,来强化诸如 PowerBuilder
Native Interfaces,JSP Authoring 以及通过第三方服务器支持
EJB 等附加功能。PowerBuilder 9.0 也标志了支持 .NET
的四阶段战略的初次亮相。终 PowerBuilder IDE 将可以全面使用
.NET 组件。
XML 性能
互用性和集成性效果仍然是企业所关心的焦点。XML通过提供描述和打包数据的标准化语法扮演了重要的角色。PowerBuilder
9.0 可以让用户轻松的使用 XML 来输入输出。Sybase 用简单的思路把对
XML 的支持设计成功能明确、实用有效的 PowerBuilder 组件,包括
DataWindow 和 DataStore 对象等。XML 支持的关键是映射
XML 数据到 PowerBuilder 或 DataWindow 对象中去。综合而言,增加
XML 对用户来说很有价值,而且它还允许在 PowerBuilder 应用中支持半结构化数据。
在 PowerBuilder 中 XML 支持已经与 DataWindow
以及 DataStore 对象融为一体。通过使用 XML 模板将 XML 数据映射到
PowerBuilder 中。虽然不用模板也能输入 XML 数据 (假定 DataWindow
对象规格与引入的 XML 的文件类型定义 [DTD] 相匹配),但是使用模板能够消除潜在的歧义。因而,在大多数情况下,DataWindow
依据从 XML DTD 输入的数据来映射结构,定义 PowerBuilder
XML 模板并且输入 XML。一旦 DataWindow 元素被映射到 DTD
并建立确认规则, XML 数据就可以在 PowerBuilder 环境中使用了。要从
XML 中输出数据,也必须定义映射一个 XML 模板,并且象创造物理 XML
数据一样创造 XML DTD。如果多个应用程序或进程都需要使用所输出的 XML
数据,那么每次使用都会分别创造输出模板。
输入到 PowerBuilder 的 XML 数据由 PowerBuilder
的 PBDOM 进行分析,它是 PowerBuilder 落实工业标准 DOM
的体现。PBDOM 指令 XML 文件怎样被分析、存取及操作。尽管 PBDOM
没被设计成容纳某一特定市场词汇表,但它包含了针对 XML 的 Simple
API (SAX)解析器。这是一个重要的特征,因为 SAX 属于 4GL 水平,可以允许用户调用功能而不用编码。许多用户不喜欢使用
3GL 的编码,这种功能省去了他们的麻烦。用户用 PBDOM 和 SAX 可以不受逻辑限制,在
PowerBuilder 环境下使用文件,并且不用学习任何新语言就能从文件中获取数据库或
DataWindow 所需的信息。基于 PowerBuilder XML 功能的
Apache Xerces XML解析器使跨系统的移植成为可能(如Windows
和 Unix)。XML 的这些性能为 PowerBuilder 开发人员提供了更高水平的灵活性和控制性能,确保他们处在软件互用性领域的前沿地位。
WEB 服务支持
我们对于怎样使用技术或怎样经商等的看法可能会因 Web 服务而改变。Web
服务很可能解决并终简化生意伙伴、应用和组件的互操作方式。Microsoft
.NET 的核心技术保证了 Web 服务的成功。
对 Web 服务的支持是 PowerBuilder 9.0 的新举措,它允许用不同程序语言写成的应用可以互相通讯。PowerBuilder
开发人员要获得访问 Web 服务的 4GL 经验,不必具备任何专业的技术知识,也不需要处理复杂的
WSDL、XML 语法或者开发 SOAP。PowerBuilder 也能生成
Web 服务,但必须与 EAServer 一起使用。EAServer 处理组件并将其转变为
Web 服务。因为 PowerBuilder 9.0 不具备监听器(listener)功能,所以不能独立生成
Web 服务(应用服务器的一个标准特征)。虽然在将来 PowerBuilder
有可能独立生成 Web 服务,但大多数开发人员将通过应用服务器来管理 Web
服务的访问。
JSP Clients 和 Windows Clients 都可以使用 Web
服务。用 PowerBuilder 中的向导也能访问 Web 服务。开发人员按向导的提示提供信息,如
WSDL 文件的位置、服务和端口等。向导解析这些文件,判定哪种服务可用,并生成由
PowerBuilder 应用所使用的代理对象。SOAP 曾是访问 Web
服务的常用方式,但是 PowerBuilder 代理对象具备所有必需的功能,可以替代
SOAP,开发人员无需掌握详细的 SOAP 知识。
尽管 PowerBuilder 9.0 对 Web 服务的支持主要是入站式(inbound),我们仍期望并相信支持出站式(outbound)的
Web 服务将成为更受欢迎的应用互用方式,并且在以后的 PowerBuilder
版本中支持 .NET。
第三方应用服务器的 EJB 客户
PowerBuilder 9.0 具有从第三方应用软件服务器产品访问第三方
EJB 组件的新功能。同目前在 Sybase EAServer 上实现的功能一样,PowerBuilder
应用可以作为 EJB 组件的客户程序驻存于 J2EE 应用服务器(如:IBM
WebSphere 和 BEA WebLogic)中。这是 PowerBuilder
开发人员们一直期待的功能,也是 Sybase 的重要举措。该功能通过使用 PowerBuilder
Native Interface(PBNI)动态链接库(DLL)实现。可用向导生成理解
EJB 组件的 PowerBuilder 代理。PowerBuilder 虽然充当控制应用程序,但是外部的应用程序能存取在
EAServer 上运行的 PowerBuilder 组件。
我们期待以后的版本能在所有的 J2EE 应用服务器上部署 PowerBuilder
。当然,目前开发人员也能通过选择一种部署方式,使 PowerBuilder
组件看起来好象贮存在第三方 J2EE 应用服务器上一样。这种能力包括将 PowerBuilder
中不可视对象(NVO)部署在 EAServer 上,并通过该产品的桥接器(EASi)与第三方应用服务器通讯。
JAVA SERVER PAGE AUTHORING
JSP 页面就是扩展了的 HTML Web 页面,通过使用嵌入的附加代码能够同时交付静态和动态内容。它一般驻存于中间层的
Web 服务器,响应从客户端发出的 HTTP 的请求,或者从事务处理服务器上调用
EJB 组件的业务方法。用户界面和应用程序逻辑在 JSP 页面内分离, 使分工不同的开发小组授权分派任务时更简单。而且,不用再编译应用程序逻辑,展示逻辑就能自动被重新编译,与其他生成
Web 动态内容的方法相比具有更大的灵活性。尽管在 PowerBuilder
8.0 中已支持 Active Server Pages (ASP),但是
JSP Authoring 是 PowerBuilder 9.0 的新功能。PowerBuilder
9.0 提供的附加功能可以使用 Web DataWindow 创建这些页面。当把应用程序移植到
Web 时,可以使用已有的 DataWindow,这对于 PowerBuilder
开发者来说这是一个重要的功能。
为什么要在 PowerBuilder 中创建 JSP 页面?因为它能使开发人员在单个
IDE 中创建并部署 Web 应用,也为 JSP 开发提供了特别的 RAD
环境。PowerBuilder 用户也能通过向导得到帮助: ! 创建 JSP
Web 应用目标
! 创建调用 Web 服务的 JSP 页面
然而, PowerBuilder 9.0 为经验丰富的 JSP 开发人员提供完整的可配置性和灵活性。JSP
页面可部署于 EAServer 和 Tomcat,也可按指令部署到其他 JSP
兼容服务器中。
POWER BUILDER NATIVE INTERFACE
PowerBuilder 9.0 通过 PBNI 向开发人员提供新技术选项--新的编程界面,令用户使用
C 和 C++ 应用程序工作更轻松。开发者们通过 PowerBuilder
看到第三方程序, 例如 C++ 组件,并且将其转换为 PowerBuilder
对象。PBNI 也允许开发人员把 PowerBuilder Virtual
Machine 嵌入外部 C++ 应用中,这被称为 PowerScript
功能。 因此, 开发人员可以通过现有的两种不同且互补的方法实现 PowerBuilder
Virtual Machine与 C++ 程序的通信。
PBNI 是访问不可视对象,并进行可视化控制的工具。PBNI 在 PowerBuilder
中很重要,因为 PowerBuilder 开发人员可通过它操作用 C 或 C++
编写的第三方应用程序。尽管 PowerBuilder 的许多版本都有该功能,但是在过去还需要掌握有关
C++ 的详细知识。现在,开发人员者只需有限地了解 C++ 就能轻松使用该工具的功能。通过
PowerBuilder 9.0 中的库和标题(headers),可以将 C++
程序编译到 DLL 中。编译成 DLL 后, PowerBuilder 就可以识别里面的方法。生成一个可用于
PowerBuilder 应用的运行时间的 .PBD 文件后, C++ 程序就成为一个能独立的可视的
PowerBuilder 对象。
尽管 PBNI 开始只是存取和使用 C++ 的工具,但是它的发展已具备更广泛的影响。PBNI
能充当通往 C++ 和 Java 的渠道,它也能被用来执行原先不能在 PowerBuilder
内完成的各种任务。该工具为 PowerBuilder Partner 填补可能存在的功能空白打开大门,从而为
PowerBuilder 用户提供额外的功能。
PBNI 也是常用的访问 Java 的工具。PowerBuilder能通过多种方式被
Java 调用, 包含扩展集的创建和 Java 代理类的创建。具体来说,Java
类可以通过 Java Native Interface (JNI)调用Java
方法,而 Java 方法通过 PBNI 调用 PowerBuilder。
通过 PBNI 所激活的 PowerBuilder 扩展功能,举例如下:
! 包装 COM 组件,该组件因为引用自定义的 COM 界面而不能映射到任何
PowerBuilder 数据类型
! 作为 PowerBuilder 的接口,通过使用 Adaptive Server
Anywhere 的 Dbtools (需要回调函数功能)来备份和管理数据库
! 包装 GNU GhostScript 程序,允许将少量 DataWindow
对象存储成 PDF
! 包装所有提供标准应用的开放源代码 C++ 库
支持 .NET 架构的战略
Microsoft NET 是一组新出现的 Microsoft技术(Windows
客户端、Web 服务、Microsoft 服务器和 Visual Studio)用于连结信息、人、系统和设备。尽管目前技术尚未成熟,.NET
的分支仍不清晰,但 Sybase 已经规划了自己的 PowerBuilder
.NET战略,以确保 PowerBuilder 用户赶上潮流,能够使用 .NET所提供的全部功能。PowerBuilder
.NET 策略将在 2003 年开始通过下列四阶段实现。
! 第一阶段 从 PowerBuilder 9.0 着手,支持调用 Web
服务以及使用 EAServer 的 Web 服务产品。
! 第二阶段 将在即将来临的 PowerBuilder 9.0 下一版本中介绍。这个阶段将引入
DataStore.NET 和 DataWindow.NET。通过 DataWindow.NET,使用其他
.NET 语言的开发人员可以从 Sybase 的 PowerBuilder
中获得出色的数据存取和操作技术。
! 第三阶段 很可能具备访问整个 .NET 平台的能力。支持将包括开发一个生成
Microsoft Intermediate Language (MSIL)编码的编译器,该编码用
Common Language Runtime (CLR)作为管理代码来运行。该功能将使
PowerBuilder 开发人员能够使用 NET 的类库,例如 PowerBuilder
应用中的系统类、XML 类、Windows Forms 和 Web Forms。
! 第四阶段 PowerBuilder 用户能够将 .NET UI 架构中的组件带入到
PowerBuilder IDE 中。在这一阶段,PowerBuilder
开发人员将能使用建立在 .NET 架构中所附加的全部功能。
摘要
不论是对于 Sybase 还是 PowerBuilder 开发人员来说,PowerBuilder
9.0 都是一个重要的版本,因为它具备必要的特性,以保证 PowerBuilder
和 PowerBuilder 开发人员能获得目前对主流应用开发方法的支持。PowerBuilder
应用能在跨越多个系统时,自如地与数据和其他应用通信和交互,关键在于其 XML
功能。XML 是 Web 服务的基础,也是实现普遍互用性的主要技术基础。软件工业已经接受了
XML,因此 PowerBuilder 兼容 XML 就显得尤为重要。除了支持
XML之外,PowerBuilder 还具备访问 Web 服务的能力, 使
PowerBuilder 应用能够通过使用 XML、SOAP和 WSDL 等,与用不同语言编写的应用相互通信。尽管目前可以通过
EAServer 生成 Web 服务,但是在 PowerBuilder 充分融合领先的应用服务器之前,Sybase
将面临严峻的形势。
.NET 策略也将改进 PowerBuilder 的可用性和互操作性并且为现有的
EJB 支持提供更多的补充。如果考虑到 .NET 较预期的发展缓慢,Sybase的分阶段战略还是很及时的。当
.NET 的阐述更加明确、更易理解时, Sybase将在必要处调整其 PowerBuilder
策略,以保证产品的兼容性和支持。PowerBuilder 所有的改进都是为了保持其竞争力所必需的。这些变化将使
PowerBuilder 通过提供具有竞争力的技术来留住其忠诚的顾客群,使用这样的技术才能开发出满足客户不断发展的需要的应用软件。
PowerBuilder 9.0 支持 JSP Authoring 是一项有意义的进步。用
RAD IDE 开发 Java 应用让开发进程象流水线一样快速、简单。通过
J2EE 第三方服务器访问 EJB 部件的改良性能与上述性能很好配合。
这本白皮书详细说明了 PowerBuilder 9.0 的关键功能,但还有许多其他的新特色尚未介绍。这些特征包括:
! OrcaScript 语言
! XML 和 Comma Separated Value (CSV) 输入和保存
! 以 PDF 格式保存 DataWindow 对象
! 增强源控制
! DataWindow 的改进
! PowerScript 的改进
! Debugger 的改进
! 提高 Database 连通性
! 其他性能的提高
结论
PowerBuilder 开发人员通过 PowerBuilder 9.0 能够使用各种新应用的技术,还能为多种不同语言和开发环境建立native
interfaces打下基础。PowerBuilder 9.0 是 Sybase
对于 3GL 市场的发展和新技术的来临有力地回答。PowerBuilder
仍受广大开发人员青睐,而且在开发工具市场中占据领先地位,这些都说明 Sybase
的发展方向是正确的。通过扩展 PowerBuilder 对互操作性标准的支持;努力建立与部署环境(WebSphere、9iAS
和 WebLogic )透明的关联,以及领导开发环境平台( Java 和 .NET
),Sybase 将保持 PowerBuilder 的优势,提供一体化应用开发工具和技术,这些举措已经超过了许多开发工具所涉及的范围。Sybase
面临的挑战是确保 PowerBuilder 及时获得这些能力并且在应用开发的进程中成为主角而非跟随者。
|