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 DMTF open standards: CIM infrastructure and schema, CIM-XML, CIM operations over HTTP, WS-Management. While the name refers to WBEM as being "Web-Based", it is not necessarily tied in any way to a particular UI (see below). Other systems management approaches are remote shells, proprietary solutions and network management adoptations 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 presumably be presented with some form of graphical user interface (GUI), browser user interface (BUI), or command line interface (CLI). The WBEM standard really has nothing to say about this interface (although a CLI for specific applications is being defined): in fact it is one of the strengths of WBEM that it is independent of the human interface since human interfaces can be changed without the rest of the system needing to be aware of the 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 device being managed (typically on the device itself) and construct an XML message with 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 device being managed to see how the request should be handled. This model is what 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 is written using the Common Information Model standard and 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. This is handled by so-called "providers": small pieces of code which 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 provider writer knows nothing of the GUI, BUI, or CLI being used by the operator.
- SLP (WBEM Discovery using SLP; SLP Template)
- Query Language
- CQL (CIM Query Language 1.0)
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 Edit
- Novell has adopted the OpenWBEM open source implementation of WBEM and includes it in SUSE Linux Enterprise Server
- Microsoft has developed the WMI technology and has included it in Microsoft Windows
- Sun Microsystems has created WBEM-Services for the Solaris operating environment: Solaris WBEM Services
- Hewlett Packard has included WBEM Services CORE Product in the HP-UX operating system (with all operating environments) since version 11iv1
- RedHat ships OpenPegasus as part of RedHat Enterprise Linux
WBEM implementations Edit
- 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 C++
- SMI-S, Storage Management Initiative - Specification. Based on WBEM, used for SAN devices
- Other Resources