A WBEM/CIM Server can operate directly on the underlying system
by calling the system's commands, services, and library functions,
or it can pass requests from clients onward to plug-in modules called
Object Providers or simply Providers. This plug-in approach is preferred
for general-purpose computer systems, which may have hundreds of different
classes of objects and an almost unlimited number of possible configurations.
For a device like a network printer or a SOHO (Small
Office Home Office) router, where memory and other resources are
limited, an appropriate optimization may be a monolithic server:
that is, one that does all the work in a single program and does
not use plug-ins.
A general-purpose WBEM server, implemented using the plug-in approach,
contains a CIM Server that directs the communication between clients
and providers. HP WBEM Services for HP-UX contains a CIM Server.
(other components such as an HTTP server, as well as utilities and
administrative commands, are also included in the product.) The
CIM Server maintains the information it needs to direct client requests,
as well as other information that controls its behavior, in a type of
database called a repository. In future discussion, we will use
the term CIM Server to refer to the combined HTTP server and CIM
Object Manager request director system.