执行开放标准,解决互操作性,已成为当前软件产业发展中的一个核心问题
纵论各种开源软件与各种私有商业软件在各自相互之间,在各个层次上的互操作性问题
开源软件在实现互操作性方面的天然优势
兼评微软私有商业软件在实行互操作性方面的正反措施
二十世纪后期以来,世界经济进入全球一体化和快速增长期,需要有一种具有可操作性的途径来实现计算资源的整合和信息共享,为此呼唤实施开放标准。
而开放标准指的是通过应用编程接口、通信协议以及数据和文件格式,使用公开发布并为公众认可的技术规范来实现异构系统之间的互操作性。开放标准的全部价值在于它对异构系统灵活性的支持,只有采用开放标准才能建立支持异构系统互联互通、互操作、信息共享、资源整合的统一平台。所以,解决软件的互操作性,包括解决开源软件之间、私有商业软件之间,以及开源软件与私有商业软件之间的互操作性问题,已成为当务之急,并已形成当前软件产业发展中的一股技术潮流。开源软件在这方面的优势是:它充分体现开放标准实施的过程;面对应用解决方案,它既适合于建立开源架构(Open Source Stack),也适合于建立混源架构(Mixed Source Stack),且更有利于建立在松耦合条件下面向服务的架构(SOA,这是一种有利于解决异构系统之间在相互通信、交换数据困难时的符合开放标准的架构);以及采用虚拟化技术的共存架构(这是一种扩大互操作性概念的架构);开源软件的社区协作开发方式,是建立开放标准统一平台的一种创新模式。
这里要指出的是关于互操作性的概念。所谓互操作性(Interoperability)是指一个软件系统与另一个软件系统互相间具有接收、处理并共享所发送信息的能力。有人认为,兼容性也可以归纳在互操作性的范畴内,所谓兼容性( Compatibility),指某个系统上运行的应用程序符合另一个系统的接口要求,从而使该应用程序也可在另一个系统上运行,这时对该应用程序符合某个接口的能力称为兼容性。从上面对互操作性和兼容性概念的表述来看,它们间有共性,也有区别,一般来说互操作性涉及到接口、协议、格式的公开性、一致性,内涵更丰富,具有公平性、主动性、战略性的特点;而兼容性则具有依附性、被动性、短期性的特点,并可能要承担“反兼容”的风险。在虚拟化技术环境中,通常指物理服务器可虚拟成多个虚拟机的应用,操作系统是在虚拟的硬件上运行(不是在真实的硬件上运行)的,所以在虚拟的环境中可能同时存在几种不同的操作系统,有人也把“共存”理解为“互操作性”,这是扩大互操作性概念的一种看法;而且服务器虚拟化只是起点,公用计算才是其目的。本文下面要谈论的互操作性指的是其广泛的概念。
当前在世界软件界出现一种引人注目的景象:居全球软件厂商之首的微软,随着它向全球推出新产品:Windows Vista和Office 2007的发布版之时,它一方面希望其自身产品与开源软件产品实行“互操作”,力推其私有商业软件插入到开源架构中来以组成混源架构的解决方案,不断扩大与开源软件厂商“结盟”;另一方面还是严格实施其“反兼容”措施,将其主要竞争者排斥在“互操作”伙伴名单之外。
谈到互操作性,是分层次的,即可分为:⑴ 不同厂商(不同设备)之间的互操作,⑵ 标准的互操作, ⑶ 架构的互操作,⑷ 驱动程序的互操作,⑸ 硬件平台的互操作,⑹ 文档的互操作,⑺ 网络的互操作,⑻ 应用软件的互操作,以及⑼ 操作系统的互操作。