软件工作者的核心任务就是开发软件,20世纪60年代提出了结构程序设计方法,解决了编程中的程序正确性问题。到20世纪70年代,为了设计大型软件,提出了软件工程的设计方法,但软件工程有先天不足,开发成本高、开发周期长,并且不能适应系统不断改进和变化。为此,20世纪80年代提出了采用可重用技术,产生了面向对象技术,对某些大型软件,能解决软件工程中的不足之处,但还是不尽人意,原因是:①技术要求较高,一般技术人员(编程人员)很难学会、掌握;②由于概念上不统一,因此很难建立起标准和规范;③在工程实施中有不少难点没有解决。因此,只能在某些应用上被少数技术人员使用。
为此,在面向对象方法基础上出现了构件技术,这种思想来自于汽车制造业和建筑业,采用流水线生产方式的预制件装配方式,它的预制件要求并不苛刻,而只要是重用就可以了,所以称为构件。在这个生产流水线上的各阶段,可以由不同专业人员去完成,社会有了分工,效率和质量都有了提高,这种开发技术称为“基于构件/构架的开发技术”。
到21世纪的今天,各企事业单位都己经普遍使用了信息技术(简称IT),建立了各种软件系统,如财务软件、信息管理系统、CAD、实时工控系统等,可是这些系统都是自身相时独立的,也就是说,相互之间无法连通。当今社会IT技术发展日新月异,已经进入网络新时代,企业的竞争相当激烈,企业的负责人都要考虑如何整合各种资源,把现有系统连接起来,发挥资源最大能量,使得机构运转更畅通。例如,为解决奥运会的交通问题,需要把北京市现有的八个智能交通系统连起来,建立一个新的系统。同样,各企事业单位,不但要把内部各系统连接起来,还要与上级的系统互连,同时还要与其它单位的信息系统横向互连。总之,当前需要把在不同平台开发的软件连起来,迫切需要新的技术。
从上世纪末到本世纪初,一些重大的创新软件技术都是围绕着软件互通互连展开的,微软OLE技术实现了二进制代码级互连,采用了嵌入和连接两种技术,有效地将微软内部的系统连起来,并实现了拖拉等技术,只要是在微软平台开发的软件,安装一些接口就可以互通互连了。但是,还有大量软件不是在微软平台上开发的,就无法实现互连了。于是,世界上各计算机大公司共同组织起来,解决它们之间的软件互连问题,提出了CORBA。,这种技术的核心就是提供一种大家公认的代理,即提供一种中间过渡语言,这相当于要求大家向世界语靠拢。这种技术实现时难度很大,虽然经过多年的努力,取得很大进展,但离实用却仍有距离。接着Sun公司提出将C语言改进后的Java语言作为互连的通用中间语言。但是,就如同英语可以被很多国家作为母语,却无法要求全世界人都用英语讲话一样,虽然这种语言实用性强,应用广泛,但不可能做到被普遍接受。由此面向服务的构架(SOA)应运而生了,而且很快被公众认可和接受,成为当前解决大型软件系统互连的最佳开发方案,SOA的推广和应用已经成为软件开发中的头等大事。
八年前我的最后一位博士生王文军的学位论文是“分布式系统的联邦结构”,即面向服务的架构,但未被应用和发展。而三年前IBM公司提出SOA后,却很快被广泛接受,其原因主要在于客观需求和技术成熟度两个方面:
⒈ 客观上需要 随着网络普及化,越来越迫切地需要集成现有的多个应用系统,以实现更强的信息处理功能。如电子商务的供应链、智能交通、电子政务、数字地球等已是本世纪发展的热点,都需要互连技术。我预言今明二年将是国内IP行业的发展热点。
⒉ 技术成熟度
现在面向对象和构件架构的基础理论和技术已趋向成熟,发展到统一建模语言,提供建模工具,并提出了中间件、inter bus等技术。 浏览器技术普及,已成为行业标准,奠定了SOA的基础理论和技术规范基础,接着许多关键技术得以解决,如用ESB(企业服务总线)、BPEL(业务过程执行语言)来描述用户需求,由BPM(业务过程管理平台)来解释执行等。由此已是水到渠成,SOA茁壮成长。
SOA的优点就是把企事业单位中现有的系统以松耦合方式很方便地整合起来,称为“整合创新”,新系统管理起来很方便、集成时间很短,成本也很低。另外当前SOA技术已与BPM工作流管理技术结合起来了,企业人员自己可以写出它的工作流,很快地响应外部变化,能够使企业在市场上取得很强竞争力,称为“随需应变”。
近三年来,IBM公司大力宣传和推广SOA,我曾多次听取IBM公司中国培训中心毛新生先生的精彩讲话,他介绍了IBM公司在SOA方面的成果,展示了在中国的实践经验。特别是在IBM的SOA 和 Web services网站(http://www.ibm.com/developerworks/cn/webservices/)上登载着数百篇高质量论文,影响极大。去年,全世界的大公司都在北京做了开发SOA的报告,我曾听取了甲骨文、微软等公司的报告,认为我国对SOA的认识和应用已经跨出了历史性的一大步。在国内反应很快的首先是各个政府部门,国家科委和北京市科委都大力支持这项技术的实施和推广工作。除此之外,中国的许多企
|