Interface description language




An interface description language or interface definition language (IDL), is a specification language used to describe a software component's application programming interface (API). IDLs describe an interface in a language-independent way, enabling communication between software components that do not share one language. For example, between those written in C++ and those written in Java.


IDLs are commonly used in remote procedure call software. In these cases the machines at either end of the link may be using different operating systems and computer languages. IDLs offer a bridge between the two different systems.


Software systems based on IDLs include Sun's ONC RPC, The Open Group's Distributed Computing Environment, IBM's System Object Model, the Object Management Group's CORBA (which implements OMG IDL, an IDL based on DCE/RPC) and Data Distribution Service, Mozilla's XPCOM, Facebook's Thrift and WSDL for Web services.




Contents






  • 1 Examples


  • 2 See also


  • 3 References


  • 4 External links





Examples



  • AIDL: Java-based, for Android; supports local and remote procedure calls, can be accessed from native applications by calling through Java Native Interface (JNI)


  • Apache Thrift: from Apache, originally developed by Facebook


  • Avro IDL: for the Apache Avro system


  • Data Distribution Service: In DDS IDL was identical to OMG IDL until version 3.5 when it branched in order to evolve independently of the OMG specification


  • CortoScript: Describe data and/or interfaces for systems that require Semantic interoperability


  • Etch: Cisco's Etch Cross-platform Service Description Language


  • Extensible Data Notation (EDN): Clojure data format, similar to JSON


  • Franca IDL: the open-source Franca interface definition language


  • IDL specification language: the original Interface Description Language


  • JSON Web-Service Protocol (JSON-WSP)


  • Microsoft Interface Definition Language (MIDL): the Microsoft extension of OMG IDL to add support for Component Object Model (COM) and Distributed Component Object Model (DCOM)


  • OMG IDL: standardized by Object Management Group and implemented in CORBA for DCE/RPC services, also selected by the W3C for exposing the DOM of XML, HTML, and CSS documents


  • OpenAPI Specification: a standard for REST interfaces, used by Swagger and other technologies.

  • Open Service Interface Definitions


  • Protocol Buffers: Google's IDL

  • RESTful Service Description Language (RSDL)

  • Specification Language for Internet Communications Engine (Ice: Slice)


  • Universal Network Objects: OpenOffice.org's component model


  • Web Application Description Language (WADL)


  • Web IDL: can be used to describe interfaces intended for implementing in web browsers


  • Web Services Description Language (WSDL)


  • XCB: X protocol description language for X Window System

  • Cross Platform Interface Description Language (XPIDL): Mozilla's way to specify XPCOM interfaces



See also



  • Component-based software engineering

  • Interface-based programming

  • Java Interface Definition Language

  • List of computing and IT abbreviations

  • Universal Interface Language

  • User interface markup language



References





External links




  • Documenting Software Architecture: Documenting Interfaces (PDF)

  • OMG Specification of OMG IDL

  • OMG Tutorial on OMG IDL


  • IDL types documentation by Dave Bartlett (September 2000)




Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)