Internet Communications Engine3.0 review

by on

Ice, the Internet Communications Engine, is middleware for the practical programmer

License: GPL (GNU General Public License)
File size: 9632K
Developer: ZeroC, Inc.
0 stars award from

Ice, the Internet Communications Engine, is middleware for the practical programmer. A high-performance Internet communications platform, Ice includes a wealth of layered services and plug-ins. Ice means simplicity, speed, and power.

Ice is available under the terms of the GNU General Public License (GPL). Commercial licenses are available for customers who wish to use Ice with proprietary products. Please contact for more information.

Ice is currently available for C++, Java, C#, Visual Basic, Python, and PHP, and is supported on various operating systems. Additional operating systems and languages will be supported in future releases.

Ice consists of the following packages:

Slice The Specification Language for Ice. Slice establishes a contract between clients and servers, and is also used to describe persistent data.

The Slice Compilers Tools to compile from Slice into target languages, such as C++ and Java, or to automatically generate documentation from Slice files.

Ice The Ice core library. Among many other features, the Ice core library manages all the communication tasks using a highly efficient protocol (including protocol compression and support for both TCP and UDP), provides a flexible thread pool for multi-threaded servers, and additional functionality that supports extreme scalability with potentially millions of Ice objects.

IceUtil A collection of utility functions, such as Unicode handling and thread programming. (C++ only.)

IceBox An application server specifically for Ice applications. IceBox can easily run and administer Ice services that are dynamically loaded as a DLL, shared library, or Java class.

IcePack A sophisticated server activation and deployment tool. With IcePack, the complex task of deploying applications in a heterogeneous computer network is dramatically simplified. Simply write a deployment descriptor in industry-standard XML, and IcePack handles the rest.

Freeze Freeze provides automatic persistence for Ice servants. With just a few lines of code, an application can incorporate a highly-scalable evictor that efficiently manages persistent objects.

FreezeScript It is common for persistent data types to change, especially in large software projects. In order to minimize the impact of these changes, FreezeScript provides inspection and migration tools for Freeze databases. The tools support an XML-based scripting capability that is both powerful and easy to use.

IceSSL A dynamic SSL transport plug-in for the Ice core. It provides authentication, encryption, and message integrity, using the industry-standard SSL protocol.

Glacier One of the most difficult challenges for object middleware systems is security and firewalls. Glacier, the firewall solution for Ice, greatly simplifies the deployment of secure applications. Glacier authenticates and filters client requests and allows callbacks to the client in a secure fashion. In combination with IceSSL, Glacier provides a powerful security solution that is both non-intrusive and easy to configure.

IceStorm A messaging service with support for federation. In contrast to most other messaging or event services, IceStorm supports typed events, meaning that broadcasting a message over a federation is as easy as invoking a method on an interface.

IcePatch A patching service for software distributions. Keeping software up-to-date is often a tedious task. IcePatch automates updating of individual files as well as complete directory hierarchies. Only files that have changed are downloaded to the client machine, using efficient compression algorithms.

What's New in This Release:
The most significant change since version 2.1.2 is the addition of IceGrid, a replacement for the IcePack activation service that revolutionizes the way you build and deploy your Ice applications.
With support for replication, load balancing, and application distribution, IceGrid provides the tools you need to create scalable grid applications and manage them remotely.

Internet Communications Engine3.0 keywords