IDL

IDL

IDL是Interface description language的縮寫,即接口描述語言,是CORBA規範的一部分,是跨平台開發的基礎。IDL通過一種中立的方式來描述接口,使得在不同平台上運行的對象和用不同語言編寫的程式可以相互通信交流;比如,一個組件用C++寫成,另一個組件用Java寫成。IDL通常用於遠程調用軟體。OMG IDL檔案描述數據類型和方法框架,而服務對象則為一個指定的對象實現提供上述數據和方法。IDL檔案套用過程如圖1所示。其中float表示單精度浮點數,double表示雙精度浮點數,long double表示擴展的雙精度浮點數。

簡介

接口描述語言(Interface description language,縮寫IDL),是CORBA規範的一部分,是跨平台開發的基礎。

IDL是用來描述軟體組件接口的一種計算機語言。IDL通過一種中立的方式來描述接口,使得在不同平台上運行的對象和用不同語言編寫的程式可以相互通信交流;比如,一個組件用C++寫成,另一個組件用Java寫成。

IDL通常用於遠程調用軟體。 在這種情況下,一般是由遠程客戶終端調用不同作業系統上的對象組件,並且這些對象組件可能是由不同計算機語言編寫的。IDL建立起了兩個不同作業系統間通信的橋樑。

從本質上講,OMG IDL接口定義語言不是作為程式設計語言體現在CORBA體系結構中的,而是用來描述產生對象調用請求的客戶對象和服務對象之間的接口的語言。OMG IDL檔案描述數據類型和方法框架,而服務對象則為一個指定的對象實現提供上述數據和方法。

OMG IDL檔案描述了伺服器提供的服務功能,客戶機可以根據該接口檔案描述的方法向伺服器提出業務請求。在大多數CORBA產品中都提供IDL到相關程式語言的編譯器。程式設計人員只需將定義的接口檔案輸入編譯器,設定編譯選項後,就可以得到與程式設計語言相關的接口框架檔案和輔助檔案。IDL檔案套用過程如圖1所示。

數據類型

(1)基本數據類型:OMG IDL基本數據類型包括short、long和相應的無符號(unsigned)類型,表示的字長分別為16、32位。

(2)浮點數類型:OMG IDL浮點數類型包括float、double和long double類型。其中float表示單精度浮點數,double表示雙精度浮點數,long double表示擴展的雙精度浮點數。

(3)字元和超大字元類型:OMG IDL定義字元類型char為面向位元組的碼集中編碼的單位元組字元; 定義類型wchar為從任意字元集中編碼的超大字元。

(4)邏輯類型:用boolean關鍵字定義的一個變數,取值只有true和false。

(5)八進制類型:用octet關鍵字定義,在網路傳輸過程中不進行高低位轉換的位元序列。

(6)any數據類型:引入該類型用於表示OMG IDL中任意數據類型。

接口

CORBA接口作為服務對象功能的詳細描述,封裝了服務對象提供服務方法的全部信息,客戶對象利用該接口獲取服務對象的屬性、訪問服務對象中的方法。

接口用關鍵字interface聲明,其中包含的屬性和方法對所有提出服務請求的客戶對象是公開的,如下例:

interface JobManager

{ readonly attribute string FirstName;

attribute string status;

string QueryJobStatus( in long Number, out string property); }

特點

1、IDL是一種規範語言。

2、IDL看上去很像C語言。

3、OMG IDL的目的是定義接口和精簡分布對象的過程。

4、IDL分離對象的接口與其實現。

5、IDL剝離了程式語言和硬體的依賴性。

6、使用IDL定義接口的客戶機程式設計師不知道接口背後的實現細節。

7、IDL提供一套通用的數據類型,並以這些數據類型來定義更為複雜的數據類型。

相關詞條

相關搜尋

熱門詞條

聯絡我們