The good thing about standards is that they allow multiple implementations of the standard. The bad thing about standards is that they allow multiple implementations of the standard…
The core of any management system based on DMTF/CIM technology is the object broker or CIMOM. The CIMOM provides the framework, integration, and glue for making the system work and connecting Providers to clients.
OpenPegasus and sfcb do essentially the same thing. In general, Providers work with both CIMOMs and client tools and applications work with both. Both OpenPegasus and sfcb are solid packages. The major differences are in their targeted use cases – sfcb was designed for embedded applications, where small footprint and minimum resource requirements are critical. OpenPegasus was designed as a full-function CIMOM.
More work is required to support two CIMOMs than a single CIMOM. After considerable discussion, the OpenLMI project chose to standardize on OpenPegasus as the supported CIMOM for OpenLMI.
Reasons for this discussion include:
- An active upstream community with continued development. We are using the latest version of OpenPegasus, and are looking forward to future versions – especially the upcoming 2.14 release which adds support for a REST API.
- A more robust security model.
- Support for discovery using SLP (Service Location Protocol), which allows client systems to discover which systems can be managed by OpenLMI.
- Tooling for Provider development. OpenPegasus includes support for developing Providers in Python; it takes a mof file (schema definition) and produces a cmpi-compliant code template for Python.