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 29.)
Section 28.2 describes the functionality associated with Ice communicators, which are the main handle to the Ice run time. Sections
28.4 to
28.6 describe object adapters and the role they play for call dispatch, and show the relationship between proxies, Ice objects, servants, and object identities.
Section 28.7 describes servant locators, which are a major mechanism in Ice for controlling the trade-off between performance and memory consumption.
Section 28.8 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 28.11 describes implicit transmission of parameters from client to server and
Section 28.12 discusses connection timeouts. Sections
28.13 to
28.16 describe oneway, datagram, and batched invocations, and Sections
28.17 to
28.21 deal with location services, administration, logging, statistics collection, and location transparency. Sections
28.22 to
28.24 discuss dispatch interceptors, string conversion, and how to write an Ice plugin. Finally,
Section 28.25 compares the Ice server-side run time with the corresponding CORBA approach.