Delphi 6 上海发布会

六月十四日下午,上海下着中雨, Borland 在上海南京西路上的 锦沧文华大酒店举行了 Delphi 6 的产品发布会。因为那段时间我们公司的研发部门在客户那里开发,刚好那个 客户所在的地方离锦沧文华大酒店很近,步行也只要十分钟,于是那天我便和两位同事一起去了,我发现我们是最 早到的几个,我第一个用名片(仍然是别人的^_^)换来会议材料后进了会场,迫不及待地打开来找光盘,但是, 令人失望的是这一次居然没有光盘!我还一直以为会有 Kylix 的试用版呢。

虽然说是 13:30 开始,但跟 Kylix 发布会一样,到快 14:00 时才开始, 这一次仍然是由宝兰-英博斯华东区的李芳主持,还是由 Borland 中国代表处的工程师--北京的李争(Summer) 和 Borland (香港)的 Brian 主讲的。

首先发言的是 Borland 公司的副总裁 Simon Thronhill 他原来是 Ashton-Tate 公司(就是那个做 dBase 的公司)的,91年, Borland 收购了 Ashton-Tate, Simon 来到 Borland ,后来成为 Borland 的 RAD 产品部经理兼公司副总裁,负责 Delphi 、 C++ Builder 和 Kylix 三个产品的开发工作。他介绍了目前开发工具的整体情况,特别是 Borland 的跨平台项目:Kylix 。 翻译的工作是由李芳做的,说句实话,她翻译得实在不怎么样,还不如认真点听 Simon 说,还听得多一点,夸张 点说--她说“嗯”的次数跟翻译的字数差不多多了。^_^

接下来是李争介绍 Delphi 6 的 New Feature 。其实这些在 Delphi 6 出来这前,我们都已从网上了解了不少了。 Delphi 6 最重要的三个 Feature 可以称为三个 Snap :DataSnap, WebSnap, BizSnap。 关于这些,可以参考 《Delhpi 6 的新特性》。最重要的还是李争和 Brian 的演示, 他们共演示了四个DEMO,分别是:跨平台的 CLX 应用程序,采用 dbExpress/DataSnap 的数据库应用程序, 用 WebSnap 开发的 Web 应用程序,用 BizSnap 开发的 SOAP 应用程序。

    CLX 的跨平台能力,在 Kylix 中已经见识过了,而在 Delphi 6 中更加的方便, 只需在 Delphi 6 新建工程时指定建立 CLX 应用程序即可创建一个与 Kylix 完全兼容的工程,而建立一般应用程序时 仍然是使用 VCL ,当初我猜测 VCL 会被 CLX 取代是不正确的, Borlad 仍然保留了 VCL ,毕竟 VCL 是 Windows 平台下 最 Powerful 的 Framework 。

dbExpress 在 Kylix 中也已经见识过了的,详见: 《Kylix 上海发布会》《2001 年軟體界的巨星 - Kylix》《利用Kylix开发数据库应用程序》。 DataSnap 则是原来 Delphi 5 中的 MIDAS , 不过增加了三个控件:ConnectionBroker, ShareConnection, LocalConnection,其中除了 ConnectionBroker 是 用于提供客户端多种连接方式支持(这是个好东东,我早就想要了)的以外,其它两个还没弄明白是干什么的(现在已经基本明白, 见 《从 MIDAS 到 DataSnap》一文 -- Jul.29-01 )。

Web 开发是 Delphi 5 的一大卖点,而 Delphi 5 中结合 MIDAS 的 Internet Express 更是 Delphi 5 中最耀眼的特色之一。 Delphi 6 的 WebSnap 则将原来的 Internet Express 大大地向前推进了, WebSnap 提供了一个组件化的 Web 开发平台,集成 Web 页面设计,支持 IIS/Netscape/Apache 等多种 Web Server , 自带了一个 Web 应用程序调试平台,支持服务端脚本等。利用 WebSnap 可以很容易地将传统应用程序移植到 Web 平台下。

Delphi 6 最吸引人的技术,也是 Borland 给 Delphi 6 定下的最大卖点就是 BizSnap 。所谓 BizSnap ,其实是 Borland 为 Delphi 6 中一系列基于 SOAP/WSDL/XML/XSL 等技术的统称, Borland 将她们定位为下一代电子商务的关键技术。 SOAP 是 Simple Object Access Protocol 的缩写, 即“简单对象访问协议”,是由 Microsoft 所提出并将(或者已经)成为统一的标准的一项协议, 它的核心就是用 XML 来封装各种对象(包括 COM/CORBA/EJB 以及其它对象)之间的请求与响应,目前的实现主要是 基于 HTTP 协议,但也可以用其它的协议来实现。 Delphi 6 所支持的是 SOAP 的最新版本: SOAP 1.1 。 WSDL 是 Web Service Definition Language 的缩写,即“Web服务定义语言”,这是 Delphi 6 的在线帮助中的说法, 我还看过另一种说法,包括李争当时的说法也是: Web Service Description Language (Web服务描述语言)。 基于 SOAP 的服务端对象称为 Web Service (这名字好像是 Microsoft 定的), WSDL 是一种 XML 的实现,它定义了一个 Web Service 所能提供的接口及其功能, Delphi 6 的 SOAP 客户端向导可以从一个指向 WSDL 的 URL 中 导出 SOAP 服务的接口,为了展示这个功能, Brian 在写了一个本地 SOAP 应用程序后,特地连到了 Internet 上, 从一个网站上导出一个 Web Service 的接口,并很容易地写了一个客户端程序去操纵那个在 Internet 上的 Web Service , 简直是酷毙了。至于 XML/XSL 我就不说了。

SOAP 号称 Microsoft 之梦,采用这种技术,软件出租成为可能,以后的软件开发可能就要变成这样: 软件公司开发 SOAP 服务,即 Web Service ,并分发 SOAP 客户端,用户通过 WSDL 取得 Web Service 的接口,并访问其服务, 软件公司根据用户的访问收费,这样一来,盗版的末日就来了。^_^

值得一提的是,基于 SOAP 的 Web Service 正在成为各大公司所争相支持的一项技术, 除了 Borland 在 Delphi 6 中所提出的 BizSnap 外,首先提出 SOAP 的 Microsoft 也在其 .Net 计划及其 BizTalk 中 有对此的支持,另外还有 Sun Microsystem 的 One 计划和 Oracle 的 .Now 计划。采用 Delphi 6 的 BizSnap 对她们 都能很好地支持。

为了先睹为快,在发布会召开的那周的周末里,我用了两天共十几个小时时间, 用我那只可怜的弱猫把 130 多 M 之大的 Delphi 6 给当了下来,装上之后唯一的感觉就是爽啊。虽然后来一段 时间里也碰到过一些 Bug ,在网上也常见到有人大叹 Delphi 6 的不是,看来这次 Borland 推出 Delphi 6 是 太仓促了,没有像 Delphi 5 那样,直到完全稳定了才推出,但我觉得瑕不掩玉,一点小 Bug 并不能妨碍我用 Delphi 6 ,而且我也相信 Borland 很快就会推出相应的补丁的。我前不久跟一个朋友联系时,他告诉我, 他已经开始用 Delphi 6 给客户做项目了,动作真快,不过最近我和一个同事也计划着用 Delphi 6 做点东东。

Delphi, forever!

备注:以上对几种新技术的介绍是基于本人对她们的肤浅理解,如有错漏之处望不吝赐教,非常感谢。