歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

探討開源軟件的互操作策略


執行開放標准,解決互操作性,已成為當前軟件產業發展中的一個核心問題

  縱論各種開源軟件與各種私有商業軟件在各自相互之間,在各個層次上的互操作性問題

  開源軟件在實現互操作性方面的天然優勢

  兼評微軟私有商業軟件在實行互操作性方面的正反措施

  二十世紀後期以來,世界經濟進入全球一體化和快速增長期,需要有一種具有可操作性的途徑來實現計算資源的整合和信息共享,為此呼喚實施開放標准。

  而開放標准指的是通過應用編程接口、通信協議以及數據和文件格式,使用公開發布並為公眾認可的技術規范來實現異構系統之間的互操作性。開放標准的全部價值在於它對異構系統靈活性的支持,只有采用開放標准才能建立支持異構系統互聯互通、互操作、信息共享、資源整合的統一平台。所以,解決軟件的互操作性,包括解決開源軟件之間、私有商業軟件之間,以及開源軟件與私有商業軟件之間的互操作性問題,已成為當務之急,並已形成當前軟件產業發展中的一股技術潮流。開源軟件在這方面的優勢是:它充分體現開放標准實施的過程;面對應用解決方案,它既適合於建立開源架構(Open Source Stack),也適合於建立混源架構(Mixed Source Stack),且更有利於建立在松耦合條件下面向服務的架構(SOA,這是一種有利於解決異構系統之間在相互通信、交換數據困難時的符合開放標准的架構);以及采用虛擬化技術的共存架構(這是一種擴大互操作性概念的架構);開源軟件的社區協作開發方式,是建立開放標准統一平台的一種創新模式。

  這裡要指出的是關於互操作性的概念。所謂互操作性(Interoperability)是指一個軟件系統與另一個軟件系統互相間具有接收、處理並共享所發送信息的能力。有人認為,兼容性也可以歸納在互操作性的范疇內,所謂兼容性( Compatibility),指某個系統上運行的應用程序符合另一個系統的接口要求,從而使該應用程序也可在另一個系統上運行,這時對該應用程序符合某個接口的能力稱為兼容性。從上面對互操作性和兼容性概念的表述來看,它們間有共性,也有區別,一般來說互操作性涉及到接口、協議、格式的公開性、一致性,內涵更豐富,具有公平性、主動性、戰略性的特點;而兼容性則具有依附性、被動性、短期性的特點,並可能要承擔“反兼容”的風險。在虛擬化技術環境中,通常指物理服務器可虛擬成多個虛擬機的應用,操作系統是在虛擬的硬件上運行(不是在真實的硬件上運行)的,所以在虛擬的環境中可能同時存在幾種不同的操作系統,有人也把“共存”理解為“互操作性”,這是擴大互操作性概念的一種看法;而且服務器虛擬化只是起點,公用計算才是其目的。本文下面要談論的互操作性指的是其廣泛的概念。

  當前在世界軟件界出現一種引人注目的景象:居全球軟件廠商之首的微軟,隨著它向全球推出新產品:Windows Vista和Office 2007的發布版之時,它一方面希望其自身產品與開源軟件產品實行“互操作”,力推其私有商業軟件插入到開源架構中來以組成混源架構的解決方案,不斷擴大與開源軟件廠商“結盟”;另一方面還是嚴格實施其“反兼容”措施,將其主要競爭者排斥在“互操作”伙伴名單之外。

  談到互操作性,是分層次的,即可分為:⑴ 不同廠商(不同設備)之間的互操作,⑵ 標准的互操作, ⑶ 架構的互操作,⑷ 驅動程序的互操作,⑸ 硬件平台的互操作,⑹ 文檔的互操作,⑺ 網絡的互操作,⑻ 應用軟件的互操作,以及⑼ 操作系統的互操作。

  一、 關於不同廠商不同設備之間的互操作

  對於開源軟件發布商來說,為了向市場銷售產品,售前需取得眾多配套的硬件廠商(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)同時,由開源軟件模塊與私有商業軟件模塊所代表的不同層次組成的混源架構作為滿足用戶需求的解決方案,目前也獲得了廣泛應用。而混源架構的發展就代表了架構的互操作性。

  開源運動的對策是:面對滿足用戶需求的應用解決方案,在發展開源架構同時,發展混源架構。

  四、驅動程序的互操作

  驅動程序涉及U盤、顯示器(卡)、硬盤、數字相機、打印機等外部驅動設備的程序軟件,操作系統與它們之間存在著互操作性或兼容性的問題。

  開源軟件作為崛起不久的新的軟件體系,在這方面存在更多有待於解決的互操作性或兼容性問題。

  微軟在推出Windows Vista後,也屢屢在“兼容”的門檻上絆跤,例如對諸如尼康、佳能等數款數碼相機,就無法在Vista平台上編輯、浏覽、處理影像等,甚至可能導致影像的消失、無法恢復。目前微軟正與相應的數字相機企業溝通合作,爭取早日提供解決方案。

  開源運動的對策是:加快與外部驅動設備廠商溝通合作,爭取早日提出有關各種兼容性的解決方案;開源軟件要爭取簡化、統一發行版,在克服品牌過度分散的基礎上,進一步加大在這方面兼容性的力度。

  五、硬件平台的互操作

  現在討論各種操作系統相對於各種硬件平台的兼容性或互操作性。所謂硬件平台包括①計算機(硬件)體系結構與硬件配置和管理接口,② 外部驅動設備互聯規范與總線接口,③ 網絡計算平台與協處理機接口。

  中國自主開發的基於龍芯(God Son)2E處理器的台式計算機(國芯天龍),目前預裝Linux操作系統和辦公軟件,迄今已售出1000多台。龍芯2E處理器采用mips架構,該架構在Linux內核的官方版本中已作了“架構描述”(即實行了硬件架構平台的平移),並采用“新華”和“共創開源”版本的Linux發行版,較好地實行了 Linux操作系統與龍芯硬件平台的兼容。

  開源運動的對策是:進一步解決好開源操作系統與計算機、外設、網絡平台的質量測試認證、預裝和互操作性問題。

六、文檔的互操作

  文檔的互操作性可分成三個層次,即:① 文件系統的互操作(體現在硬盤中的信息存儲與讀寫,用戶希望對文件具有長時間存取能力),② 文件(體現為信息,指文件或信息的規范、格式和標准),③ 應用程序(具有生成文件進行信息處理的功能)。

  對文件系統的互操作性來說,已解決了在兩個異構操作系統(如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實現互操作相互作出了承諾。但這裡有兩點要引起我們注意:① 微軟承諾與Novell版的Open Office實行互操作,② 微軟宣稱,這裡可能還涉及保護知識產權問題,隨即微軟承諾對Novell的用戶可免除專利侵權的訴訟。這似乎有分裂開源運動的傾向,至於Linux版本是否涉及侵犯微軟專利權問題,也似乎有虛聲恫嚇的傾向;開源社區要團結一致,以整體形象來對抗微軟的分裂或無理的訴求,反制所謂專利侵權,才是出路。

  開源的對策是:進一步解決在Linux或Windows環境中生成的新的高層次的文件系統可置於對方環境中讀、寫問題,開發UOF與ODF的轉換器,進一步解決基本應用程序的互操作問題。

  七、網絡的互操作性

  通過“Web服務”(Web Services)由低層次到高層次的各項“通信協議”,逐年獲得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的Web Sphere、BEA的Web Logic、Sun的SUNONE(均屬J2EE),微軟的.Net等,在提供用戶應用中如何處理和平衡這些公用及專用標准,是一個研究課題。

  開源運動的對策是:促進高層次的“Web服務”(Web Services)公用標准的開發、審批,使之形成完整的標准體系,並進行全面貫徹;同時要研究相應的公用及專用標准在使用中的平衡問題。

  八、應用軟件的互操作

  一些主要的應用軟件如相應企事業單位的主要業務軟件,財務軟件,安全軟件,游戲軟件,實時通信軟件,聊天功能軟件等。

  微軟Windows Vista推出之初,存在“四高”問題:①對硬件高配置的依賴,②高電耗,③高價格,④兼容性要求高。Vista不兼容一些常用的應用軟件,與一些網絡游戲、聊天QQ(在國內有2.2億用戶)、網上銀行的密鑰軟件等不兼容,微軟正與有關應用軟件開發廠商溝通、合作,爭取早日找出兼容性解決方案。

  微軟宣布了與Windows Vista兼容運行(實行兼容性認證)的目錄表,列舉了800款兼容的應用軟件,但該表把一些企業的軟件排除在外,如:Quick(Quickbooks 個人理財軟件),IBM(Lotus Notes軟件,特別是近期推出的Open Client辦公軟件,對微軟Office 2007構成威脅),Adobe(如Acrobat 7.0軟件,因Adobe的PDF文檔規范對微軟生產的XPS文檔規范構成明顯的競爭),Symantec(主要是安全軟件),Aplle(如i- Tunes音樂播放器軟件與微軟的數字播放器軟件Media Player構成明顯競爭)等。

  開源運動的對策是:在Linux/OSS平台上,大力發展與各種應用軟件的兼容性或互操作性,以構成豐富互動的生態環境;桌面Linux的開發尚有較大的改善和提高的空間,問題主要存在於應用軟件還不夠豐富,且兼容性尚不足,以及操作習慣問題等,我看可以換一種解決思路,即對業務較為規范的用戶,可推出瘦終端的桌面Linux系統, 或開發定制、半定制軟件,對采用IBM“Open Client”終端辦公軟件的模式也可借鑒。

  九、操作系統之間的互操作

  為了解決Linux與Windows兩種操作系統之間的互操作性,人們先後采用了VMware虛擬機技術(這要在Linux平台上再裝上 Windows,以支持各種應用軟件),Lindows(後來演變為Linspire)、Wine(這是兩種采用二進制處理的模擬技術,是采用適應層的方式),以及依托.Net架構,采用微軟編程語言和庫函數,在Linux上實現的源代碼模擬的Mono模式。上述這些互操作方案,其效率、效果均不甚理想。

  國內“浙大網新”毛德操教授、首都師范大學劉金剛教授分別率領一支研究隊伍,采用“兼容內核”的思路,試圖解決Linux與Windows兩種異構操作系統之間直接互操作的問題, 即促使相應應用軟件可分別在兩種異構的操作系統平台上進行平移,從而實現無縫兼容。

  開源運動的對策是:我們支持“兼容內核”的思路,以及他們的工作和方案,但他們在這方面解讀並建立庫函數的工作量很大,並要對微軟一旦采取“反兼容”時應有緊急應對策略.


Copyright © Linux教程網 All Rights Reserved