解密SOA互操作的進化密碼
2006年5月,ODF正式被國際標準化組織審核通過成為國際標準文檔格式之后,我國“統一辦公文檔標準(UOF)”也被批準為國家標準。
微軟的Open XML文檔格式在取得歐洲計算機制造聯合會認可的基礎上,也正在向ISO申報要求成為國際標準。
這些標準的共存,體現了執行不同標準虛擬應用的互操作。
作為未來的技術趨勢之一,SOA正無可爭議地引領著軟件業的新一輪浪潮,并在未來給軟件和網絡帶來革命性的變化。為什么SOA如此受歡迎?這是因為SOA能夠解決IT領域一直存在的一些問題:首先,全球企業業務變化迅速,導致業務需求有了重大的改變,其次,企業員工是隨著IT系統的變化而變化,這違反了IT系統應該滿足業務需求的原則。最后,一些CEO發現IT部門70%的費用都花在手工運營上,而不是技術革新上,同時,IT的投資回報率也不高。
系統的改變了過去開發應用的模式,將軟件按照業務需求定義成“組件”,作為共享資源,提供以服務為中心的應用軟件設計方法。這種方法,能夠提高IT對業務的響應能力,使企業得以實時支持業務的變化,最終幫助企業轉變為服務驅動型企業。
微軟微軟公司大中華區首席技術官李志霄博士表示,首先,SOA不僅僅是技術框架,它更是對技術的應用。其次,由于互聯網技術的存在, PC服務器能力的提高,集群技術的日益成熟,標準的日益成熟,以及高起點的中間件技術,才使SOA成為可能。最后,SOA是一個“進化品”,通過消息來進行溝通,通過服務來滿足業務流程的自動化,從而實現產品對業務流程的管理,以及系統的安全性的保證。可以說每一個企業的SOA都是惟一的,它是為這個企業量身定做的。因此,也可以這么說,SOA就如同天空中的雪花,每一片都是不同的。
SOA不是某個產品,也不是某個技術,而是一種軟件設計架構和方法。SOA要求開發者從服務集成的角度來設計應用軟件,它將應用程序的不同功能組件定義為“服務”,通過“服務”之間的良好接口聯系起來。(也就是“服務”之間的松耦合。)接口是采用中立方式進行定義的,獨立于實現“服務”的硬件平臺、操作系統和編成語言。而且這些構建在各種各樣系統中的“服務”可以以一種統一和通用方式進行交互,保證系統靈活性,另外,還可以保證“服務”的重復利用。
由此可以看出,SOA的核心概念是“重用”和“互操作”,從而使企業的IT系統擁有極大的靈活性。其中互操作的含義就是能夠在不同的程序和系統之間成功地通訊、可靠且安全地相互交換信息。互操作性的實現工具既包括開放標準,又包括廣泛授權的專有標準,以及利用現存程序和技術的程序接口(API)、格式和協議的能力。而SOA的另一層意義就是整合,它將企業的IT資源整合成標準的、可操作的服務,使其能被重新組合和應用。在這種架構下,IT系統的復雜性并沒有增加,相反,隨著系統的不斷完善,整個系統的架構將變得更加清晰。
XML格式
1980年,IT行業中互操作還很少見。然而Digital、HP、IBM和NCR等各大IT廠商都提供了專有軟件及硬件解決方案。各廠商之間都不支持可以共同應用的系統(垂直的生態系統)。那時的消費者用戶不得不選擇某一個公司的產品和他相應的解決方案。相比較而言,今天的情況恰恰相反,互操作性在IT領域內獲得了長足的發展。
由于客戶使用不同廠商的硬件、軟件、應用,就需要把常用的功能抽取出來作為服務,同時就需要開發“設計上實現互相操作”的軟件,例如,在軟件中包含可擴展標識語言的XML技術,方便不同軟件之間的數據交換。
從SOA的角度上來看,互聯網的每個終端可以看成是一個個的節點,我們并不需要去關心每個節點的內部,只要通過XML的翻譯,知道每個節點的內部能夠為外部提供怎樣的服務,使每個服務具有互操作性。
對于第三方,不管是用戶還是開發人員,使用開放XML格式不會存在任何障礙。將它作為通用操作性技術后,人們將數據從一種格式轉換成另一種形式將變得非常之容易,而且許可機制也是完全開放的,參考資料也非常豐富。這種文檔格式不存在法律上和技術上的障礙。
在過去的幾年中,XML和網絡服務已經成為保證系統和程序間互操作性的方法之一,并得到廣泛的采用和認可。這一點可以從各種產品和技術中得到驗證,從微軟的Visual Studio.net到Microsoft Office 2007,這些軟件與生俱來就支持這些標準,并且幫助簡化和加快了系統之間的互操作的實現。
SOA中的互操作
SOA概念有一個隱藏的原則,就是將IT系統、軟件、設備和服務集成在一起,并能彼此“對話”的理念,即便設備和服務開始并沒有為這種互操作性進行特殊設計。網絡服務作為面向服務架構的實現方式令人振奮不已。使用SOA概念的程序被構造成可重復使用、協作運行的服務組,其中每個服務都負責一個或者多個被清楚標示和界定的用戶任務、業務流程或信息服務。
SOA中的有效服務終端使用網頁服務,并依次顯示出所使用的標準,例如XML、SOAP、WSDL等等。
SOA模式依賴于行業標準,這些標準使得服務能夠在諸多不同的平臺上運行,并且保證彼此之間仍然能夠相互操作和通信。服務可以被傳輸到在任何平臺或者設備能夠與基礎服務界面對話。消費應用對這些平臺或設備的惟一要求是其能夠符合并使用相關標準(如圖1)。
圖1 通過SOA進行不同廠商產品間的整合
利用這種方式.NET網絡服務能夠應用到豐富的Windows客戶端應用程序、Smartphones、PDA、網絡瀏覽器或Java程序中。同樣,一個J2EE網絡服務能夠被相同的客戶使用。或者,這類在不同平臺上的網絡服務實際上能夠在彼此之間進行直接對話。這時關鍵的優勢-能夠讓構建在不同平臺和技術上的服務在部門內、部門間以及與客戶、公司和政府等外部用戶之間進行通信和共同操作。
同時,可以通過使用Web服務來實現互操作和SOA,包括在Internet上以基于XML的消息訪問數據庫與業務邏輯及激活web service;在Internet上打破時空限制;許多的服務提供者;運算無處不在;承接歷史,照顧現狀, 考慮未來;IT 正確的IT架構使企業生產力成幾何倍數增長。
網絡服務協議
圖2 網絡服務協議
這些協議是幾本構建塊,以提供現今以使用的SOA和提供現今以使用的SOA和提供真正獨立于廠商的互操作性。這些協議是作為一個跨行業倡議而開發的。微軟、國際商業機器公司、SAP、BEA、Verisign等公司發起并參與其中,其策略是:
◆ 與平臺經銷商和主題事務專家合作發布滿足每個功能領域要求的規范。
◆ 加速這些規范的廣泛采用。
◆ 開展一系列互操作性研討會,從而制定出這些協議有效實施方案-關鍵步驟是通過經證實的跨廠商的實施和支持來保證規范具有實際意義。
這種方式確保能夠獲得產業的廣泛支持,并且使得定義的標準和協議能夠在業界大部分企業的工作技術和產品中得到支持。這些標準的開發已經得到了廠商廣泛參與,在互操作性實驗室中共同工作,以證明這些標準實現了真正的跨系統和跨應用的互操作性。將實際的實驗室和反饋作為這些標準開發過程的一部分,這一做法本身就意味著這些標準在發布時就已經擁有來自主要信息技術廠商的廣泛支持。這有助于避免那種閉門造車脫離實際的標準,而這樣的情況恰恰就在以前的一些標準開發嘗試中給我們帶來了困擾。
通過協議堆棧逐步建立更多細節:
傳送層構建在網絡HTTP、TCP、SMTP等無處不在的傳送標準上。網絡服務需要獨立傳送,以保證在每種情況下都能作出最好的選擇。
XML被用來實現各種系統間的數據互操作性:XML、SOAP和WSDL已經成為跨越各種系統和信用界限的互操作性的混合語。在包括微軟、IBM、IONA、BEA、Sun、Oracle等主流廠商的發布的產品中,XML、SOAP和WSDL得到了廣泛的支持。
基礎層使用一系列相關聯的標準來處理消息、安全、可靠性、交易和元數據。
程序和程序基礎結構層與相關的管理流程和業務流程處理應用空間。一旦該基礎層就位,就可以使用豐富的客戶端或者瀏覽器的功能開發相關的應用程序。對于高級業務流程管理和系統管理能力需要一些隱含的此類相關程序。由于這些網絡服務協議具有廣泛的跨行業支持,他們為企業和政府互操作標準的制定提供了極為有用的基本要求。
我們正步入一個新的世界。在這個世界里,可能從松散連接的自主服務中構建系統和程序,從而能以一種現在還不可能完全預先設想的方式來利用在他們間傳播的信息資產。為了利用好這樣的環境,需要開發以更緊密和直觀的方式來整合這些信息資產的技術。
圖3 Web services:互聯互通的行業標準
互操作的主要好處
互操作對于商務、其他組織機構、消費者和政府之所以重要,原因在于:
◆不但能進行開放式訪問信息,還能解決原有系統的兼容問題。
◆以客戶選擇、競爭和創新為基礎,建立起健康的IT生態系統。
◆降低成本的同時提高效率和靈活性、提升系統價值。
◆促進系統的整合和競爭產品之間的合作。
◆推動重大的社會和政策解決方案的出臺,例如:可訪問性、保密性和安全性。
#p#
存儲廠商在存儲世界中必須面對的一個問題就是互操作性,而互操作只有和虛擬化更加緊密地結合,才能實現業務關鍵業務的全面互操作。
隨著互聯網的出現,信息量的快速增長,網絡設備的不斷增加,存儲世界中的互操作性就變得尤為重要非常突出。尤其是在存儲領域,互操作性幾乎成為了那些擁有大量不同廠家存儲設備的大中型企業非常頭痛的一個問題。
例如,一個廠商的存儲產品如果不能支持其他廠商的服務器或者存儲設備,那么用戶在安裝部件以及解決問題的時候,就會面臨更高的復雜性。
而且,如果異構環境中設備能夠互相支持操作的話,就可以減少各種不同的架構和應用程序間的“摩擦”,從而使整個系統的操作效率得到提升。
現在的計算機系統是由應用層、Database、操作系統以及硬件平臺組成。進行網絡存儲的方式有兩種,一種是通過TCP/IP,另外一種是通過光纖,再連入存儲系統,但無論哪一種方式都要確保各種平臺、系統以及應用層之間的互通性,這是系統正常運行的基礎,EMC公司在存儲設備中加入的虛擬化控制器就是執行互通性的設備。
為了維持存儲的互操作性,需要非常巨大的投入,以EMC為例,從2003年到2006年,就花費了超過100億美金的創新投入,其中70億美元用于收購,30億美元用于研發,這其間EMC花費了大量成本以保證各個收購產品和解決方案能夠實現互操作來進行維護存儲設備的互操作性。
EMC大中國區產品及技術總監杜國強認為:要實現存儲的互操作性,就必須從以下三個方面來著手:虛擬化、標準化和各大設備廠商間的協調與測試。
存儲虛擬化
要實現存儲網絡的互操作性,離不開存儲虛擬化,虛擬化是一個重要的前提。
廣義上講,虛擬化是虛擬多個操作系統,這些操作系統與應用程序共用硬件裝置,但在邏輯上各自獨立運行互不干擾。虛擬層映射實體的硬件資源到自己本身的虛擬機器資源,因此每個虛擬機器都有各自的CPU,內存,硬盤,I/O設備等。
存儲虛擬化是以存儲設備為對象的軟硬件虛擬化產品,存儲廠商一般根據各自所掌握的核心技術來提供自己的虛擬存儲產品。
我們可以看到不同廠家、社團和媒體對存儲虛擬化的闡述不同定義:存儲虛擬化源于虛擬內存技術,是內存管理技術向外存儲系統管理中的遷移; 虛擬存儲概念源于大型機,是大型機領域的有效軟件工具向開放系統滲透的結果;存儲虛擬化是種新的革命性的概念; 虛擬化是網絡存儲發展的必然,是網絡存儲環境下不同存儲系統優化和管理的必要工具。
如果要進行存儲虛擬化,需要考慮很多復雜的問題。首先虛擬存儲所虛擬對象是一些存儲資源、磁盤、磁帶、文件、文件系統、數據塊等。其虛擬結果是虛擬磁盤、磁帶、文件、文件系統、數據塊等。虛擬對象不一定是物理設備,也可是邏輯對象。虛擬存儲可將物理設備虛擬成物理設備,也可將物理設備虛擬成邏輯對象或將邏輯對象虛擬成物理設備。
圖1 存儲拓撲圖
圖1表示的是集成了應用層、Database、操作系統以及硬件平臺的各種服務器,中間通過一個“SAN”交換機連接不同廠商的存儲設備。
而存儲虛擬化不僅僅需要虛擬存儲容量,更要要虛擬各廠商存儲設備的CPU、內存等等,就是通常說談到的處理能力。同時還要虛擬化它的這條路徑(交換機到存儲),這又成為一個復雜的問題,因為不論是網絡連接中的哪個節點發生任何變化,都可能導致全部節點的變化,這也正是存儲網絡虛擬化最大的難點。
而網絡級的虛擬化,才是真正意義上的存儲虛擬化。它能將存儲網絡上的各種存儲子系統整合成一個或多個可以集中管理的存儲池,并在存儲池中按需要建立一個或多個不同大小的邏輯卷,并將這些邏輯卷按照一定的讀寫授權分配給存儲網絡上的各種應用服務器。
克服了主機級存儲虛擬化無法實現管理授權的問題,也避免了存儲子系統級虛擬化管理不靈活的弱點,達到了充分利用存儲容量、集中管理存儲、降低存儲成本的目的。網絡級的存儲虛擬化技術以其兼容性、擴展性、管理性、靈活性、可用性、安全性方面的優勢,受到廣泛的重視,具有極其光明的應用前景。
網絡存儲“NAS”之存儲虛擬化技術,是在通信協議TCP/IP的平臺上面,任何客戶都可以通過處理GNS(Global Named Space),讓客戶端可以很迅速、準確地查到所需要的文件、文檔,卻并不需要知道這個文件詳細的路徑。
同樣以EMC的Rainfinity為例,Rainfinity在一個單一接口中包括了優化容量管理、性能管理、存儲整合、分層存儲管理、數據保護、同步復制和全局命名空間管理等應用,據此實現了NAS條件下的虛擬化。
EMC大中國區產品及技術總監杜國強先生表示,在虛擬化方面EMC的實力雄厚,目前全球十大虛擬化的專家有六個在為EMC工作,其中就包括被稱作“虛擬化之父”的Mark Louis。
標準化:互操作的必由之路
近來,隨著全球氣候日趨變暖,節能和綠色環保正在引起人們的高度重視,同時,也受到越來越多數據中心管理人員的關注,綠色IT、綠色存儲大概是近來存儲領域出現頻率最高的詞匯了。
綠色存儲
在各種電腦設備中,存儲設備耗能一般要占到整個數據中心電力消耗的30%~40%。而幾乎所有的企業,不論規模大小,都面臨著業務數據不斷增加、存儲需求日益膨脹的挑戰。
綠色存儲,正在成為計算機節能的一個重要攻堅目標。而綠色存儲的實現離不開存儲的虛擬化,今天某個客戶可能有上百套的服務器,包括IBM、SUN、Intel的各種類型的服務器,甚至有刀片服務器,這就出現了一些新問題,大量的服務器需要通過虛擬化工具把它們變成100:1使用,也就是說你這里有1000套的話,最多這里會變成10套,然后會開一個虛擬的環境模仿每個節點。否則這些服務器和存儲器就會占到計算中心大量的空間。APC有一個數據統計,一個數據中心大概50%左右是服務器跟存儲的能耗,大概10%是網絡,另外還有20%多是空調,所以最消耗能源的是什么?服務器跟存儲。
現在各行各業都在談綠色、環保節能,這時虛擬化的優勢就充分體現出來了,他可以節省掉很大一部分的空間,同時也就節省了能耗。
現在世界各地都在強調節省能耗的問題,以美國為例,如果某家公司由于工作,需要添加一臺路由器,就要求必須撤出公司另外一臺原有的路由器,就是來限制能源消耗的繼續增加。
存儲標準
存儲最終要在虛擬化的基礎上實現互操作性,離不開標準的制定。標準在存儲領域中扮演著越來越重要的角色,舉一個最簡單的例子,硬盤是機械的,首先有可能出機械性問題,其次,由于各種存儲設備更新速度比較快,也可能在數據保存7~8年以后導致數據無法正常讀取,此時標準的出臺就顯得尤為重要。通過各方力量對存儲標準不遺余力地推動,將使得存儲標準化的程度越來越高,用戶的存儲使用成本將越來越低。
杜國強認為,“世上本無路,走的人多了,也就成了路”。ILM如此,互操作性亦如此。當所有廠商都在談論存儲的互操作時,自然就會有人站出來提議建立相關的標準。
存儲業界著名的基于也以成立了以確立技術標準確立的為目標的中立性組織SNIA (全球網絡存儲工業協會)。自1997年成立以來,已經有400多家存儲廠商加入了SNIA, 該協會為實現網絡存儲的兼容和標準化起到了重要的作用。
圖2 在TCP/IP上各大廠商的存儲設備
各大廠商的協調與配合
要想實現設備間的互操作,諸如微軟、EMC、HP和IBM等國際軟硬件巨頭之間的協調與配合也是必不可少的。例如,2006年, EMC先后宣布與Oracle和SAP兩大軟件巨頭合作,通過產品認證、測試等一系列措施,加強軟件領域的無縫集成,提高了易用性。
在EMC、HP和IBM等廠商之前,簽署有一個叫做“CSA”協議,這個協議可以防止各大IT廠商通過簽署這個協議改變在用戶使用不同品牌的產品在發生問題時,在發生問題后被廠商之間互相扯皮的事情發生“踢皮球”的尷尬。他該協議對每個廠商的義務都有詳細的規定。各大廠商在對自己的產品進行宣傳的時候,均不得以其他品牌無法與自己的產品實現互操作為由,獲得不正當的利益。
為了保證所有品牌的設備都能夠無縫平滑地實現互操作,滿足CSA協議對各方在互操作性上的要求,各大廠商在推出各自的新品牌之前,一般都會與其他廠商進行協調,并將自己的產品送到其他設備提供商處進行測試。如此,設備間的互操作性就能得到有效的保證。
我們有理由相信,在上述因素的共同推動下,實現硬件設備間、硬件和軟件設備間的互操作性并不遙遠。互操作終將跨越“天塹”,打開設備互連的“通途”。
開源需要互操作
各種開源軟件與各種私有商業軟件在各自相互之間,在各個層次上的互操作性問題引起了業界的廣泛關注,開源軟件在實現互操作性方面具有天然優勢。
執行開放標準,解決互操作性,已成為當前軟件產業發展中的一個核心問題。
二十世紀后期以來,世界經濟進入全球一體化和快速增長期,需要有一種具有可操作性的途徑來實現計算資源的整合和信息共享,為此呼喚實施開放標準
而開放標準指的是通過應用編程接口、通信協議以及數據和文件格式,使用公開發布并為公眾認可的技術規范來實現異構系統之間的互操作性。開放標準的全部價值在于它對異構系統靈活性的支持,只有采用開放標準才能建立支持異構系統互聯互通、互操作、信息共享、資源整合的統一平臺。
所以,解決軟件的互操作性,包括解決開源軟件之間、私有商業軟件之間,以及開源軟件與私有商業軟件之間的互操作性問題,已成為當務之急,并已形成當前軟件產業發展中的一股技術潮流。開源軟件在這方面的優勢是:它充分體現開放標準實施的過程;面對應用解決方案,它既適合于建立開源架構(Open Source Stack),也適合于建立混源架構(Mixed Source Stack),且更有利于建立在松耦合條件下面向服務的架構(SOA,這是一種有利于解決異構系統之間在相互通信、交換數據困難時的符合開放標準的架構);以及采用虛擬化技術的共存架構(這是一種擴大互操作性概念的架構);開源軟件的社區協作開發方式,是建立開放標準統一平臺的一種創新模式。
這里要指出的是關于互操作性的概念。所謂互操作性(Interoperability)是指一個軟件系統與另一個軟件系統互相間具有接收、處理并共享所發送信息的能力。有人認為,兼容性也可以歸納在互操作性的范疇內。
所謂兼容性( Compatibility),指某個系統上運行的應用程序符合另一個系統的接口要求,從而使該應用程序也可在另一個系統上運行,這時對該應用程序符合某個接口的能力稱為兼容性。從上面對互操作性和兼容性概念的表述來看,它們間有共性,也有區別,一般來說互操作性涉及到接口、協議、格式的公開性、一致性,內涵更豐富,具有公平性、主動性、戰略性的特點;而兼容性則具有依附性、被動性、短期性的特點,并可能要承擔“反兼容”的風險。
在虛擬化技術環境中,通常指物理服務器可虛擬成多個虛擬機的應用,操作系統是在虛擬的硬件上運行的,所以在虛擬的環境中可能同時存在幾種不同的操作系統,有人也把“共存”理解為“互操作性”,這是擴大互操作性概念的一種看法;而且服務器虛擬化只是起點,公用計算才是其目的。本文下面要談論的互操作性指的是其廣泛的概念。
談到互操作性,是分層次的例如:不同廠商(不同設備)之間的互操作;標準的互操作;架構的互操作;網絡的互操作;應用軟件的互操作;操作系統的互操作。
#p#
同廠商之間的互操作
對于開源軟件發布商來說,為了向市場銷售產品,售前需取得眾多配套的硬件廠商(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兩種異構操作系統之間直接互操作的問題, 即促使相應應用軟件可分別在兩種異構的操作系統平臺上進行平移,從而實現無縫兼容。
相信在解決了軟件的互操作性,包括解決開源軟件之間、私有商業軟件之間,以及開源軟件與私有商業軟件之間的互操作性問題之后,軟件產業發展之路能更加寬廣。
【編輯推薦】






















