# Web-Based Enterprise Management

WBEM (Web-Based Enterprise Management), qui pourrait se traduire par « Gestion de l'entreprise s'appuyant sur le Web », est un ensemble de techniques et de standards Internet de gestion servant à unifier la gestion des environnements d'informatique distribuée.
WBEM s'appuie sur des standards Internet et sur les standards ouverts publiés par l'organisme DMTF (Distributed Management Task Force). Il s'agit de l'infrastructure et du schéma Common Information Model (CIM), de CIM-XML, du fonctionnement de CIM par-dessus HTTP et de WS-Management. Bien que le nom de WBEM comporte Web-Based (s'appuyant sur le Web), il n'est pas nécessairement lié à une quelconque interface utilisateur.
Les alternatives à WBEM sont les interpréteurs de commandes distants, certaines solutions propriétaires, ainsi que l'architecture de gestion réseau SNMP.

## Fonctionnalités

Les fonctionnalités-clés de la technologie WBEM comprennent :
* la gestion à distance des applications ;
* la gestion de plusieurs instances d'une même application comme une seule unité ;
* une interface normalisée pour la gestion à distance des différentes applications ;
* le découplage de la gestion de l'application et du client de gestion ;
* la « publication » d'informations-clés sur une application au bénéfice des autres applications.

## Architecture

On considère un administrateur qui essaye de gérer un équipement ou un service, c'est-à-dire de le configurer, de le mettre en route, de l'arrêter, de collecter des alarmes, etc.
Cet administrateur fait face à une interface graphique, une interface en ligne de commandes ou à un navigateur web. Le standard WBEM ne précise rien quant à cette interface (bien qu'une interface en ligne de commandes pour certaines applications soit définie). En fait, l'une des forces de WBEM est qu'il est indépendant de l'interface homme-machine, cette dernière pouvant être remplacée sans rien changer au reste de l'architecture.

### API

Cette interface communique avec un client WBEM au moyen d'un petit nombre d'interfaces de programmation (API). Ce client trouve un serveur WBEM pour l'équipement à gérer, en général intégré à l'équipement lui-même. Il construit un message XML contenant la requête de gestion.
Le client utilise le protocole HTTP ou le protocole HTTPS pour passer la requête, encodée en CIM-XML, au serveur WBEM.

### CIMOM

Le serveur WBEM décode la requête entrante, procède aux vérifications d'authentification et d'autorisation nécessaires, puis consulte le modèle décrivant l'équipement à gérer. Ce type de serveur est appelé un CIMOM (CIM object manager).
Ce modèle a été créé au préalable et détermine comment la requête sera traitée. La requête peut être formulée dans le langage WQL.
Le modèle est un point fort de l'architecture WBEM : c'est le point d'articulation entre le client interagissant avec le modèle et le modèle interagissant avec le matériel ou le logiciel réels. Le modèle est écrit en utilisant le standard CIM Schema qui fait partie de Common Information Model; le DMTF a publié de nombreux modèles pour des appareils ou des services souvent gérés : routeurs, serveurs de fichiers, ordinateurs de bureau, etc.

### Providers

Pour la plupart des opérations, le serveur WBEM détermine à l'aide du modèle qu'il doit communiquer avec le matériel ou le logiciel réel. C'est géré au moyen de « fournisseurs » (providers), qui sont de petits bouts de code assurant l'interface entre le serveur WBEM et le matériel ou le logiciel réel, à l'aide d'une interface standardisée nommée Common Manageability Programming Interface (CMPI). Comme cette interface est bien définie et comme il y a peu de types d'appels différents, il est normalement facile d'écrire un fournisseur.

## Spécifications WBEM

* Représentations
** WBEM URI Mapping Specification
** Representation of CIM using XML (CIM DTD)
** CIM Schema: Modélation des entités software et hardware en classes, attributs et associations
* Protocoles
** CIM Operations over HTTP
** Server Management Command Line Protocol (SM CLP)
** Web Services Distributed Management (WSDM)
** WS-Management over SOAP
* Découverte
** WBEM Discovery using Service Location Protocol (SLP)
* Langage de requête
** CIM Query Language (CQL) encore appelé WQL pour WBEM query language

## Implémentations
### WBEM au sein des systèmes d'exploitation

* Apple Inc. utilise une implémentation de WBEM dans son outil de gestion de Apple Remote Desktop. Les clients Mac OS X comprennent la prise en charge de la gestion à distance.
* Hewlett Packard a intégré WBEM Services CORE Product dans le système d'exploitation HP-UX (avec tous les environnements d'exploitation) depuis la version 11iv1.
* IBM prend en charge WBEM dans z/OS et dans AIX.
* Microsoft a développé la technologie WMI et l'a intégrée dans Microsoft Windows.
* Novell a adopté l'implémentation open source Small Footprint CIM Broker (SFCB) et la fournit avec SUSE Linux Enterprise Server.
* Red Hat fournit OpenPegasus comme une partie de Red Hat Enterprise Linux.
* Oracle a des services WBEM pour le système d'exploitation Solaris : voir Solaris WBEM Developer's Guide.
* Le système d'exploitation Ubuntu est livré avec une pile WBEM, comprenant un gestionnaire d'objets CIM (CIM OM) open source, un client en ligne de commande et des fournisseurs CMPI de base.

### Implémentations séparées de WBEM

* WS J WBEM Server de WBEM Solutions, pour AIX, Linux, Solaris et Windows
* OpenPegasus, un client et serveur open source écrit en C++
* SBLIM (prononcé « sublime ») client, gestionnaire d'objets CIM (CIM OM), fournisseurs open source pour Linux
* Small Footprint CIM Broker (SFCB), écrit en C, le gestionnaire d'objets CIM de SBLIM
* PyWBEM, une bibliothèque Open Source WBEM écrite en Python
* OpenWBEM, C++, n'est plus actif depuis 2006
* WBEM Services, Java, n'est plus actif depuis 2004
* Open Management Infrastructure, autrefois appelé NanoWBEM, logiciel open-source proposé par Microsoft en partenariat avec The Open Group.