# Web-Based Enterprise Management

In computing, Web-Based Enterprise Management (WBEM) comprises a set of systems-management technologies developed to unify the management of distributed computing environments. The WBEM initiative, initially sponsored in 1996 by BMC Software, Cisco Systems, Compaq Computer, Intel, and Microsoft, is now widely adopted. 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
* WS-Management for web services
* CIM Operations over RESTful Services
Although the name labels WBEM as "web-based", it is not necessarily dependent on any particular user interface (see below). Other systems-management approaches include remote shells, proprietary solutions and IETF standardized network-management architectures like the SNMP and Netconf.

## Features

WBEM allows the management of any element in a standard and inter-operable manner.
WBEM provides the technology underlying different management initiatives in information technology:
* Desktop management (DASH)
* Network management (NetMan)
** There is a DMTF page that shows a number of DSP pdfs that are the published profiles of the NetMan Initiative
* Storage management (SMI)
* Systems management (SMASH)
* Virtualization management (VMAN)
** There is a DMTF page that shows a number of DSP pdfs that are the published profiles of the VMAN Initiative

## Architecture

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 (APIs). 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 it 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 defined model of the managed device to see how to handle the request. This model provides the power of the architecture: 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 standardized 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.

## WBEM specifications

* Mappings
** URI (WBEM URI Mapping Specification 1.0)
** XML (xmlCIM as used in CIM-XML)
** XML (WS-CIM as used in WS-Management)
** UML
* Protocols
** CIM-XML
** WS-Management
** CIM-RS
* Discovery
** SLP (WBEM Discovery using SLP; SLP Template)
* Query Language
** CQL (CIM Query Language 1.0)
** FQL (Filter Query Language 1.0)

## Implementing support

The implementation of the management system requires three components:
* The model
    Normally done by extending as necessary one of the standard models published by the DMTF.
* 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)
* The providers
    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.

## Implementations
### 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 and OpenVMS V8.3-1H1 and V8.4
* IBM ships support in z/OS and AIX.
* Microsoft has developed the WMI technology and has included it in Microsoft Windows.
* Red Hat ships OpenPegasus as part of Red Hat Enterprise Linux
* Oracle has WBEM-Services for the Solaris operating environment
* Ubuntu ships with an updated CIM instrumentation stack, powered by the latest version of the lightweight CIMOM, SBLIM SFCB.

### WBEM implementations

* WS-Management
* OpenPegasus, open-source client and server written in C++
* Open Management Infrastructure, open-source client and server written in C
* SBLIM (pronounced "sublime") Standards Based Linux Instrumentation for Manageability, C, C++, Java
* Pywbem, open-source WBEM library written in Python
* WBEM Solutions J WBEM Server and SDK