Un lenguaje de descripción de interfaz o lenguaje de definición de interfaz ( IDL ) es un término genérico para un lenguaje que permite que un programa u objeto escrito en un idioma se comunique con otro programa escrito en un idioma desconocido. Los IDL describen una interfaz de forma independiente del idioma , lo que permite la comunicación entre componentes de software que no comparten un idioma, por ejemplo, entre los escritos en C ++ y los escritos en Java .
Los IDL se utilizan comúnmente en el software de llamada a procedimiento remoto . En estos casos, las máquinas en cualquier extremo del enlace pueden estar usando diferentes sistemas operativos y lenguajes de computadora. Los IDL ofrecen un puente entre los dos sistemas diferentes.
Los sistemas de software basados en IDL incluyen Sun ONC RPC , The Open Group 's Distributed Computing Environment , IBM ' s modelo de objetos de sistema , el Grupo de Gestión de Objetos 's CORBA (que implementa OMG IDL, un IDL basado en DCE / RPC) y la distribución de datos servicio , Mozilla 's XPCOM , Microsoft ' s Microsoft RPC (que se convirtió en COM y DCOM ), Facebook 's de Ahorro y WSDL para la web servicios .
Ejemplos de
- AIDL: basado en Java , para Android ; admite llamadas a procedimientos locales y remotos, se puede acceder desde aplicaciones nativas llamando a través de la interfaz nativa de Java (JNI)
- Apache Thrift : de Apache , desarrollado originalmente por Facebook
- Avro IDL : para el sistema Apache Avro
- CortoScript : describe datos y / o interfaces para sistemas que requieren interoperabilidad semántica
- Etch : lenguaje de descripción de servicios multiplataforma Etch de Cisco
- Notación de datos extensible (EDN): formato de datos Clojure , similar a JSON
- FlatBuffers : formato de serialización de Google que admite deserialización de copia cero
- Franca IDL : el lenguaje de definición de interfaz de Franca de código abierto
- Lenguaje de especificación IDL : el lenguaje de descripción de interfaz original
- IPL : lenguaje de protocolo Imandra
- Protocolo de servicio web JSON ( JSON-WSP )
- Lenguaje de definición de interfaz de Microsoft (MIDL): la extensión de Microsoft de OMG IDL para agregar compatibilidad con el modelo de objetos componentes (COM) y el modelo de objetos componentes distribuidos (DCOM)
- OMG IDL : estandarizado por Object Management Group , utilizado en CORBA (para servicios DCE / RPC) y DDS (para modelado de datos), también seleccionado por el W3C para exponer el DOM de documentos XML, HTML y CSS
- Especificación OpenAPI : un estándar para interfaces REST, utilizado por Swagger y otras tecnologías.
- Definiciones de interfaz de servicio abierta
- Búferes de protocolo : IDL de Google
- Lenguaje de descripción de servicio RESTful ( RSDL )
- Lenguaje de especificación para el motor de comunicaciones de Internet (Ice: Slice )
- Objetos de red universal : modelo de componente de OpenOffice.org
- Lenguaje de descripción de aplicaciones web (WADL)
- Web IDL : se puede utilizar para describir interfaces que están destinadas a implementarse en navegadores web.
- Lenguaje de descripción de servicios web (WSDL)
- XCB : lenguaje de descripción de protocolo X para el sistema X Window
- Lenguaje de descripción de interfaz multiplataforma ( XPIDL ): la forma de Mozilla de especificar interfaces XPCOM
Ver también
- Ingeniería de software basada en componentes
- Programación basada en interfaz
- Lenguaje de definición de interfaz Java
- Lista de abreviaturas informáticas y de TI
- Idioma de interfaz universal
- Lenguaje de marcado de la interfaz de usuario
Referencias
enlaces externos
- Documentación de la arquitectura del software: Documentación de interfaces (PDF)
- Especificación OMG de OMG IDL
- Tutorial de OMG sobre OMG IDL