- Source: Interface description language
An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs are usually used to describe data types and interfaces in a language-independent way, 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, Microsoft's Microsoft RPC (which evolved into COM and DCOM), Facebook's Thrift and WSDL for Web services.
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
ASN.1
Cap'n Proto: created by its former maintainer, avoids some of the perceived shortcomings of Protocol Buffers.
Concise Data Definition Language (CDDL, RFC 8610): A Notation for CBOR and JSON data structures
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
FlatBuffers: Serialization format from Google supporting zero-copy deserialization
Franca IDL: the open-source Franca interface definition language
FIDL: Interface description language for the Fuchsia Operating System designed for writing app components in C, C++, Dart, Go and Rust.
IDL specification language: the original Interface Description Language
IPL: Imandra Protocol Language
JSON Web-Service Protocol (JSON-WSP)
Lightweight Imaging Device Interface Language
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, used in CORBA (for DCE/RPC services) and DDS (for data modeling), also selected by the W3C for exposing the DOM of XML, HTML, and CSS documents
OpenAPI Specification: a standard for Web APIs, used by Swagger and other technologies.
Open Service Interface Definitions
Protocol Buffers: Google's IDL
RESTful Service Description Language (RSDL)
Smithy: An AWS-invented protocol-agnostic interface definition language.
Specification Language for Internet Communications Engine (Ice: Slice)
Universal Network Objects: OpenOffice.org's component model
Web Application Description Language (WADL)
Web IDL by WHATWG: can be used to describe interfaces that are intended to be implemented 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 استعادة جميع البرامج الاساسيه الاقتراضية مجاني مدى الحياة بدون مقابل فقط
Kata Kunci Pencarian:
- Protocol Buffer
- Daftar istilah komputer
- Layanan web
- Ada (bahasa pemrograman)
- Graph database
- Zotero
- Aksara Brahmi
- Smultron
- Daftar karya tentang Perusahaan Hindia Timur Belanda
- Odinani
- Interface description language
- Web Services Description Language
- Page description language
- IDL specification language
- Architecture description language
- Apache Thrift
- Overview of RESTful API Description Languages
- Description language
- Language-independent specification
- User interface markup language