
Eine Schnittstellenbeschreibungssprache (auch Schnittstellendefinitionssprache genannt ) ist ein Oberbegriff für eine Sprache , die es einem in einer Programmiersprache geschriebenen Programm oder Objekt ermöglicht, mit einem anderen, in einer unbekannten Sprache geschriebenen Programm oder Objekt zu kommunizieren. IDLs werden üblicherweise verwendet, um Datentypen und Schnittstellen sprachunabhängig zu beschreiben, beispielsweise zwischen solchen, die in C++ geschrieben sind, und solchen, die in Java geschrieben sind.
IDLs werden häufig in Software für Remote Procedure Calls (RPC) verwendet. In diesen Fällen können die Rechner an beiden Enden der Verbindung unterschiedliche Betriebssysteme und Programmiersprachen verwenden. IDLs bilden eine Brücke zwischen den beiden Systemen.
Zu den auf IDLs basierenden Softwaresystemen gehören Sun Microsystems ' Sun RPC , die Distributed Computing Environment der Open Group , das IBM System Object Model , die Common Object Request Broker Architecture (CORBA) der Object Management Group (die OMG IDL implementiert, eine auf DCE/RPC basierende IDL) und der Data Distribution Service , Mozillas XPCOM , Microsoft RPC (das sich zum Component Object Model (COM) und Distributed Component Object Model (DCOM) weiterentwickelte), Facebooks Apache Thrift und die Web Services Description Language (WSDL) für Webdienste.
Beispiele
- AIDL : Java -basiert, für Android ; unterstützt lokale und entfernte Prozeduraufrufe, kann von nativen Anwendungen über die Java Native Interface (JNI) aufgerufen werden.
- Apache Thrift : von Apache , ursprünglich von Facebook entwickelt
- Avro IDL : für das Apache Avro-System
- ASN.1
- Cap'n Proto : wurde vom ehemaligen Entwickler erstellt und vermeidet einige der wahrgenommenen Schwächen von Protocol Buffers .
- Concise Data Definition Language (CDDL, RFC 8610): [ 1 ] Eine Notation für CBOR- und JSON -Datenstrukturen
- CortoScript : Beschreiben Sie Daten und/oder Schnittstellen für Systeme, die semantische Interoperabilität erfordern.
- Etch : Ciscos plattformübergreifende Dienstbeschreibungssprache Etch
- Extensible Data Notation (EDN): Clojure- Datenformat, ähnlich wie JSON
- FlatBuffers : Serialisierungsformat von Google , das die Deserialisierung ohne Kopien unterstützt.
- Franca IDL : die Open-Source-Schnittstellendefinitionssprache Franca
- FIDL : Schnittstellenbeschreibungssprache für das Betriebssystem Fuchsia , entwickelt zum Schreiben von Anwendungskomponenten in C , C++ , Dart , Go und Rust . [ 2 ]
- IDL-Spezifikationssprache : die ursprüngliche Schnittstellenbeschreibungssprache
- IPL : Imandra-Protokollsprache
- JSON Web-Service Protocol ( JSON-WSP )
- Schnittstellensprache für leichte Bildgebungsgeräte
- Microsoft Interface Definition Language (MIDL): die Microsoft-Erweiterung der OMG IDL zur Unterstützung des Component Object Model (COM) und des Distributed Component Object Model (DCOM)
- OMG IDL : standardisiert von der Object Management Group , verwendet in CORBA (für DCE/RPC-Dienste) und DDS (für Datenmodellierung ), auch vom W3C für die Bereitstellung des DOM von XML-, HTML- und CSS-Dokumenten ausgewählt.
- OpenAPI-Spezifikation : ein Standard für Web-APIs , der von Swagger und anderen Technologien verwendet wird.
- Definitionen offener Dienstschnittstellen
- Protocol Buffers : Googles IDL
- RESTful Service Description Language (RSDL)
- Smithy : Eine von AWS entwickelte, protokollunabhängige Schnittstellendefinitionssprache.
- Spezifikationssprache für die Internet-Kommunikations-Engine (Ice: Slice )
- Universelle Netzwerkobjekte : Das Komponentenmodell von OpenOffice.org
- Web Application Description Language (WADL)
- Web IDL von WHATWG : Kann verwendet werden, um Schnittstellen zu beschreiben, die in Webbrowsern implementiert werden sollen.
- Web Services Description Language (WSDL)
- XCB : X-Protokollbeschreibungssprache für das X Window System
- Cross Platform Interface Description Language ( XPIDL ): Mozillas Methode zur Spezifizierung von XPCOM-Schnittstellen
Siehe auch
- Komponentenbasierte Softwareentwicklung
- Schnittstellenbasierte Programmierung
- Java Interface Definition Language
- Liste der Abkürzungen aus dem Bereich Informatik und IT
- Universelle Schnittstellensprache
- Auszeichnungssprache für Benutzeroberflächen
Referenzen
- ^ Birkholz, H.; Vigano, C.; Bormann, C. (2019). „Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures“ . RFC Editor . doi : 10.17487/RFC8610 . S2CID 195857027. Abgerufen am 24.05.2022 .
- ^ „FIDL-Übersicht“ . Fuchsia . Abgerufen am 23.02.2022 .