接口描述语言 IDL


接口描述语言 IDL

文章插图
IDL(接口描述语言)【接口描述语言 IDL】IDL是Interface description language的缩写,指接口描述语言,是CORBA规範的一部分,是跨平台开发的基础 。
基本介绍中文名:接口描述语言
外文名: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中任意数据类型 。接口(interface)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提供一套通用的数据类型,并以这些数据类型来定义更为複杂的数据类型 。