65.9K
CodeProject 正在变化。 阅读更多。
Home

Sybase PowerBuilder 与 Microsoft .NET 的邂逅

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2011年9月20日

CPOL

18分钟阅读

viewsIcon

28827

本文探讨了为何 Sybase PowerBuilder 多年来一直是应用开发生产力的堡垒,适用于那些将重度数据库导向与高效图形用户界面(GUI)相结合的各种企业级应用。

Sybase-PowerBuilder/download-powerbuilder-free.png

多年来,对于那些将重度数据库导向与高效图形用户界面(GUI)相结合的各种企业级应用,Sybase PowerBuilder 始终是应用开发生产力的堡垒。PowerBuilder 12 开发环境在开创并普及这种特定类型的分布式应用开发方面具有革命性意义,如今它将功能上的成熟与积极的现代化改造相结合,使其保持为一个可行且引人注目的集成开发环境(IDE)应用程序运行时。特别是,PowerBuilder 将 Visual Studio Shell 融入其基础架构,从而成为一个无缝的 Windows .NET 环境,这一发展方向意味着该产品现在既可以用于演进现有系统,也可以用于为传统的 Windows 32 环境和 .NET 开发新系统。具体而言,Sybase PowerBuilder 提供了以下优势:

  • 一个成熟且功能强大的应用开发环境,目前已是其第十五个主要版本。自 1991 年诞生以来,PowerBuilder 一直在积极发展,以满足客户对新架构和新技术的需求。
  • 一种高效的开发范式,用于快速构建应用程序的后端和前端。PowerBuilder 拥有备受赞誉的“DataWindow”隐喻,原生支持多种主流数据库管理系统,并采用图形化方法来描绘应用程序的用户界面屏幕和组件。
  • 一种功能强大且易于使用的脚本语言,该语言与时俱进,支持现代语言特性和技术,允许构建连接用户界面与企业数据的业务逻辑。
  • Sybase 的坚实支持,这是一家财务稳定健康的公司,通过密切的客户互动模式,为 PowerBuilder 这一资产提供了强有力的管理。随着 Sybase 被 SAP 收购,这种支持变得更加强大,根据 IDC 的数据,SAP 是全球第四大软件公司。

目录

表格列表

图表列表

在这份白皮书中,我们讨论了 Sybase PowerBuilder 的进展,并评估了许多 PowerBuilder 客户在演进其 PowerBuilder 应用程序方面所面临的整体战略选择。虽然 PowerBuilder 工具集的知名度不如 1990 年代初,但我们发现该产品的原始价值主张经久不衰,并且 Sybase 为发展其现有用户群所采取的战略方向是稳健且经过深思熟虑的。PowerBuilder 的路线图使 PowerBuilder 应用程序能够与成功的 Microsoft .NET 平台和熟悉的 Visual Studio IDE(包括许多第三方控件)保持一致。

现状概述

PowerBuilder 是一款拥有传奇历史的开发工具。它被公认为在 1990 年代初带来了快速应用开发(RAD)的范式转变,有效地引发了业务应用开发生产力的一场革命。PowerBuilder 融合了当时已成型的“第四代语言”(4GLs)的脚本功能(4GLs 在 1980 年代末以文本形式出现),以及一种通常与那个时代高效但扩展性不强的 PC 数据库产品相关的可视化开发隐喻。通过将 4GL 编程的灵活性与 PC 数据库应用于后端业务数据库系统的可视化 RAD 功能相结合,PowerBuilder 在短时间内取得了成功。随着世界上一些最知名的公司(例如,美国航空、可口可乐、3M)认识到其优势并利用它来构建内部业务应用,PowerBuilder 迅速在其竞争中获得了开发者份额。

PowerBuilder 持续增长,直到两层客户端/服务器架构的声望和财富开始让位于互联网架构。1990 年代后半期是互联网进入主流的时期,它推广了一种特定类型的 Web 架构用于消费者应用;同时,对两层客户端/服务器架构的规模和可管理性的失望也催生了像 Forte 和 Seer 这样的新进入者,它们推广用于定制应用的三层和多层架构。第三代语言(3GLs)也正在重生,变得对程序员更友好,拥有组织更完善、抽象层次更高的框架和更丰富、支持性更强的外壳(例如,Visual Basic 和 Borland Delphi)。在某种程度上,高效应用开发工具类别开始分化,最终以基于虚拟机的 Java 平台和语言的到来,以及随后的微软 .NET 框架及其语言为高潮。Java 和 .NET 基于虚拟机的架构使它们能够同时提供 3GL 和 4GL 语言的优点。这些被称为“托管语言”的开发模型,通过将一些 3GL 开发中最痛苦的方面(例如,内存管理、类型强制、错误处理)从程序员易出错的手中转移到提供的语言运行时中,从而减轻了开发的难度。最后,随着编程语言和环境的变化,一种基于万维网的新应用开发架构在 1990 年代中期开始出现,并成长为新应用开发工具最受欢迎的目标。

如今,大多数战略性应用开发工具都围绕三个主要生态系统之一:Microsoft .NET 环境、Java 环境和通用 Web 架构。在 1990 年代开发的大多数应用开发工具及其运行时,都发现自己走到了这个十字路口,需要与这三个更广泛的生态系统之一对齐。Sybase 已经确定了一个战略,主要是将 PowerBuilder 与 Microsoft .NET 生态系统对齐。

PowerBuilder 的今天

尽管编程语言和应用架构来了又去,我们很难找到一个像 PowerBuilder 一样高效的开发环境。更重要的是,随着这些变化的发生,PowerBuilder 一直在积极地演进。这一事实并未被 PowerBuilder 开发者所忽视,他们中的许多人——如果不是大多数人——在初次接触该产品多年后,仍然继续将其作为主要开发工具。在我们对 PowerBuilder 开发者社区的探索中,我们注意到了一种热情和喜爱,即使在一个每个人都对自己喜欢的语言或工具充满热情的圈子里,这种情感也真正脱颖而出。这转化为了 PowerBuilder 在采用上的一种粘性,这在这个市场上同样引人注目。语言和开发工具本身就具有粘性,因为一旦开发者采用它们,由于投入的技能和知识、积累的代码库以及应用开发技术普遍陡峭的学习曲线,他们往往会坚持自己的决定。此外,大多数程序员有义务维护他们过去开发的应用程序,因此会避免不必要的工具集转换。对于 PowerBuilder 而言,Sybase 的计划是继续确保开发者能够充分利用 Visual Studio IDE 和 .NET 运行时,同时保留他们已投入的技能以及 PowerBuilder 的强大功能和高生产力。

支持开发者的历史

回顾 PowerBuilder 的发展轨迹,了解它如何成功地留住大部分开发者用户群是很有趣的。目前已是其第十五个主要生产版本,自诞生以来,PowerBuilder 一直在积极、持续地演进,如表 1 所示。除了实现与 .NET 的强大对齐外,PowerBuilder 的近期版本还继续为开发者带来新功能。虽然 11.5 版本带来了新的 GUI 改进,例如在 DataWindow 中用于显示列的富文本功能,并基于 DirectX 运行时支持增加了 3D 图形功能,但 12.0 版本则提供了迄今为止对 .NET 最全面的支持,包括一个用 C# 重写的 DataWindow,原生支持 Windows Presentation Framework (WPF),并符合 .NET 公共语言规范。

表 1
PowerBuilder 发布历史
版本号 发布日期 主要新功能亮点
1 1991 年 7 月 历史性开端
2 1992 年 6 月 面向对象支持,Painter
3 1993 年 5 月 捆绑数据库 (Watcom),版本控制
4 1995 年 11 月 报表,数据管道,OLE 2.0
5 1996 年 7 月 机器码编译,分布式 PowerBuilder 三层支持
6 1997 年 12 月 Window ActiveX, CORBA, DataWindow HTML 生成, DataWindow 同步
6.5 1998 年 8 月 COM 和 Java 组件生成器,独立的 Unix、Macintosh 和 Unicode SKU,通过翻译工具包实现国际化
7 1999 年 10 月 新 IDE,新布局和外观,Jaguar 集成 (即 EAServer) — 构建、创建和部署 COM 及 MTS 组件 (组件主题)
8 2001 年 6 月 Web Targets,Web DataWindow (将 PowerSite 功能集成到 PowerBuilder 中) (Web 开发主题)
9 2003 年 2 月 .NET 第一阶段:Web 服务,XML,Java Server Pages
10 2004 年 7 月 .NET 第二阶段:DataWindow .NET,完全支持 Unicode
10.5 2006 年 3 月 基于 .NET 的 Web 服务引擎 (视觉增强主题);大型和小型 UI 及核心客户端/服务器增强,包括 TreeView DataWindow、富文本编辑控件
11 2007 年 7 月 .NET 第三阶段:NVOs 作为 .NET 程序集,ASP.NET Web Forms,Windows Forms (.NET 主题,Web 服务主题)
11.5 2008 年 9 月 DataWindow 增强,支持 Oracle 11g 和 SQL Server 2008,改进的图形功能 (视觉增强主题)
12 2010年4月 .NET 第四阶段:WPF 应用程序,WPF DataWindow,改进的 DataWindow 图形功能,Visual Studio 独立外壳

.NET 路线

为了追求开放的开发者策略并拥抱向 Web 架构的新兴转变,Sybase 在 PowerBuilder 中建立了与 Java 生态系统对齐的联系。然而,随着时间的推移,Sybase 发现 PowerBuilder 用户群与微软的开发者社区更加契合,并且有相当大的重叠。因此,Sybase 决定调整其对 PowerBuilder 的投资,并开始深化与微软 .NET 技术栈的对齐,这是一个涉及四个主要版本(以及两个次要版本)的四阶段战略计划。

PowerBuilder 9、10 和 10.5

Sybase 在 2002 年规划 PowerBuilder 9 版本时,开始了其 .NET 对齐工作。这个四阶段战略以第 9 版为开端,该版本提供了以如此显著方式扩展产品所必需的 Web 服务支持。第 10 版于 2004 年发布,同时还推出了一个独立打包的 DataWindow .NET 产品。DataWindow 功能被引入 .NET 是与 PowerBuilder 10 版本并行进行的,并作为其一部分,同时也作为一个独立产品提供。PowerBuilder 11 的开发依赖于微软的技术,而这些技术的发布时间较长,这导致 Sybase 发布了 10.5 版本,该版本打包了所有不依赖于新的微软技术的预定改进。在 10.5 版本中,引入了 ADO.NET 支持,以便在托管代码环境中实现对主要数据库的一致访问。最后,10.5 版本完成并进一步完善了在 .NET 对齐的早期阶段,即第 9 版中引入的 Web 服务支持。

PowerBuilder 11 和 11.5

在第 11 版中,第三阶段 .NET 对齐的大部分工作得以实现,其形式是能够在 PowerBuilder 中构建应用程序和组件,并将它们部署到 .NET Framework 2.0 版本,包括创建和部署 .NET Web Forms、Windows Forms 以及将非可视对象(NVOs)部署为 .NET 程序集和 .NET Web 服务。此外,还增加了从 PowerScript 代码调用 .NET 类以及在原生 .NET 调试器中调试 .NET 对象的功能,以使 PowerBuilder 开发者能够利用 .NET 环境中的许多资产。PowerBuilder 11.5 带来了安全功能,允许 PowerBuilder 应用程序在受 .NET 代码访问安全(CAS)配置限制的部分信任环境中运行。PowerBuilder 允许开发者为 .NET Web Forms、.NET Web 服务、.NET Windows Forms/智能客户端以及 .NET 程序集项目配置 CAS 区域(沙箱),以最大限度地减少应用程序或组件代码在最终用户运行前所需的信任级别。最后,在 PowerBuilder 11.5 中创建的 .NET 程序集以调用应用程序或组件的安全权限运行,而不是像先前版本那样需要完全信任。

PowerBuilder 12

对于第 12 版,Sybase 与微软 Visual Studio 部门建立了强有力的合作伙伴关系,以完成 PowerBuilder 与 .NET 的对齐。这项工作包括以下几个方面:

  • 为 .NET 优化的 PowerScript 功能。 PowerBuilder 12 新增功能中的首要之项是对语言的修改,允许从 PowerScript 语言内部利用许多 .NET 特性。新的语言特性示例包括支持无界多维数组、.NET 委托、参数化构造函数和用户自定义枚举等。其他功能还包括定义和使用自定义特性、定义命名空间以及从 PowerScript 内部使用 .NET 泛型类型。
  • .NET WPF 支持。 另一个重要的架构变化是支持 Windows Presentation Framework,这使得 PowerBuilder 能够与 .NET 技术无缝对接,WPF 为丰富的基于矢量的图形提供了强大的抽象。WPF 是随 .NET 3.0 引入的,已成为微软在表示层战略工作的基石,包括通过 Silverlight 浏览器插件支持富互联网应用(RIA)开发。WPF 在一个新的、全面的、基于标记的用户交互框架下,统一了许多不同的服务,如 2D、3D 矢量图形、动画、排版、音频和高清视频。IDC 相信,Sybase 将在 PowerBuilder 12 中 WPF 支持的基础工作上,于未来版本中增加对 Silverlight 的支持。WPF 内部依赖于一种基于 XML 的标记(XAML)方法,开发者无需学习这种方法,但它允许表示层与代码的其余部分隔离配置。值得注意的是,PowerBuilder 和微软将继续支持 Win32 API 以及 WPF 和其他新技术。
  • 托管代码 DataWindow。 PowerBuilder 11.x 应用程序为几乎所有组件都实现了 .NET 托管代码运行时。主要的例外是 DataWindow 引擎,它是用本机代码编写的,这造成了一些限制和不便,例如需要指定 DataWindow DLL 文件以及无法在部分信任环境中运行。对于 PowerBuilder 12,Sybase 已经用 C# 重写了 DataWindow 引擎,包括一个新的托管代码数据库驱动程序。最终的整体架构如图 1 所示,该图还突显了新 DataWindow 架构的一个重要方面,即围绕关注点分离的设计,其中核心功能与用户界面和数据源接口是分开的。

Sybase-PowerBuilder/supporting-powerbuilderruntime.png

图 1 在 PowerBuilder 运行时中支持 .NET。来源:Sybase,2010
  • Visual Studio Shell。 PowerBuilder 12 的第四个主要增强是一个新的 IDE,它建立在微软 Visual Studio 的 UI 创新和研发成果之上。Visual Studio 在开发者圈中被誉为拥有一个功能强大且高效的 IDE,数百万开发者都曾使用过它。Sybase 通过采用 Visual Studio 独立外壳作为 PowerBuilder 开发者的核心新外壳,充分利用了微软在 Visual Studio 多个迭代版本中的研发投入。Sybase 作为 Visual Studio 行业高级合作伙伴(VSIP)与微软密切合作,以确保对外壳和整个 .NET 框架的支持是以可靠的方式实现的。独立外壳的方法意味着 PowerBuilder 可以对该外壳进行高度定制,以满足 PowerBuilder 开发者的需求,而不会引入不相关的功能。这也意味着 PowerBuilder 可以与 Visual Studio 安装并行运行而没有任何冲突,这是许多 PowerBuilder 开发者要求的功能。IDC 预计这一新功能将使 PowerBuilder 对那些希望在开发业务应用程序时大幅提升生产力的现有 .NET 开发者具有吸引力。

PowerBuilder 应用程序的现代化

在发展 PowerBuilder 的过程中,Sybase 对其客户群表现出了非同寻常的响应能力。Sybase PowerBuilder 客户顾问委员会项目是业内运作最好的项目之一,其成员资格一直有排队等候名单。在确定其行动方案之前,Sybase 对其计划发展的 PowerBuilder 方向进行了大量的尽职调查,广泛征求并与客户进行了深入对话。这种似乎是整个 Sybase 组织内部共同文化规范的品质,对于 Sybase 作为一家公司的全面复兴至关重要,并预示着 PowerBuilder 发展和路线图的成功。我们预计,在同样审慎且以客户为中心的 SAP 公司(该公司于 2010 年 7 月完成了对 Sybase 的收购)的领导下,这一传统将继续下去。

Sybase 对 PowerBuilder 的演进将使客户应用程序与 .NET 和微软的开发策略保持一致,同时也能利用 PowerBuilder 工具集和运行时的历史价值主张。因此,所有以最高效方式构建企业应用程序所需的技术都将“开箱即用”,从而将对开发者定制集成的要求降至最低。PowerBuilder 将继续拥有最简单的方法来组合面向数据库的业务应用程序,通过优化的原生数据库驱动程序提供高性能的数据库查询和报表。随着 PowerBuilder 12 的发布,现有应用程序已开始以受控方式迁移到 .NET 运行时,开发者将因此获得额外的自由,可以将其与用 C# 或其他 .NET 语言编写的其他 .NET 模块进行透明集成,并充分利用完整的 .NET 框架。

未来展望

随着 Sybase 作为更大的 SAP 的一部分,继续推进 PowerBuilder 的发展,它必须保持对 PowerBuilder 的积极演进。特别是,Sybase 必须找到与其移动平台的协同效应,该平台处于有利位置,可以利用即将到来的企业内部移动化浪潮,而这正是 SAP 收购的催化剂。现在基于 .NET 的 PowerBuilder,未来可以成为一种用于生成移动应用程序的开发工具,这些移动应用可以扩展现有的定制应用程序。这一战略尚待具体化,但 IDC 预计,SAP 的收购将使 Sybase 能够以一种以前可能无法实现的方式,投资于这类有趣的项目。

挑战/机遇

Sybase 目前在 PowerBuilder 方面面临三个基本挑战:

  • 执行与路线图。 Sybase 最终执行了其四阶段的 .NET 战略,这一对齐本可以以更快的速度进行。然而,集成议程仍有进一步发展的空间。例如,Sybase 应该考虑实现 Silverlight 或其他方式为 PowerBuilder 引入 RIA 功能。Sybase 可以通过提供一个更积极的路线图,概述其计划的投资和为增强 PowerBuilder 而计划推出的潜在发展,从而受益。
  • Java 和 Web 路线。 历史上,一小部分 PowerBuilder 开发者曾表达过对该工具集采用不同路线(例如与 Java 生态系统对齐)的偏好。这通常主要是由平台可移植性问题以及对 .NET 平台提供的标准合规性和支持水平的不满所驱动的。其中一些担忧因微软对开放和开源的示好而有所缓解,而其他一些担忧则被向 Web 架构的整体转变所冲淡。在这方面,PowerBuilder 必须走双重路线,既要支持用于 Web 架构的 WPF/Silverlight,也要支持更纯粹的 HTML/JavaScript/AJAX 方法和框架。
  • 认知。 尽管 Sybase 在 PowerBuilder 的演进中采取了积极进取的方法,但一些人可能仍会认为它是一个已经过时的开发工具集和运行时。这是一个认知问题,因为它使得吸引新开发者变得困难,即使现有开发者仍然留存。IDC 认为,解决这个认知问题的最佳方法是持续投资和发展该平台,并采取更积极的营销策略,与现在渗透到应用开发领域的新趋势和技术保持一致。因此,寻求与 Sybase 的移动平台对齐和集成,提供 PowerBuilder 的云服务版本,以及更积极地利用开源策略,可能会为 Sybase 赢得一批全新且更务实的开发者的青睐,他们将发现 PowerBuilder 开发的生产力和杠杆作用。

Sybase 已采取具体措施,使 PowerBuilder 与应用程序开发者的现代需求保持一致。如果营销得当,PowerBuilder 可能会迎来复兴,使其在未来一二十年内保持相当的健康状况,并可能扩大其用户群。

结论

潮流来来去去,但行之有效的东西会超越“遗留”的标签。虽然构建新应用的工具竞争持续加剧,但我们认为 Sybase 为发展 PowerBuilder 现有用户群所采取的战略方向是经过深思熟虑的,并且符合大多数 PowerBuilder 开发者的需求。Sybase 对 PowerBuilder 的演进策略为 PowerBuilder 开发者提供了成功且流行的 Visual Studio 环境的所有显著方面,同时保留了 PowerBuilder 特有的开发生产力。该策略将 PowerBuilder 赖以成名的传统优势与一个由微软凭其自身优势积极发展的、成功而强大的软件开发工具生态系统相结合。这将使 PowerBuilder 开发者能够将 PowerBuilder 的强大功能和成本效益与 .NET 生态系统中可用的灵活性和丰富性相结合。Sybase 在 PowerBuilder 上的战略方向正朝着将客户端/服务器开发的过去与其未来愉快地结合起来的轨道上前进。

欲了解更多信息并下载免费试用版,请访问 www.sybasepowerbuilder.com

© . All rights reserved.