同厂商之间的互操作
对于开源软件发布商来说,为了向市场销售产品,售前需取得众多配套的硬件厂商(IHVs)、软件厂商(ISVs)、系统集成厂商(SIs)的支持,进行产品配套的兼容性测试和质量认证,从而实现不同厂商不同产品相互间的互操作。
2006年,国内Linux品牌与Dell、HP、TCL、华硕、神州数码、同方、七喜等PC厂商签订600多万套预装协议(联想、方正也正在对不同的Linux发布版进行配套选型);IBM为中科红旗的服务器Linux操作系统进行质量认证测试工作(这是IBM继Red Hat、Novell之后为全球第三家Linux发布商进行质量认证测试)。从而使开源企业与其相应的配套企业实行了不同产品之间的兼容性(互操作性)。
2006年微软和其他25家软件与硬件厂商组建“互操作厂商联盟(IVA,Interoperability Vendors Alliance)”, 目的是确保这些厂商提供的产品和服务能与微软的Windows操作系统和应用产品实行互操作,在这些厂商中,如Novell、Sun、Sugar CRM、Xen Source、JBOSS和Red Hat等均为开源企业。
Spike Source等多家开源软件公司也联手组建“开放解决方案联盟(OSA,Open Solutions Alliance)”,以确保他们产品之间能够互操作.
标准的互操作
制定、执行开放的国际标准,为互操作性提供基础。
设计转换器/翻译器(Converter/Translator),实现不同标准之间的互操作。例如,ISO已批准“开放文档格式(ODF)”为国际标准,它与微软的“Office Open XML文档格式”不兼容[微软的Office Open XML文档格式在取得欧洲计算机制造联合会(Ecma International, 这是一家国际标准咨询机构)认可的基础上,也正在向ISO申报要求成为国际标准],微软支持Aztec Soft公司(法国)开发转换器,以间接支持ODF。又如,Novell宣布:与微软合作,在Novell版的Open Office中支持Office Open XML格式,并表示联合设计翻译器(Translator),以使Novell版的Open Office与微软的Office 2007实现互操作。
在虚拟化环境中,共存就体现执行不同标准虚拟应用的互操作。
国内“统一办公文档标准(UOF,Uniformed Office Format)”计划申报要求批准为国家标准,有人认为,UOF具有中国文档特色,但要形成标准必须与ODF一致或能互操作,有人作了调查,UOF的约70%的条款是与ODF一致的,20%的条款是可用转换器与ODF实行互操作的,10%的条款是既不一致也不能采用转换器来进行互操作的。这里的关键是要处理好这个10%。
架构的互操作
开源的LAMP架构(L-以Linux为代表的开源操作系统,A- 以Apache为代表的开源中间件,M-以MySQL为代表的开源数据库,P- 以PHP、Perl、Pythen为代表的自由编程语言)的发展,已与闭源的J2EE架构,.Net架构形成三角鼎立、互相参插、互有合作与竞争的态势。
在发展开源架构(LAMP)同时,由开源软件模块与私有商业软件模块所代表的不同层次组成的混源架构作为满足用户需求的解决方案,目前也获得了广泛应用。而混源架构的发展就代表了架构的互操作性。
硬件平台的互操作
现在讨论各种操作系统相对于各种硬件平台的兼容性或互操作性。所谓硬件平台包括:计算机(硬件)体系结构与硬件配置和管理接口;外部驱动设备互联规范与总线接口;网络计算平台与协处理机接口。
文档的互操作
文档的互操作性可分成三个层次,即:文件系统的互操作(体现在硬盘中的信息存储与读写,用户希望对文件具有长时间存取能力);文件(体现为信息,指文件或信息的规范、格式和标准);应用程序(具有生成文件进行信息处理的功能)。
对文件系统的互操作性来说,已解决了在两个异构操作系统(如Linux或Windows)环境中生成的文件系统(即ext2/ext3或nsfs),可置于对方环境中被读、写(中国人对此也作出了相应的贡献)。问题是:在Windows Vista发布后,Linux的文件格式与微软的文件格式能否在对方环境中还可以被读、写,实现互操作,有待于研究或尚需努力。
对文件的互操作性来说,以上所述,通过转换器可实现ODF与Open Office Xml的互操作,我认为目前的解决方案只具有“单向”互操作的特征。
对应用程序的互操作性来说,基本应用程序一般指办公套件(Office Suite)、电子邮件(Email)、媒体播放器(Media Player)、浏览器(Browser)、网络邻居(Network neighborhood)等。以Office的互操作性为例,国内在开发Open Office和用JAVA虚拟机技术开发的跨平台办公套件方面(两者均可实现跨平台的兼容性)作出了成绩;又如微软与Novell“结盟”协议中,对Novell的Open Office与微软Office2007实现互操作相互作出了承诺。
网络的互操作性
通过“Web服务”由低层次到高层次的各项“通信协议”,逐年获得W3C、OASIS等国际标准组织批准,成为公用标准,使得异构应用系统通过这些网络的“通信协议”实行互操作。
历年来逐年获得批准的“Web服务”的公用标准有:传输(Transport)标准如TCP/IP、HTTP、SMTP等,语言格式(Format)标准如XML,消息(Message)标准如SOAP,描述(Description)标准如WSDL、UDDI,协同工作(Coordination)标准如WS-Coordination,交易(Transaction)标准如WS-Transaction,安全(Security)标准如WS-Security,服务语言(Service Composition)标准如BPML、BPEL、BPEL4WS等,有些高层次标准尚在审议中。
上述经国际标准组织批准的各层次的“Web服务”的公用“通信协议”均是开放标准,由于历史原因,各有关企业在较早时期推出其专用的“Web服务”“通信协议”(企业专用标准),如IBM的Websphere、BEA的Weblogic、Sun的SUNONE(均属J2EE),微软的.Net等,在提供用户应用中如何处理和平衡这些公用及专用标准,是一个研究课题。
操作系统之间的互操作
为了解决Linux与Windows两种操作系统之间的互操作性,人们先后采用了VMware虚拟机技术(这要在Linux平台上再装上Windows,以支持各种应用软件),Lindows(后来演变为Linspire)、Wine(这是两种采用二进制处理的模拟技术,是采用适应层的方式),以及依托.Net架构,采用微软编程语言和库函数,在Linux上实现的源代码模拟的Mono模式。上述这些互操作方案,其效率、效果均不甚理想。
国内“浙大网新”毛德操教授、首都师范大学刘金刚教授分别率领一支研究队伍,采用“兼容内核”的思路,试图解决Linux与Windows两种异构操作系统之间直接互操作的问题, 即促使相应应用软件可分别在两种异构的操作系统平台上进行平移,从而实现无缝兼容。
相信在解决了软件的互操作性,包括解决开源软件之间、私有商业软件之间,以及开源软件与私有商业软件之间的互操作性问题之后,软件产业发展之路能更加宽广。