Architecture

Xoom uses the client-server model on two levels. Xoom client tools communicate with a Xoom server, and Xoom server, this time in a role of a client, communicates with managed systems.

Figure 1. Schematic showing Xoom architecture
Xoom architecture schematic

Xoom client tools

The four principal tools are: Xoom Console, Settings Migration Tool, Xoom Explorer and Xoom Processor. These can be installed on any number of workstations, and do not require either Xoom server or managed system software to be installed on the same host. Xoom client tools connect to a Xoom service running on the chosen Xoom server host, and send it messages to perform the various Xoom operations.

Xoom service

Xoom service is a Windows service that hosts the "server" part of Xoom. It runs on Xoom server host, listening for Xoom client messages that come in the shape of web service operation calls. The communication is based on Windows Communication Foundation (WCF) implementation of web services.

One or more Xoom plug-ins are loaded into the Xoom service process. Each plug-in implements support for a particular type of a managed system, such as Service Optimization. The components provided by a plug-in are used by Xoom service to obtain configuration data from supported managed systems, and to interpret the results of such retrieval. If managed system also uses the client-server model, then Xoom service is in a role of a client in this case.

Figure 2. Xoom service in the Windows Task Manager
Xoom service as it appears in Windows Task manager

Example: Xoom for Service Optimization

Xoom service communicates with Service Optimization via the Xoom for W6 plug-in. The plug-in also creates a separate 32-bit process, OutOfProcessService, that allows it to interface with the Service Optimization libraries.

Figure 3. Xoom processes in the Windows Task Manager
Xoom processes, as they appear in Windows Task Manager

Xoom server must be installed on the host running the Service Optimization instance that is to be managed by Xoom. If several Service Optimization servers are part of the same environment (i.e. connected to the same Service Optimization database) and Xoom is to be used solely to manage internal Service Optimization configuration, then installing Xoom server on any one of those servers is sufficient. However, Xoom can also be used to monitor installation files and other locally stored configuration information, in which case Xoom server needs to be installed on every host that will be managed by Xoom.