Réponse à la requête précédente
WS-Management
Présentation de WS-Management
Protocole Web-Service basé sur SOAP pour la gestion d’équipements réseaux, de web-services, d’applications ou de toute autre entité gérable
V1 publiée par DMTF en février 2008
Aperçu de SOAP
Définit la structure des messages échangés au travers d’un réseau par des applications
Permet l’exécution de services à distance
Aucun prérequis concernant la plateforme ou les données transportées
Unidirectionnel
1 message = 1 enveloppe:
en-tête (optionnel) : sert à transporter des informations annexes
corps : message envoyé par l’application
Modèle de gestion d’erreur :
Existence et nature de l’erreur transportée dans le corps d’un
message « classique »
Exemple de message SOAP
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<m:reservation xmlns:m="http://travelcompany.example.org/reservation" env:role="http://www.w3.org/
2003/05/soap-envelope/role/next" env:mustUnderstand="true"> <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference> <m:dateAndTime>2001-11-29T13:20:00.000-05:00</m:dateAndTime> </
m:reservation> <n:passenger xmlns:n="http://mycompany.example.com/employees" env:role="http://
www.w3.org/2003/05/soap-envelope/role/next" env:mustUnderstand="true"> <n:name>Åke Jógvan Øyvind</n:name> </n:passenger>
</env:Header>
<env:Body>
<p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel"> <p:departure> <p:departing>New York</p:departing> <p:arriving>Los Angeles</p:arriving> <p:departureDate>2001-12-14</
p:departureDate> <p:departureTime>late afternoon</p:departureTime> <p:seatPreference>aisle</
p:seatPreference> </p:departure> <p:return> <p:departing>Los Angeles</p:departing> <p:arriving>New York</p:arriving> <p:departureDate>2001-12-20</p:departureDate> <p:departureTime>mid-morning</
p:departureTime> <p:seatPreference/> </p:return> </p:itinerary> <q:lodging xmlns:q="http://
travelcompany.example.org/reservation/hotels"> <q:preference>none</q:preference> </q:lodging>
</env:Body>
</env:Envelope>
WS-Management
Les entêtes SOAP permettent :
De définir un adressage (3 entêtes):
Wsa:To (adresse de transport du service)
Wsman:ResourceURI
wsmanSelectorSet (pour préciser si plus d’une instance par classe)
D’envoyer des informations de contrôles telles
Wsman:OperationTimeOut
Wsman:MaxEnveloppeSize
Les actions sont transportées dans le corps d’un message SOAP
Système de souscription/publication pour les événements (souscription auprès de chaque agent)
Possibilités d’acquittements
Système d’énumérations pour les ressources possédant plusieurs instances
Support de sécurité de base (authentification, certificat)
Exemple
Source : DMTF[5]
Conclusion
Implémentations existantes
Project WBEMServices Pegasus SNIA WBEM OpenWBEM SBLIM WMI B4WBEM
Producer or initiator
Sun Microsystems
The Open Group (IBM, Compaq,
HP, BMC)
Storage Networking
Industry Association
(SNIA)
Caldera IBM Microsoft B4WBEM
Platform
Solaris 8 (Spark/
Intel) opensource:
platform-independent
(Java)
Linux, Unix (AIX, HPUX, Solaris),
Windows NT/
2000/9x
platform-independent
(Java)
Unix, Linux,
Solaris, other Linux MS Windows
98/2000/XP Linux
Programming language
Java 1.2 or
higher C++ Java (since
1.1.8) C++ C++ (Native
Provider Interface)
any language capable to use
DLL API
Perl
License
SISSL (Sun Industry Standards Source
License)
Open Source SNIA Public
License Open Source Common Public License
Integrated with MS Windows operating system
General Public License
Elements and capabilities
CIMOM, Client API, Provider
API, MOF Compiler, CIM
Workshop, providers for Solaris OS (only
in Solaris)
CIM Object Broker (CIMOM),
Client API, Provider API
CIMOM, Client API, Server API
CIMOM, Client API, Server API,
MOF Compiler, WQL (WBEM Query Language)
tools
a set of providers for linux system
API (WBEM Provider DLL),
functionality based on the operating system
kernel
libCIM, PaulA (CIMOM API)
Source : [7]
Comment implémenter WBEM
Installer l’environnement de développement WBEM/CIM
Choisir le produit et les packages
Installer le CIMOM (et un browser)
Configurer l’environnement de développement
Etendre le schéma CIM
Nom du schéma
Modélisation
Objets fondamentaux
Mapping aux objets (et héritage) des schémas CIM de référence et dérivations éventuelles
Idem pour les associations
Spécification MOF/XML
Propriétés: clefs, héritage (et override), nouvelles propriétés et qualifieurs
Méthodes: idem
Qualifieurs de classes: association, abstract, agrégation, indication…
Autres: propagation des clefs, héritage des qualifieurs, cardinalité, associations faibles, etc
Installation du schéma étendu CIM dans le CIMOM
Implémenter les providers
Interfacer avec le CIMOM et les agents
Coder les méthodes intrinsèques et extrinsèques
Installer un client
Comparaison WBEM/CMIP/SNMP
WBEM OSI Management Internet Management
Information model Orienté objet Orienté objet Plat, basé variable/tableau
Structure des MIB Méta-modèle GDMO SMI
Architecture Client/Serveur
Consommateur/Producteur Agent/Manager
Manager/Manager Agent/Manager
Manager/Manager Opérations du protocole SimpleReq, SimplerRsp,
MultiReq, MultiRsp;
Intrinsèques (7 profils) et extrinsèques
M-Get, M-Set, M-Action M-Create, M-Delete M-Event-Report
Get, Set
limited Create/Delete Trap, Inform
Protocole Connexion Connexion Datagramme
Adressage des objets Espaces de nommage (schéma CIM)
Namespace/Model Path
DN/LDN selon le MIT
Scoping/filtering OID selon la MIB Parcours des branches Applications de gestion Application, CIMOM, Providers,
Agents 5 régions spécifiées Initialement prévu pour la
gestion du hôte TCP/IP
Pré-requis XML, HTTP Couche applicative OSI Couche transport
Standardisation DMTF ISO OSI, UIT-T IETF
Difficultés et applications
Difficultés et problématiques
Conformité à l'esprit WBEM du DMTF
Sun vs Windows
Importance de modéliser suivant le standard plutôt que l’application
Compatibilité et interopérabilité des interfaces CIMOM/provider/agents
Intégration avec d’autres suites, produits et approches
Standardisation en cours
Producteur/consommateur
Notifications
Description du comportement des objets gérés (non supporté en MOF)
Qualifieurs vs classes spécifiques
Complexité et performances
Méthodes intrinsèques et extrinsèques
Requête (WBEM Query Language) et traitement XML
Surcharge protocolaire
Intégration et mapping
Filtrage de notifications
Gestion des associations
Java vs C++…
Utilisations actuelles
Microsoft System Center Configuration Manager (ex-System Management Server), WBEM CIM Studio, Quest Management Xtensions, Novell/SUSE SLES 10, HP WBEM Services, Apple Remote Desktop, BMC Patrol, CiscoWorks…
Conclusion
Proche de OSI Management en richesse de fonctionnalités…
Accès au méta-modèle
Orienté objet (~UML)
Objets et spécification des objets (template) dans les mêmes espaces de nommage
Support de relations entre les objets
Bibliothèque de classes (schémas)
Bases de données dynamiques
… sans la complexité de la pile
Ne nécessite pas les couches applicatives OSI
Se veut interopérable
Objectifs annoncés
Cadre unificateur : vision homogène, préservation et intégration de l’existant (mapping, qualifieurs)
Mise en place d'un chapeau assurant l’interopérabilité entre applications de gestion (XML, HTTP)
En réalité, simple mécanisme de traduction entre l’interface CIM et l’interface de l’agent
Pas toujours correctement spécifié
Complexité supplémentaire pour le développement et l’intégration d’approches legacy
… qui incite à adopter la gestion native WBEM