Table of Contents Previous Next
Logo
IceBox : 43.2 Introduction
Copyright © 2003-2010 ZeroC, Inc.

43.2 Introduction

The Service Configurator pattern [7] is a useful technique for configuring services and centralizing their administration. In practical terms, this means services are developed as dynamically-loadable components that can be configured into a general purpose “super server” in whatever combinations are necessary. IceBox is an implementation of the Service Configurator pattern for Ice services.
A generic IceBox server replaces the typical monolithic Ice server you normally write. The IceBox server is configured via properties with the applica­tion-specific services it is responsible for loading and managing, and it can be administered remotely. There are several advantages in using this architecture:
• Services loaded by the same IceBox server can be configured to take advan­tage of Ice’s collocation optimizations. For example, if one service is a client of another service, and those services reside in the same IceBox server, then invocations between them can be optimized.
• Composing an application consisting of various services is done by configura­tion, not by compiling and linking. This decouples the service from the server, allowing services to be combined or separated as needed.
• Multiple Java services can be active in a single instance of a Java Virtual Machine (JVM). This conserves operating system resources when compared to running several monolithic servers, each in its own JVM.
• Services implement an IceBox service interface, providing a common frame­work for developers and a centralized administrative facility.
• IceBox support is integrated into IceGrid, the server activation and deploy­ment service (see Section 38.8).

Table of Contents Previous Next
Logo