Web-Based Enterprise Management
Web-Based Enterprise Management (WBEM) is a set of systems management technologies developed to unify the management of distributed computing environments. WBEM is based on Internet standards and Distributed Management Task Force (DMTF) open standards: Common Information Model (CIM) infrastructure and schema, CIM-XML, CIM operations over HTTP, and WS-Management. Although the name refers to WBEM as being "web-based", it is not necessarily tied in any way to a particular user interface (see below). Other systems management approaches are remote shells, proprietary solutions and network management architectures like SNMP.
Key features of WBEM technology include:
- remote management of applications
- management of several instances of an application as a single unit
- standard interface for remote application management across different applications
- decoupling of application management from the client
- "publishing" of key information about an application to other applications
To understand the WBEM architecture, consider the components which lie between the operator trying to manage a device (configure it, turn it off and on, collect alarms, etc.) and the actual hardware and software of the device:
- the operator will invoke some form of graphical user interface (GUI), Browser User Interface (BUI), or command-line interface (CLI). The WBEM standard has nothing to say about this interface (although the definition of a CLI for specific applications has started): WBEM operates independently of the human interface, since human interfaces can change without the rest of the system needing to note such changes.
- the GUI, BUI or CLI will interface with a WBEM client through a small set of application programming interfaces (API). This client will find the WBEM server for the managed device (typically on the device itself) and construct an XML message containing the request.
- the client will use the HTTP (or HTTPS) protocol to pass the request, encoding in CIM-XML, to the WBEM server
- the WBEM server will decode the incoming request, perform the necessary authentication and authorization checks and then consult the previously created model of the managed device to see how to handle the request. This model makes the architecture so powerful: it represents the pivot point of the transaction, with the client simply interacting with the model and the model interacting with the real hardware or software. The model uses the Common Information Model standard; the DMTF has published many models for commonly managed devices and services: IP routers, storage servers, desktop computers, etc.
- for most operations, the WBEM server determines from the model that it needs to communicate with the actual hardware or software. So-called "providers" handle the interaction: small pieces of code interface between the WBEM server (using a standardised interface known as CMPI) and the real hardware or software. Because the interface is well-defined and the number of types of call is small, it is normally easy to write providers. In particular, the writer of the provider knows nothing of the GUI, BUI, or CLI used by the operator.
- SLP (WBEM Discovery using SLP; SLP Template)
- Query Language
So, which pieces of this does a device manufacturer or service provider have to write?
- Firstly the model.
- This is normally done by extending as necessary one of the standard models published by the DMTF.
- Then the BUI, GUI, or CLI.
- The client and server usually do not need to be written because there are many open-source and commercial implementations available (see External links below)
- Then the providers
- In summary, the WBEM architecture allows the manufacturer of a device or developer of a service to provide a standards-compliant management interface to that device simply and cheaply.
WBEM in operating systems
- Apple Inc. uses an implementation of WBEM in its Apple Remote Desktop management tool, and Mac OS X clients ship with support for Remote Management.
- Hewlett Packard has included WBEM Services CORE Product in the HP-UX operating system (with all operating environments) since version 11iv1
- IBM ships support in z/OS and AIX.
- Microsoft has developed the WMI technology - which is not WBEM compatible but uses a similar data model and provides similar functionality - and has included it in Microsoft Windows
- Novell has adopted the OpenWBEM open source implementation of WBEM and includes it in SUSE Linux Enterprise Server
- Red Hat ships OpenPegasus as part of Red Hat Enterprise Linux
- Oracle has WBEM-Services for the Solaris operating environment: Solaris WBEM Developer's Guide
- Ubuntu ships with an updated CIM instrumentation stack, powered by the latest version of the lightweight CIMOM, SBLIM SFCB.
- WBEM Solutions
- Open Pegasus, open-source client and server written in C++
- OpenWBEM, open-source client and server written in C++
- WBEM Services, Java
- SBLIM (pronounced "sublime") Standards Based Linux Instrumentation for Manageability, C, C++, Java
- PyWBEM, open-source WBEM library written in Python
- Purgos, open-source management client for Windows written in C++ (Product now discontinued and has reached End Of Life)
- SMI-S, Storage Management Initiative - Specification. Based on WBEM, used for SAN devices
- Other Resources