インターフェース記述言語

インターフェイス記述言語またはインターフェイス定義言語( IDL ) は、ある言語で記述されたプログラムまたはオブジェクトが、未知の言語で記述された別のプログラムと通信できるようにする言語の総称です。IDL は通常、 C++で記述されたものとJavaで記述されたものの間で、言語に依存しない方法でデータ型とインターフェイスを記述するために使用されます。
IDL は、リモート プロシージャ コールソフトウェアでよく使用されます。このような場合、リンクの両端のマシンは、異なるオペレーティング システムとコンピュータ言語を使用している可能性があります。IDL は、2 つの異なるシステム間の橋渡しとなります。
IDL に基づくソフトウェア システムには、Sun の ONC RPC、The Open GroupのDistributed Computing Environment、IBMのSystem Object Model、Object Management GroupのCORBA (DCE/RPC に基づく IDL である OMG IDL を実装) およびData Distribution Service、MozillaのXPCOM、MicrosoftのMicrosoft RPC ( COMおよびDCOMに進化)、FacebookのThrift、 Web サービス用のWSDLなどがあります。
例
- AIDL: Javaベース、Android向け。ローカルおよびリモート プロシージャ コールをサポートし、 Java Native Interface (JNI)を介して呼び出すことでネイティブ アプリケーションからアクセスできます。
- Apache Thrift : Apacheから派生したもので、元々はFacebookによって開発された
- Avro IDL : Apache Avro システム用
- 1.1 言語
- Cap'n Proto : 以前のメンテナによって作成され、 Protocol Buffersの欠点のいくつかを回避します。
- 簡潔なデータ定義言語(CDDL、RFC 8610):[1] CBORおよびJSONデータ構造の表記法
- CortoScript:セマンティックな相互運用性を必要とするシステムのデータやインターフェースを記述します
- Etch : Cisco の Etch クロスプラットフォーム サービス記述言語
- 拡張データ表記法(EDN): JSON に似たClojureデータ形式
- FlatBuffers :ゼロコピー逆シリアル化をサポートするGoogleのシリアル化形式
- Franca IDL : オープンソースの Franca インターフェース定義言語
- FIDL: C、C++、Dart、Go、Rustでアプリコンポーネントを記述するために設計されたFuchsiaオペレーティングシステムのインターフェース記述言語。[2]
- IDL仕様言語: オリジナルのインターフェース記述言語
- IPL: イマンドラプロトコル言語
- JSON Web サービス プロトコル ( JSON-WSP )
- 軽量イメージングデバイスインターフェース言語
- Microsoft インターフェイス定義言語(MIDL):コンポーネント オブジェクト モデル(COM) と分散コンポーネント オブジェクト モデル(DCOM)のサポートを追加するための OMG IDL の Microsoft 拡張
- OMG IDL : Object Management Groupによって標準化され、CORBA (DCE/RPC サービス用) およびDDS (データ モデリング用) で使用され、XML、HTML、および CSS ドキュメントの DOM を公開するために W3C によっても選択されています。
- OpenAPI 仕様: Swaggerやその他のテクノロジーで使用されるWeb APIの標準。
- オープンサービスインターフェース定義
- プロトコル バッファ: Googleの IDL
- RESTful サービス記述言語(RSDL)
- Smithy: AWS が開発したプロトコルに依存しないインターフェース定義言語。
- インターネット通信エンジン仕様言語(Ice: Slice )
- ユニバーサル ネットワーク オブジェクト: OpenOffice.orgのコンポーネント モデル
- Web アプリケーション記述言語(WADL)
- WHATWGによるWeb IDL : Webブラウザに実装されることを意図したインターフェースを記述するために使用できます。
- Web サービス記述言語(WSDL)
- XCB : X Window System用の X プロトコル記述言語
- クロスプラットフォーム インターフェース記述言語 ( XPIDL ): Mozilla の XPCOM インターフェースを指定する方法
参照
- コンポーネントベースのソフトウェアエンジニアリング
- インターフェースベースのプログラミング
- Java インターフェース定義言語
- コンピューティングと IT の略語の一覧
- ユニバーサルインターフェース言語
- ユーザーインターフェースマークアップ言語
参考文献
外部リンク
- ソフトウェア アーキテクチャのドキュメント化: インターフェイスのドキュメント化 (PDF)
- OMG IDL の OMG 仕様
- OMG IDL に関する OMG チュートリアル