IDL(Interface Definition Language)即接口定義語言,是CORBA規範的一部分,是跨平台開發的基礎。IDL提供一套通用的資料類型,并以這些資料類型來定義更為複雜的資料類型。可變化 IDL 基本類型 整數類型 OMG IDL 摒棄int 類型在不同平台上取值範圍不同帶來的多義性的問題。常數定義常數可以是整數、字元、浮點數、字元串、Boolean、octet 或枚舉型,不能是 any 類型或使用者定義的類型。OMG IDL數組類型IDL array 和 sequence,可以輕易地被映射到實作語言中。序列可以包含所有類型的元素,不管是基本類型還是使用者定義的類型。
IDL(Interface Definition Language)即接口定義語言,是CORBA規範的一部分,是跨平台開發的基礎。IDL提供一套通用的資料類型,并以這些資料類型來定義更為複雜的資料類型。可變化 IDL 基本類型 整數類型 OMG IDL 摒棄int 類型在不同平台上取值範圍不同帶來的多義性的問題。常數定義常數可以是整數、字元、浮點數、字元串、Boolean、octet 或枚舉型,不能是 any 類型或使用者定義的類型。OMG IDL數組類型IDL array 和 sequence,可以輕易地被映射到實作語言中。序列可以包含所有類型的元素,不管是基本類型還是使用者定義的類型。
OMG IDL檔案概述
從本質上講,OMG IDL接口定義語言不是作為程式設計語言展現在CORBA體系結構中的,而是用來描述産生對象調用請求的客戶對象和服務對象之間的接口的語言。OMG IDL檔案描述資料類型和方法架構,而服務對象則為一個指定的對象實作提供上述資料和方法。
OMG IDL檔案描述了伺服器提供的服務功能,客戶機可以根據該接口檔案描述的方法向伺服器提出業務請求。在大多數CORBA産品中都提供IDL到相關程式設計語言的編譯器。程式設計人員隻需将定義的接口檔案輸入編譯器,設定編譯選項後,就可以得到與程式設計語言相關的接口架構檔案和輔助檔案。
IDL檔案應用過程如圖1所示。
1. OMG IDL檔案舉例
module Compute
{ typedef double radius;
typedef long times;
interface PI
{ double getResult( in radius aRadius, in times time); }
}
interface JobManager
{ readonly attribute string FirstName;
attribute string status;
string QueryJobStatus( in long Number, out string property); }