㊣㊣PowerBuilder历史㊣㊣,该如何解决

㊣㊣PowerBuilder历史㊣㊣
作者: Chris Pollach
原文:http://pbdj.sys-con.com/read/124571.htm
译者:PB助手

Sybase从什么时候开始开发PowerBuilder这个工具?PB又是如何演变成今天的模样?我曾经多次被不同的客户和学生问起这样的问题,而且一些IT界人士也对此表现出浓厚的兴趣,因此我不得不经常重复这个故事,并答复许多关于这方面的email。所以我决定将这篇东西正式地发布在 PBDJ(注:pbdj.sys-con.com)上,以便使更多的后来人能了解PB的故事。下面所说的完全是我个人的一些观点及经历,某些事件发生的时间或地点可能会有些偏差(在我这样的年纪,记性是越来越差了)。OK,让我们从头开始吧。

第一幕 孕育
在那遥远的群星中……,早在Sybase之前……,PowerBuilder的产品原型被一家位于波士顿(美国马萨诸塞州)的名为Cullinet的数据库公司开发出来。Cullinet也是IDMS关系型数据库和ADS-Online应用开发系统的拥有者。IDMS数据库最开始是BF Goodrich开发的,这是一家位于加拿大安大略省伦敦市的轮胎公司,然后卖给了Cullinane(也就是后来的Cullinet)。 Cullinet同时还有一种名叫”Golden Gate“的基于PC的开发工具,它可以被用来开发连接大型数据库主机的Client/Server图形化界面(GUI)应用程序,它原本是DOS下的开发环境,后来才被移植到MS Windows。1984年的时候,Cullinet认识到对基于PC的数据库及开发工具的需求即将兴起,他们考虑是否能参考ADS-Oline这个运行在327X机上并获得巨大成功的快速开发工具(RAD)开发出另一个基于PC的GUI开发工具。ADS-Oline的主要特性包括:快速开发,集成设计、编码、编译及调试,交互式原型生成等。它同时也拥有集中的数据字典,以及对不同的CASE工具的接口,可以直接从开发环境生成产品交付使用。

1984年,Cullinet开始了它的PC版的ADSO的原型工作,那时我是Cullinet加拿大的技术支持经理。这个项目组的头叫作Dave Litwack,他负责ADSO产品及IDMS-DC(一种类似于远程处理及客户信息控制系统的产品)。由于在Cullinet的多年经验,Dave对快速开发工具及通讯有着深刻的理解。这个开发中的新产品将拥有与ADSO一样的关键特性(值得一提的是,早在1985年的PB原型中,ORCA已经基本可以工作,这正是因为ADSO/IDMS拥有这项功能),同时还将新增一项重要功能:”一个强大的数据感知对象“。当时Cullinet正在试验一个叫作 LRF(逻辑记录能力)及数据库存储过程的特性,这个新的对象将可以封装数据处理过程,使之从应用中剥离,而且它应该位于客户端,不依赖于任何服务端的数据库实现。

在这个原型的最初阶段,Dave选择了一名真正的C语言高手,名叫Kim Sheffield,同时他又从渥太华(安大略)招募了John Griffin--我的一个朋友,John是一名出色的大型机汇编程序员,那时他正准备转型到C语言。Dave让他编写了Menu画板(painter)。后来,John和另一名Cullinet的程序员Julie结了婚,Julie帮他一起重写了Menu画板以及在PB里加入对 EAServer组件的远程调试功能。

Dave想要打造一个完全面向对象的全新工具,当时,C++正强力推出,但SmallTalk才是面向对象编程的真正主流。Dave希望PowerBuilder采用SmallTalk的面向对象思想,但同时要更易于被那些商业程序的开发者所使用。

在1985年的时候,这个工具的基本原型在Cullinet公司内部展示,它的潜力很快被高管层所明了,这些人中包括Bobby orr--曲棍球传奇[以后我会说的另一个有趣的故事],那时他在Cullinet董事会任职。但很不幸的是,当时Cullinet正面临着被其他公司收购的严峻挑战,这其中包括CA(Computer Associates)公司。当时CA已经收购了DataCom并想要收购Cullinet以获得IDMS,CA的想法是用钱来阻止竞争,卖掉所有非关键业务,然后通过对主要客户的产品维护来谋利。因为没有或仅仅保留少量开发人员(裁员),公司便可大量节省开支并获得更多利润。在1986年,CA终于成功地完成了对Cullinet的恶意收购,这个新的PC开发工具被认为是无足轻重的,与之相关的所有开发人员都被遣散。(这也就是为什么到现在我也从不购买任何CA产品的原因!)

第二幕 重生
1986年的时候,PowerSoft公司为VAX平台开发商业应用程序,同时它也认识到基于PC的应用开发即将引爆,于是开始四处寻找具有领先水平的GUI开发工具。他们雇佣了一名独立咨询师来提供相关建议,此人正是Dave Litwack。当时,Gupta公司的SQLWindows是市面上唯一真正的GUI开发工具,而不象其他的产品那样,你必须在开发过程中编写若干C代码。而这一点也正是PowerSoft希望在商业应用开发中所能避免的。Dave提到了他在Cullinet的工作以及那个最后的原型,于是 PowerSoft找到CA,问是否能得到那个用C写成的PowerBuilder原型的源代码。CA答复说他们看过了那个原型而且认为它不会有前途(咄)--所以给点钱拿走吧,祝你们好运!

1988年,也就是PowerBuilder原型完成三年之后,PowerSoft拿到了它的源码,Dave终于又可以开始继续他的工作,他加入的 PowerSoft,并重新征召当年的原班人员,幸运的是,他们当时也正在寻找一些富有挑战性的工作。然后PowerSoft把这个产品命名为 “PowerBuilder”并开始完善以及增强它的功能。由于PowerSoft本身就是一家商业应用开发公司,他们开始在内部使用 PowerBuilder来重新开发并替代原有的VAX平台下的产品,因此测试工作得以在真实的开发环境中进行并得到加强。为了使这个新工具的开发获得更多的资金支持,PowerSoft和HP建立了伙伴关系,HP在看过PowerBuilder的演示后给了他们一大笔钱(这也是象“~Onn”这样的八进制表示法被引入的原因--当年HP还是8位的机器)。PowerBuilder成为了HP内部应用系统开发的标准。

与此同时,在微软雷蒙德的办公室,负责开发内部应用系统的工程师们也面临着与当年PowerSoft同样的问题--他们需要一个专门的应用系统开发工具。他们询问那些在HP工作的朋友,被告之:PowerBuilder是唯一一个值得一看而且很有前途的工具。于是在1989年的早些时候,MS购买了 PowerBuilder的使用许可并成为PB的第二家全球用户。而“澳洲皇家空军”则是PB的第一家官方用户--很荣幸的是,我正是一个来自 Cooma,新南威尔士的澳洲人。

在我4岁的时候,我父亲曾带我到悉尼大学,在那里他使用一台SILLIAC I(伊利诺斯州大学计算机ILLIAC的悉尼版本)--第一台商用计算机,曾被制造用来在雪山水力发电站计算大坝的压力及形变(甚至在今天,这仍然是世界上最大的水力发电站http://www.snowyhydro.com.au)。也是在这里,我平生第一次见到了“程序调试员”……这是另外一个故事。这个雪山电站到现在仍然使用着PowerBuilder开发的程序。微软也使用过 PowerBuilder来开发他们的库存管理系统,微软大学排课系统等等,他们被它强大的数据处理能力所折服--尤其是那个被叫作 ”DataWindow"的新对象(感谢Kim取的名字)

第三幕 威力
1989年的时候,我代表加拿大税收和财政委员会为加拿大*做一个项目,我的任务是评估不断涌现的关系型数据库技术并给出排名前三的产品,他们将被推荐给所有的*部门使用。我在89年夏天的晚些时候完成了这个项目。其中一个竞争者是微软的 SQLServer(这是Sybase SQLServer 4.x向OS/2平台移植的结果)。为了验证最后基准数据的准确,每一个数据库厂家都派出一名代表来协助我配置他们的环境并确认我的测试方法及结果。

最后,微软的工程师从新汉普郡来到渥太华。他给了我很大帮助,并问我下一步要做什么。我告诉他下一步是为这前三名的数据库产品比较并推荐GUI开发工具。他的回答令我震惊,他说我应该给一个叫“PowerSoft"的新公司打电话向他们要PowerBuilder看看,因为他和他在雷蒙德的同事们都在用它(当然,微软的Sales从不说这些)。我打电话给PowerSoft,但他们说不能给我一个评估版,我必须买一个,如果在试用后发现不合适可以退货(如果你曾经为美国或加拿大*工作过,你就会知道这样的答复是多么愚蠢)。但幸运的是,他们告诉了我PB的由来,以及他们从一个被CA收购的波士顿数据库公司那里招聘了一批开发人员的事情。我谢过这位销售人员,接着挂机,重拨,找Dave Litwack,电话马上就通了,令我惊喜的是,Dave问我“qaStaH nuq? Chris!" (行话,意思是"What's happening,Chris?" www.kli.org/tlh/phrases.html),第二天,我就拿到了PB的一份拷贝(在这里再次感谢Dave)