Internet Communications Engine
From Wikipedia, the free encyclopedia
The Internet Communications Engine, or Ice, is a Remote Procedure Call and object middleware system developed by ZeroC and dual-licensed under the GNU GPL and a proprietary license. It aims to be useful for real-world systems without being overly complex, and also being highly efficient and scalable. It's supported on a very large number of environments, including C++, Java, .NET, Visual Basic, Python, Ruby and PHP.
It's influenced by CORBA in its design, and indeed was created by several influential CORBA developers, including Michi Henning, however, it is much smaller and less complex than CORBA. According to ZeroC's webpages, this is partly a result of being designed by a small group of experienced developers, instead of suffering from design by committee.
Ice also compares favorably to SOAP, the main advantages being that it's more object oriented, and offers vastly superior performance in terms of both bandwidth and processor load, because SOAP is based on HTTP and XML, which needs to be parsed, while Ice uses a binary protocol designed for high performance and low verbosity.