在Java、.Net成为媒体焦点后,Cobol这个开发语言的老兵仍然不死,而且将在今年推出第六版。事实上,早在1961年Cobol语言就问世了,当时根本没有个人电脑(PC)这个说法,转眼48年过去了,计算机编程语言也经历了C、C++、Java、C#等很多代,Cobol这种古老的语言还有存在的必要吗。而Cobol语言的软件公司Acucorp总裁Pamela Coker说:当然,绝对有!他指出:为了确保既有投资,企业会倾向在现成的基础开发新应用,才是最聪明的方法。针对此问题,我们对Pamela Coker进行了专访。
问:Cobol是一个历史很悠久的开发语言,如何随着企业IT环境的改变而更新?
答:Acucorp从1988年成立,到今年届满21年,不过事实上Cobol存在已经48年的历史了。Cobol一直是符合业界标准,像是近年分别取得ANSI以及ISO的标准认证,随着环境的变迁,Cobol也不断增加许多新的功能,其中最大的特色在于我们转变为面向对象(object-oriented)的程序语言,这使得IBM一直持续和Cobol的合作。
问:不过IBM现在似乎相当积极投入在Java的推动上。另一方面,Java也正是以面向对象、「写一次、任何地方都能执行」(write once, run everywhere)为最主要号召。
答:我想Cobol和Java有不同专长。Java擅长使用者接口的设计,而Cobol则是在商业逻辑(business logic)上十分强大。而经过技术演进,两者是可以相互沟通的。早在Java出现以前,Acucorp在公司创立的第一天,就已经可以达到写一次,任何地方都能执行;目前我们可以在600种平台上执行,包括Windows、Linux、J2EE、Novell等。至于你提到的面向对象,我可以跟你说明,这种观念早在1970年代就存在了,像是Pascal就已经是面向对象的语言了。我甚至认为,面向对象已是旧观念,组件化(componentization)才是新观念,而Cobol现在就是以协助企业开发组件化的应用为目的。
问:不过媒体似乎比较注意Java和.Net?
答:因为Java是新东西,而媒体喜欢报导新东西,不断告知企业新技术,他们才会不断花钱买IT产品。事实上,都是新瓶装旧酒(old ideas, new packages)。
问:但是包括IBM、BEA 的Java厂商,和微软都有自己的开发工具要销售。最重要的是,他们的开发环境,如Windows Server 2003或Websphere、WebLogic等都是相当受欢迎的产品。Cobol如何因应这种情形?
答:Cobol可以亳无问题地和任何环境兼容,像是Websphere、WebLogic、.Net。反之,如果A公司与B公司合并,他们并不能保证是完全一致的开发环境,这在单一平台上的开发工具就会出现问题,对完全独立的Cobol则完全没有问题。Cobol也可和IBM Linux-based的s/390机器整合,这点我们甚至比IBM跑得更前面。
问:所以你完全不认为Cobol有过时的危险?
答:我完全不认为。Cobol被用来开发存货、银行、支付、流通和股票交易系统,可说大部份重要应用都是用Cobol开发的,而且这些都是企业里最最重要的系统。Cobol的用户除了集保中心、元大证券这种金融行业外,像是MaxMara、淘儿唱片城与华纳唱片这种年轻的公司,也都是全Cobol的网络环境。让企业以最少做最多,是Cobol的优势。根据Gartner一份报告指出,2002年全球企业IT预算紧缩,2003年仍然会持续。在这种情形下,如果你把企业系统改写(rewrite),得花三年时间,而换掉(replace)则需花费更多;Cobol则让企业把原来应用取出并加以组件化,而保留(retain)原有投资,同时将三年的开发时间变成三个月。Gartner即认为,旧系统现代化(modernization)将是今年IT成长最大动力。
在问世40年来,Cobol一直在不断地增长。尽管是大型主机时代的产物,但在新的Web服务时代,Cobol也不甘寂寞,业界有厂商正在计划把它搬到微软的.Net平台上。
目前,仍然有大量的Cobol代码在运行,在当前不景气的情况下,用户已经无力负担将这些代码转化为新系统的费用。通过将这些代码与Web服务前端相连接,或者将它移植到Web服务平台上,Cobol仍然将焕发出新的生命力。
Micro Focus公司计划推出在微软公司.Net Server操作系统上运行的Cobol编译器。在2003年,Cobol已成为能够作为可管理代码在微软公司的Visual Studio .Net环境的通用语言运行库(CLR)中运行的语言之一,这将能够使Cobol与C++以及其他Visual Studio CLR语言在相同的环境中进行调试。
该公司负责产品管理的副总裁阿奇贝尔说,明年2003年夏季,我们已经推出一个在.Net Server操作系统上运行的Cobol编译器的正式产品。目前,70%的企业数据都是由它产生的,90%的企业应用程序都是用它编写的。
阿奇贝尔表示,尽管Cobol以及用它编写的应用程序都已经很"古老",但它们仍然不会退休,部份原因是当前的经济衰退和IT经理需要充分利用现有系统的功能。
另一种方法是,企业可以通过使用一种名为Enterprise Link的产品,使Web服务与现有的Cobol应用程序相边,这也有利于企业降低成本。
在将Cobol转向Web服务方面,Micro Focus和Web服务集成商Compuflex在J2EE环境中开展的业务多于.Net,因为大多数Cobol应用程序都运行在非微软的平台上。 |