Now that we have seen the basics of implementing clients and servers, it is time to look at the Ice run time in more detail. This chapter presents the server-side APIs of the Ice run time for synchronous, oneway, and datagram invocations in detail. (We cover the asynchronous interfaces in
Chapter 33.)
Section 32.2 describes the functionality associated with Ice communicators, which are the main handle to the Ice run time. Sections
32.4 to
32.6 describe object adapters and the role they play for call dispatch, and show the relationship between proxies, Ice objects, servants, and object identities. Sections
32.7 and
32.8 describe servant locators and default servants, which are major mechanisms in Ice for controlling the trade-off between performance and memory consumption.
Section 32.9 describes the most common implementation techniques that are used by servers. We suggest that you read this section in detail because knowledge of these techniques is crucial to building systems that perform and scale well.
Section 32.12 describes implicit transmission of parameters from client to server and
Section 32.13 discusses connection timeouts. Sections
32.14 to
32.17 describe oneway, datagram, and batched invocations, and Sections
32.18 to
32.22 deal with location services, administration, logging, statistics collection, and location transparency. Sections
32.23 to
32.26 discuss automatic retries, dispatch interceptors, string conversion, and how to write an Ice plug‑in. Finally,
Section 32.27 compares the Ice server-side run time with the corresponding CORBA approach.