stringtranslate.com

Motor de comunicaciones de Internet

Internet Communications Engine , o Ice , es un marco RPC de código abierto desarrollado por ZeroC . Proporciona SDK para C++ , C# , Java , JavaScript , MATLAB , Objective-C , PHP , Python , Ruby y Swift , y puede ejecutarse en varios sistemas operativos, incluidos Linux , Windows , macOS , iOS y Android . [1]

Ice implementa un protocolo de comunicaciones de capa de aplicación patentado , llamado protocolo Ice, que puede ejecutarse sobre TCP , TLS , UDP , WebSocket y Bluetooth . [2] [3] Como su nombre lo indica, Ice puede ser adecuado para aplicaciones que se comunican a través de Internet e incluye funcionalidad para atravesar firewalls .

Historia

Lanzado inicialmente en febrero de 2003, [4] Ice fue influenciado por la Arquitectura de Broker de Solicitud de Objetos Comunes (CORBA) en su diseño y, de hecho, fue creado por varios desarrolladores CORBA influyentes, incluido Michi Henning. Sin embargo, según ZeroC, era más pequeño y menos complejo que CORBA porque fue diseñado por un pequeño grupo de desarrolladores experimentados, en lugar de sufrir un diseño por comité . [5]

En 2004, se informó que un juego llamado "Wish" de una empresa llamada Mutable Realms usaba Ice. [6] En 2008, se informó que Big Bear Solar Observatory había utilizado el software desde 2005. [7] El repositorio de código fuente de Ice está en GitHub desde mayo de 2015. [8]

Componentes

Los componentes de Ice incluyen invocación remota de objetos orientada a objetos, replicación, computación grid, conmutación por error, equilibrio de carga, cruces de firewall y servicios de publicación y suscripción. Para obtener acceso a esos servicios, las aplicaciones están vinculadas a una biblioteca auxiliar o ensamblado, que se genera a partir de una sintaxis similar a IDL independiente del lenguaje llamada segmento .

Tormenta de nieve

es un marco de publicación y suscripción orientado a objetos que también admite la federación y la calidad del servicio. A diferencia de otros marcos de publicación-suscripción como Rendezvous o SmartSockets de Tibco Software , el contenido del mensaje consiste en objetos de clases bien definidas en lugar de texto estructurado.

HieloGrid

es un conjunto de marcos que proporcionan servicios de equilibrio de carga , conmutación por error , descubrimiento de objetos y registro orientados a objetos.

parche de hielo

facilita la implementación de software basado en ICE. Por ejemplo, un usuario que desee implementar nuevas funciones y/o parches en varios servidores puede utilizar IcePatch.

glaciar

es un servicio basado en proxy para permitir la comunicación a través de firewalls, lo que convierte a ICE en un motor de comunicación por Internet .

Nevera

Icebox es un contenedor de arquitectura orientada a servicios de servicios ejecutables implementados en bibliotecas .dll o .so. Esta es una alternativa más ligera a crear un ejecutable completo para cada servicio.

Rebanada

Slice es un formato de archivo propiedad de ZeroC que los programadores siguen para editar declaraciones y definiciones independientes del lenguaje informático de clases, interfaces, estructuras y enumeraciones. Los archivos de definición de sectores se utilizan como entrada para el proceso de generación de resguardos. El stub, a su vez, está vinculado a aplicaciones y servidores que deben comunicarse entre sí en función de interfaces y clases según lo declarado/definido por las definiciones de segmento.

Además de CORBA, las clases e interfaces admiten herencia y clases abstractas. Además, slice proporciona opciones de configuración en forma de macros y atributos para dirigir el proceso de generación de código. Un ejemplo es la directiva para generar una determinada plantilla STL list<double> en lugar de la predeterminada, que es generar una vector<double>plantilla STL.

Ver también

Notas

  1. ^ "Ice: marco RPC completo". zeroc.com . Consultado el 27 de abril de 2018 .
  2. ^ "Ice: marco RPC completo". zeroc.com . Consultado el 8 de febrero de 2019 .
  3. ^ "¿ICE utiliza algún protocolo http para la comunicación?". CeroC . Consultado el 13 de agosto de 2019 .
  4. ^ Laukien, Marc. "Proyecto: El motor de comunicaciones de Internet". Foros de ZeroC . Consultado el 16 de enero de 2021 .
  5. ^ "Diferencias entre Ice y CORBA". Archivado desde el original el 18 de marzo de 2013 . Consultado el 17 de julio de 2013 .
  6. ^ Michi Henning (1 de febrero de 2004). "Middleware multijugador masivo". Cola . ACM . Consultado el 17 de julio de 2013 .
  7. ^ Sergij Shumko (2 de noviembre de 2008). "Middleware de hielo en el sistema de control del telescopio del nuevo telescopio solar" (PDF) . Software y sistemas de análisis de datos astronómicos XVII, Serie de conferencias ASP, vol. XXX, 2008 . Ciudad de Quebec, Canadá. Archivado desde el original (PDF) el 25 de agosto de 2012 . Consultado el 17 de julio de 2013 .
  8. ^ Normier, Bernard. "¡Ice se ha mudado a GitHub!". Foros de ZeroC . Consultado el 8 de febrero de 2019 .

enlaces externos