Linguagem de descrição da interface - Interface description language
Uma linguagem de descrição de interface ou linguagem de definição de interface ( IDL ) é um termo genérico para uma linguagem que permite que um programa ou objeto escrito em uma linguagem se comunique com outro programa escrito em uma linguagem desconhecida. IDLs descrevem uma interface de uma forma independente de linguagem , permitindo a comunicação entre componentes de software que não compartilham uma linguagem, por exemplo, entre aqueles escritos em C ++ e aqueles escritos em Java .
IDLs são comumente usados em software de chamada de procedimento remoto . Nesses casos, as máquinas nas duas extremidades do link podem usar sistemas operacionais e linguagens de computador diferentes. IDLs oferecem uma ponte entre os dois sistemas diferentes.
Sistemas de software baseados em IDLs incluem Sun ONC RPC , The Open Group 's Distributed Computing Environment , IBM ' s Object Model Sistema , o Object Management Group 's CORBA (que implementa OMG IDL, uma IDL baseado em DCE / RPC) e de Distribuição de Dados serviço , Mozilla 's XPCOM , Microsoft ' s Microsoft RPC (que evoluiu para COM e DCOM ), Facebook 's Thrift e WSDL para web serviços .
Exemplos
- AIDL : baseado em Java , para Android ; suporta chamadas de procedimento local e remoto, pode ser acessado de aplicativos nativos chamando por meio de Java Native Interface (JNI)
- Apache Thrift : do Apache , originalmente desenvolvido pelo Facebook
- Avro IDL : para o sistema Apache Avro
- CortoScript : descreve dados e / ou interfaces para sistemas que requerem interoperabilidade semântica
- Etch : linguagem de descrição de serviço de plataforma cruzada Etch da Cisco
- Notação de dados extensível (EDN): formato de dados Clojure , semelhante a JSON
- FlatBuffers : formato de serialização do Google com suporte à desserialização de cópia zero
- Franca IDL : a linguagem de definição da interface de código aberto Franca
- Linguagem de especificação IDL : a linguagem de descrição da interface original
- IPL : Imandra Protocol Language
- Protocolo de serviço da Web JSON ( JSON-WSP )
- Linguagem de interface de dispositivo de imagem leve
- Microsoft Interface Definition Language (MIDL): a extensão da Microsoft de OMG IDL para adicionar suporte para Component Object Model (COM) e Distributed Component Object Model (DCOM)
- OMG IDL : padronizado por Object Management Group , usado em CORBA (para serviços DCE / RPC) e DDS (para modelagem de dados), também selecionado pelo W3C para expor o DOM de documentos XML, HTML e CSS
- Especificação OpenAPI : um padrão para interfaces REST, usado por Swagger e outras tecnologias.
- Definições de interface de serviço abertas
- Buffers de protocolo : IDL do Google
- Linguagem de descrição de serviço RESTful ( RSDL )
- Linguagem de especificação para mecanismo de comunicação da Internet (Ice: Slice )
- Objetos de rede universais : modelo de componente do OpenOffice.org
- Web Application Description Language (WADL)
- IDL da web : pode ser usado para descrever interfaces que devem ser implementadas em navegadores da web
- Linguagem de descrição de serviços da Web (WSDL)
- XCB : linguagem de descrição do protocolo X para o X Window System
- Linguagem de descrição de interface multiplataforma ( XPIDL ): a maneira da Mozilla de especificar interfaces XPCOM
Veja também
- Engenharia de software baseada em componentes
- Programação baseada em interface
- Linguagem de definição de interface Java
- Lista de abreviações de informática e TI
- Linguagem de interface universal
- Linguagem de marcação da interface do usuário