詞條簡介
互操作性,互用性 Interoperability
互操作性分為不同的級別,這是因為兩個系統連線並共享信息,不能簡單地認為用戶也能從自己的應用程式中訪問這些信息。例如,一台UNIX工作站能用TCP/IP
通信協定與一台
Novell NetWare伺服器相連。但是,UNIX工作站的用戶除非使用兼容的檔案協定,否則不能訪問伺服器上的檔案。在這個例子中,載入到NetWare
檔案伺服器上的Novell NetWare NFS將允許
UNIX用戶和
NetWare客戶一樣以一種
集成化無縫的方式訪問檔案及其它的網路資源。
但是即使是這種級別的互操作性也不能保證UNIx用戶有可能打開和編輯他在NetWare伺服器上所訪問的檔案。用戶訪問非兼容的檔案格式,將需要
翻譯器和轉換器。在某些情況下,應用程式自身就能訪問操作在其它環境中的應用程式所生成的檔案格式。主要的軟體供應商如Microsoft,通過生成工作在多個環境中的應用程式,部分地緩解了這種差異性。例如,Microsoft Excel電子表格程式能工作在
Windows環境和Macintosh環境。如果一個Windows用戶傳輸一個檔案到一個
Macintosh用戶,則這個Macintosh用戶能打開這個檔案並使用這個檔案所提供的格式化代碼。
解決辦法
術語“
開放式系統”意指通過遵循彼此認可的標準設計的能
協同工作的產品,如由國際標準化組織(ISO)推出的
開放系統互連(OSI)模型OSI模型由七層組成,其中的每層都描述了系統之間是如何連線和通信的。0SI模型是通用全球的設計和建造可互作業系統的一個參考點。
協定棧的底層定義了聯網硬體,以及系統是怎樣實際相互傳送數據的,而上層定義了應用程式間的互操作。大多數供應商生產的產品都是鬆散地遵守這個標準的,這意味著某些層按OSI定義實現了而另一些層則沒有。由於不是嚴格地遵守該標準,所以互操作性仍為網路管理者所關注。
開放軟體基金會(
OSF)正致力於在
表示層和
套用層上支持互操作性的工作。它的分散式計算環境(DCE)提供給
程式設計人員一些工具,程式設計人員能用這些工具生成互操作性的應用程式,從而把他們從用低層協定工作的複雜性中解脫出來。所生成的應用程式能運行在分散式
異構網路環境中。由OSFDCE提供的
遠程過程調用(RPC)具有傳輸獨立性和傳輸透明性。傳輸獨立性意指
RPC能運行在任何一個
廣域網或區域網路上,而傳輸透明性指不管應用程式在哪種網路環境中運行,
分散式應用程式代碼均以同樣的方式運行。
電子函件和
訊息傳遞系統提供了一種唯一的方法解決了互操作問題。一個企業E-mail系統用E-mail系統作為一個信關或交換系統來向不同系統上的用戶提供一種交換訊息、檔案和其它信息的辦法。
訊息傳遞系統也實現在應用程式中以提供應用程式間通信或用戶和應用程式之間的非實時訊息交換。例如,一個用戶可能為得到一份報告而向資料庫發一個請求,第二天就從他/她的信箱中收到這份報告。比電子函件更優秀的是
群件和
工作流軟體應用程式,它們允許用戶協調他們的調度和工程。
在企業計算環境中,互操作性是主要關注的問題。
企業網中聚集了以前屬於各個部門和分部的計算資源,目的是允許整個網上的用戶訪問各個系統上的數據。運行在Windows、Macintosh、
DOS和其它環境中的前端應用程式需要訪問各種後端系統上的數據,這些數據以各種格式出現並能用
結構化查詢語言(SQL)訪問。但由於各個供應商的SQL都存在微小的差異,因此前端應用程式必須知曉每種差異,或靠後端伺服器翻譯傳送給他們的命令。轉換功能來禁止這種差異,另一種解決方法是“
中間件”。它在前端和後端應用程式之間提供了一個互操作性的層。下面列出部分
中間件,並將在本書的其它章節中加以討論。
Microsoft開放資料庫連線(ODBC)ODBC提供一些由大多數後端
資料庫系統所執行的公用功能。
然後,前端應用程式被編寫並進入
ODBC利用ODBC的這些功能。
獨立資料庫API(IDAPI)IDAPI在功能上類似於ODBC,且也是根據調用級接口設計的。
分散式關係資料庫體系結構(DRDA)DRDA是在遵循SQL標準的IBM和非IBM平台上訪問資料庫信息的一個IBM標準。它是IBM信息倉庫框架的一個關鍵部件。
蘋果公司的數據訪問語言(DAL)Apple開發出DAL以向Macintosh用戶提供訪問多個後端資料庫產品的能力,後端資料庫包括IBM
大型計算機和中型機資料庫。DAL與SQL相關。
Oracle′s Glue Glue是一個
API,包括一系列訪問後端
資料庫伺服器的命令。據報導,與ODBC相比
Glue將花較少的步驟訪問數據。
在一個面向對象的系統中,一個對象請求代管者(ORB)提供關鍵通信工具,以在系統的應用程式、服務和工具之間分發訊息。你可把ORB想像成為一種軟體匯流排,或主幹網,提供一個公用的訊息傳遞接口,通過這個接口許多不同種類的系統能互相通訊。一個對象向ORB提交一個請求,然後ORB就找到能為這個請求服務的對象、格式化請求並把它傳送給服務對象。接收對象這時回響這個請求並向ORB返回一個回響,ORB格式化和轉發回響給請求者。在這種模型中,對象簡單地指定一個要執行的任務,它們不需要知道服務任務的對象的任何細節及其地址。ORB處理查找對象、格式化訊息以及傳輸訊息的所有細節。對分散式環境中的所有對象而言,ORB是一個通用接口。
STREAMS是一個允許在一個網路上使用多個
通信協定的開發和操作環境。它套用在UNIX和Novell NetWare環境中,同時也適用於其它一些環境。運行在STREAMS環境中的應用程式能非常容易地使用它所支持的任何一個
通信協定。STREAMS是一個模組化系統,在這個系統中
協定棧能按需求增加或刪除,它以模組的形式向開發者們提供一組實現
通信協定的工具。
在低層上,互操作性提供多
協定支持,所以用戶能訪問許多不同類型的系統。例如,如果TCP/IP和SPX/IPX
協定棧安裝在一台計算機上,則這台計算機上的用戶能訪問一台NetWare伺服器以及一台UNIX伺服器。Nove11的
開放數據鏈路接口(ODI)和Microsoft的
網路驅動程式接口規範(NDIS)提供了裝載多
協定棧並在單個網路接口卡上操作這些協定的能力。
相關條目
Compound Documents
複合文檔;Distributed Computing Environment,OSF OSF的分散式計算環境;Document Interchange Standards
文檔交換標準;Electroic Mail電子函件;Groupware
群件;Messaging API,Inter-Application應用程式間的訊息傳遞API;Middleware
中間件;Object Linkingand Embedding對象連結和嵌入;Object Request Broker對象請求代管者;Open System Interconnection Model
開放系統互連模型;Remote Procedure Calls
遠程過程調用;Windows Open System Architecture Windows開放
系統體系結構。
相關定義
語法互操作性
對於深入推進互操作性的任何工作而言,
語法互操作性都不可或缺。如果一個系統能夠進行通訊和交換數據,那么,它就具備語法協同工作能力。就數據的通訊而言,基本的要素包括規定的
數據格式、
通訊協定以及接口描述等等。一般而言,
XML或
SQL標準提供的就是語法互操作性。
語義互操作性
數據交換至少要涉及到兩個
計算機系統參與方:即傳送方計算機系統和接受方計算機系統。數據交換旨在為所有的參與方計算機系統,或者交換雙方或其中之一帶來有用的結果。不過,這些參與方計算機系統的所有用戶事先已經就有關何謂有用結果的規定達成了一致意見。只有當參與方計算機系統之間所交換的數據能夠得到對方正確處理和使用的情況下,才能稱為實現了語義協同工作能力。