Internet Comunication Engine
# Internet Comunication Engine

El «Internet Comunication Engine» o «Ice» es un middleware orientado a objetos que ofrece orientación a objetos, Remote Procedura Call, Computación grid y servicio de publicador/subscriptor desarrollado por *ZeroC* y licenciado bajo GNU General Public License y una licencia privativa. Soporta C++, Java, .NET-languages (such as C# or Visual Basic), Objective-C, Python, PHP y Ruby

Funciona en la mayoría de los sistemas operativos como Linux, Solaris, Windows y Mac OS X.

Una variante es called Ice-e,https://web.archive.org/web/20090726063054/http://www.zeroc.com/icee/index.html. Como se indica, el middleware puede usarse en aplicaciones sin necesidad de utilizar el protocolo HTTP.

## Historia

ZeroC fue fundada en Florida en el año 2002. Ice está influenciado por Common Object Request Broker Architecture (CORBA) en su diseño, y fue creado bajo la influencia de programadores de CORBA como Michi Henning. Sin embargo, según ZeroC es más simple que CORBA porque fue diseñado por un pequeño grupo de programadores experimentados, en lugar de design by committee.

En 2004, una compañía llamada Mutable Realms utilizó Ice en su juego «Wish».

Algunas versiones se subieron a GitHub como parte del Open Microscopy Environment, en la versión 3.4.2 en 2011.

## Componentes

Ice está compuesto de varios componentes como orientación a objetos, invocación remota replicación, grid-compoputing, equilibrado de carga, firewall and servicio de publicador/subscriptor. Para tener acceso a esos servicios, las aplicaciones utilizan varias bibliotecas y código fuente que es generado a través de un lenguaje independiente IDL llamado slice.

