Distributed Programming with Ice
The Internet Communications Engine (Ice) is a modern object-oriented toolkit that enables you to build distributed applications with minimal effort. Ice allows you to focus your efforts on your application logic, and it takes care of all interactions with low-level network programming interfaces. With Ice, there is no need to worry about details such as opening network connections, serializing and deserializing data for network transmission, or retrying failed connection attempts.
The main design goals of Ice are:
- Provide an object-oriented middleware platform suitable for use in heterogeneous environments.
- Provide a full set of features that support development of realistic distributed applications for a wide variety of domains.
- Avoid unnecessary complexity, making the platform easy to learn and to use.
- Provide an implementation that is efficient in network bandwidth, memory use, and CPU overhead.
- Provide an implementation that has built-in security, making it suitable for use over insecure public networks.
In simpler terms, the Ice design goals could be stated as "Let's build a powerful middleware platform that makes the developer's life easier."
The acronym "Ice" is pronounced as a single syllable, like the word for frozen water.
Getting Help with Ice
If you have a question and you cannot find an answer in this manual, you can visit our developer forums to see if another developer has encountered the same issue. If you still need help, feel free to post your question on the forum, which ZeroC's developers monitor regularly. Note, however, that we can provide only limited free support in our forums. For guaranteed response and problem resolution times, we highly recommend purchasing commercial support.
Feedback about the Manual
We would very much like to hear from you in case you find any bugs (however minor) in this manual. We also would like to hear your opinion on the contents, and any suggestions as to how it might be improved. You can contact us via e-mail at email@example.com.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book and ZeroC was aware of the trademark claim, the designations have been printed in initial caps or all caps. The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.
This manual is provided under one of two licenses, whichever you prefer:
- Creative Commons Attribution-No Derivative Works 3.0 Unported License.
This license does not permit you to make modifications.
- Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
This license permits you to make modifications, but for non-commercial use only. If you distribute this manual under this license, you must prominently include the following text:
This document is derived from ZeroC's Ice Manual, Copyright © ZeroC, Inc. 2003-2017.
You can find the latest version of this document at: