Impossible de parler de XMI sans évoquer les deux autres standards qui lui sont intimement liés : UML et MOF. En quelques mots, UML (Unified Modeling Language) est un langage graphique utilisé pour la conception orientée objet, et MOF (Meta Object Facility) utilise un sous-ensemble de UML pour décrire les objets manipulés par les outils de conception. Enfin, XMI (XML Metadata Interchange) indique comment les modèles MOF peuvent être traduits en XML. Le but de ces standards est de permettre à des ateliers logiciels d'explorer et d'échanger les définitions des structures de données, leurs propriétés, les relations les unissant, etc.
Avant de construire une voiture, par exemple, il faut en créer les plans détaillés. Le moindre élément du véhicule, carrosserie, moteur, châssis, roues et jusqu'au plus petit boulon, doit être décrit, ainsi que les relations entre chaque élément : c'est le plan de montage. Des règles précises normalisent la façon dont de tels plans sont représentés sur papier. Si l'on souhaite créer, non plus une voiture, mais un logiciel ou une base de données, UML est le langage graphique normalisé permettant de décrire les plans d'un logiciel, c'est-à-dire les structures des données et les relations qui les lient. On parle de modèles UML. Lesquels sont rarement dessinés à la main, mais plutôt à l'aide d'outils informatiques (comme Rational Rose). En poursuivant l'analogie industrielle, MOF (Meta Object Facility) serait un ensemble de règles de réalisation des plans de la voiture : épaisseur des traits, façon de placer les légendes, etc. On doit la création de cette architecture de métaobjets MOF à l'OMG (Object Management Group), soutenu par des organismes comme IBM, Oracle, Rational ou Unisys.
Des standards convergents
Un métaobjet est donc simplement le plan d'un plan. Or, les concepteurs du standard MOF ont suivi leur idée jusqu'au bout. Quoi de mieux pour décrire rigoureusement une structure de données que de la modéliser en utilisant les outils de conception orientés objet ? C'est-à-dire UML. MOF utilise donc la syntaxe UML, privée de certaines constructions complexes inutilisées comme les objets-liens ou les relations n-aires, pour définir ses métamodèles. Entre-temps, XML s'est affirmé comme le point de convergence des technologies objet et XMI est devenu le standard qui définit les règles de génération d'une DTD (Data Type Definition) XML à partir d'un métamodèle. C'est la structure de leur DTD qui caractérise les documents XMI parmi l'ensemble des documents XML. Il n'a pas été difficile d'étendre la norme MOF en utilisant des règles de correspondance entre un métamodèle MOF et un fichier XML conformes à XMI. L'extension présente même le bénéfice secondaire d'établir une passerelle " naturelle " entre Corba et XML.
Attention à ne pas confondre les niveaux d'abstraction ! Par exemple, pour transmettre par XML des informations sur la structure d'une base de données, la DTD correspond aux métamodèles de la base, c'est-à-dire aux notions de table (ensemble de colonnes), de colonne et de types de relations gérées, etc. , tandis que le document XML définit le modèle, c'est-à-dire la structure des tables effectivement utilisées dans une base précise. Mais les données de la base n'apparaissent nulle part. L'usage principal de XMI consistant à favoriser l'échange de modèles UML entre les ateliers de développement de programmes de différents fournisseurs, les DTD XMI les plus utilisées sont la DTD UML (issue du métamodèle d'UML, qui décrit les types des tables et des liens utilisés en UML), et la DTD MOF (similaire mais légèrement restreinte). Ces normes préfigurent une nouvelle génération d'outils de développement interopérables et communiquant entre eux, et des logiciels capables de s'adapter aux évolutions de format des données manipulées.
Suivant le contexte, le préfixe méta et la notion de métadonnée n'ont pas toujours la même signification. Au sens large, une métadonnée estune information complémentaire utilisée pour décrire la donnée initiale ou la préciser. Pour une page web par exemple, le nom de son auteur, sa date de création, le logiciel qui a permis de l'élaborer ou les mots-clés à lui associer sont tous des métadonnées. Les méta-métadonnées d'une page web (qui existent effectivement) correspondent aux mots-clés utilisés pour les champs méta et à leur sémantique. En conception objet, le préfixe méta prend un sens plus restrictif. Un métaobjet est ce que l'on appelle couramment une classe, mais on ne commence en général à employer le terme que lorsque les classes sont elles-mêmes des objets. Le métaobjet d'un objet physique est son plan, son modèle théorique. Le métamodèle est le plan du plan, une définition des caractéristiques qui font qu'un plan est un plan. En théorie, cette imbrication de niveaux peut se poursuivre à l'infini. En pratique, MOF, l'une des utilisations les plus poussées du concept méta, se contente de quatre niveaux hiérarchiques.
XMI est à la frontière de deux mondes : d'une part la conception orientée objet, d'autre part les documents structurés et les langages de tag. Les deux présentent plusieurs points communs. Rien d'étonnant donc à ce que, dans la pratique, les fichiers XML conformes aux DTD XMI soient simples. On peut décrire la structure des métaobjets et leurs relations grâce à trois types seulement d'éléments de base : classes, attributs (champs des objets) et associations (différents types de liens : héritage, inclusions et références). Judicieusement employés dans une DTD, ces éléments traduisent n'importe quel métamodèle MOF, le fichier XML proprement dit contenant le modèle. La notion d'héritage, très importante en conception objet, pose un problème : elle n'existe pas en XML. Dans les DTD, on peut contourner le problème en indiquant explicitement les classes ancêtres (superclasses) et en utilisant le mécanisme standard de substitution de définition. Ce qui contraint toutefois à définir les entités dans un ordre précis dans la DTD. Dans les fichiers XML, les champs hérités doivent être répétés pour chaque objet. Il existe toutefois un format XMI différentiel où, plutôt qu'un modèle complet, le document transmis ne contient que les points différant d'un modèle de référence. La méthode permet des transmissions beaucoup plus compactes.
![]() |
Service Kiosque :
Téléchargez ce magazine sur votre PC/Mac à volonté et en moins de 2 mins !
|
|
![]() |
Service Kiosque :
Préservez la nature cet été, et téléchargez vos magazine préférés !
|
|
1 Orange
2 Free
3 Bouygues Telecom
> Plus de détails

![]() |
> Jeu en ligne :
Casino Tropez Plongez au coeur d'un véritable casino virtuel.
|
|
