Figure 4.4 on page 39 illustrates the components of a WBEM server:
A CIMOM, together with its peripheral interfaces, capable of accepting requests from clients , accessing the repository and providers and composing responses.
A repository ”effectively a database ”to hold the structural information about the model.
A compiler capable of checking the syntax, compiling models written in mof and acting as a client to load the model into the CIMOM.
We would expect any implementation to provide these basic elements but the following would be also useful:
Test providers and clients to act as exemplars for engineers writing new ones and also to act as regression test tools.
Generic graphical, browser, or command-line clients to allow the repository to be browsed and providers to be invoked in a controlled manner.
Generic test clients which can be used for the regression testing of the WBEM server and providers.
Providers for common components: Linux or Windows operating systems, etc.
mof editors and UML drawing tools.
Code generators to produce skeleton C, C++, or Java code automatically from the mof definitions.
Documentation and support are also, of course, essential.
The next few sections give a brief summary of a few of the WBEM servers, WBEM toolsets, and generic clients that are available on the market. There are dozens of WBEM server implementations and my list is certainly not complete ”it reflects the bias of my experience.
There is an open source movement called the "WBEMsource Initiative" which is an umbrella organisation founded to coordinate open source WBEM projects to ensure interoperability and portability between them. Several of the open source WBEM servers, including openPegasus, OpenWBEM, and WBEM Services, are part of this organisation. For more details, see http://www.wbemsource.org/.