HOME

TheInfoList



OR:

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 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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
. 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 system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s 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 The Open Group is a global consortium that seeks to "enable the achievement of business objectives" by developing "open, vendor-neutral technology standards and certifications." It has over 840 member organizations and provides a number of servi ...
's Distributed Computing Environment, IBM's System Object Model, the
Object Management Group The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies. Business activities The goal of the OMG was a common portable and interoperab ...
's CORBA (which implements OMG IDL, an IDL based on DCE/RPC) and Data Distribution Service,
Mozilla Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, w ...
's XPCOM,
Microsoft Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
's Microsoft RPC (which evolved into COM and DCOM),
Facebook Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dustin ...
's
Thrift Thrift may refer to: * Frugality * A savings and loan association in the United States * Apache Thrift, a remote procedure call (RPC) framework * Thrift (plant), a plant in the genus ''Armeria'' * Syd Thrift (1929–2006), American baseball exec ...
and
WSDL The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
for Web services.


Examples


AIDL
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
-based, for
Android Android may refer to: Science and technology * Android (robot), a humanoid robot or synthetic organism designed to imitate a human * Android (operating system), Google's mobile operating system ** Bugdroid, a Google mascot sometimes referred to ...
; 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 Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dustin ...
* Avro IDL: for the Apache Avro system * Concise Data Definition Language (CDDL, RFC 8610): A Notation for CBOR and
JSON JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
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 Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
supporting zero-copy deserialization *
Franca IDL Franca Interface Definition Language (Franca IDL) is a formally defined, text-based interface description language. It is part of the Franca framework, which is a framework for definition and transformation of software interfaces. Franca applies ...
: 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 Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * D ...
, Go and
Rust Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH), ...
. *
IDL specification language IDL (''Interface Description Language'') is a software interface description language (also referred to as Interface Descriptor Language) created by William Wulf and John Nestor of Carnegie Mellon University Carnegie Mellon University (CMU) ...
: the original Interface Description Language
IPL
Imandra Protocol Language *
JSON JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
Web-Service Protocol ( JSON-WSP) *
Lightweight Imaging Device Interface Language Lightweight Imaging Device Interface Language (abbr. LIDIL) is a printer interface definition language used in more recent Hewlett-Packard The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multina ...
* Microsoft Interface Definition Language (MIDL): the Microsoft extension of OMG IDL to add support for Component Object Model (COM) and
Distributed Component Object Model Distributed Component Object Model (DCOM) is a proprietary Microsoft technology for communication between software components on networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the comm ...
(DCOM) *
OMG IDL The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sys ...
: standardized by
Object Management Group The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies. Business activities The goal of the OMG was a common portable and interoperab ...
, 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 REST interfaces, used by
Swagger A swagger or swagga is a swaggering gait. Swagger also may refer to: * Swagger or swagman, a transient labourer in Australia and New Zealand * Swagger (software), a specification for defining the interface of a REST web service now known as Open ...
and other technologies. * Open Service Interface Definitions * Protocol Buffers:
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
's IDL * RESTful Service Description Language (RSDL) * Specification Language for
Internet Communications Engine The Internet Communications Engine, or Ice, is an open-source RPC framework developed by ZeroC. It provides SDKs for C++, C#, Java, JavaScript, MATLAB, Objective-C, PHP, Python, Ruby and Swift, and can run on various operating systems, incl ...
(Ice:
Slice Slice may refer to: *Cutting Food and beverage *A portion of bread, pizza, cake, or meat that is cut flat and thin: :*Sliced bread :*Pizza by the slice, a fast food dish *Slice (drink), a line of fruit-flavored soft drinks In Australia and New ...
) * Universal Network Objects: OpenOffice.org's component model * Web Application Description Language (WADL) * Web IDL: 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 The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting ...
* Cross Platform Interface Description Language (
XPIDL Cross Platform Interface Description Language (XPIDL) is the interface definition language developed by Mozilla.org to specify XPCOM Cross Platform Component Object Model (XPCOM) is a cross-platform component model from Mozilla. It is similar to M ...
): Mozilla's way to specify XPCOM interfaces


See also

*
Component-based software engineering Component-based software engineering (CBSE), also called component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a giv ...
*
Interface-based programming Interface-based programming, also known as interface-based architecture, is an architectural pattern for implementing modular programming at the component level in an object-oriented programming language which does not have a module system. An ...
* Java Interface Definition Language *
List of computing and IT abbreviations This is a list of computing and IT acronyms, initialisms and abbreviations. 0–9 * 1GL—First-Generation Programming Language * 1NF—First Normal Form * 10B2—10BASE-2 * 10B5—10BASE-5 * 10B-F—10BASE-F * 10B-FB—10BASE-FB * 10B ...
*
Universal Interface Language {{no footnotes, date=December 2016 A Universal Interface Language is a language that allows for an interchange of deep information between objects. It does this by allowing an object to experiment on another object to determine what it thinks the ob ...
* User interface markup language


References

{{Reflist


External links


Documenting Software Architecture: Documenting Interfaces
(PDF)
OMG Specification of OMG IDL


Data modeling languages Remote procedure call Specification languages Domain-specific programming languages