Change Management System de MEGA (CMS)

Publié le par samuel

Objet : Présentation du module CMS MEGA : Change Management System

 

Avant la lecture de cet article il faut être au point avec les notions du MétaModèle MEGA et le vocabulaire associé : exemple savoir ce qu'est une Meta Classe, une Meta Association End, une Meta Association, ...

 

Je vais détailler ici le fonctionnement présenté par MEGA pour le fonctionnement de CMS. Avant tout le module CMS disponible pour MEGA 2007 permet de gérer les consolidations d'une base à une autre, de gérer les changements dans une base. Créé pour faciliter les tâches d'administration qui permettent de passer d'une version de travail (base source) à une version consolidée dans une base cible.

 

Nous partons de l'onglet MetaStudio et un nouveau dossier apparaît : domaine de passage. Un domaine de passage plus communément appelé grappe permet de définir un domaine qui va poser un périmètre sur les objets à remonter ou non. Un domaine de passage va permettre de poser les comportements et les stratégies à suivre pour passer de la base source à la base cible.

 

Une fois le domaine de passage créé, il faut lui associer une Meta Classe racine : autrement dit une Meta Classe qui servira de point d'entrée du domaine de passage. Après dans la fenêtre deux solutions pour définir la suite logique des opérations : soit en sélectionnant les Meta Classe à extraire soit en sélectionnant les Meta Association End à extraire. Ces deux solutions correspondent à deux onglets dans la fenêtre de configuration.

 

            Première solution : « Déconseillée » selon MEGA, clairement pas rigoureuse à mon avis car l'ensemble des Meta Association de la Meta Classe racine et de la Meta Classe à extraire seront exploités et cela récursivement ce qui peut être très lourd !

 

            Deuxième solution : la plus rigoureuse ; celle que je vais détailler maintenant. Il faut donc choisir chaque Meta Association End de la Meta Classe racine que l'on veut exploiter et définir les comportement pour celles-ci parmi les types existants (link, standard, deep, abort).

 

Peut être un rappel sur ceux-ci et ce qu'ils font permettront d'éclaircir le contexte :

            - Abort = ne prend rien du tout, la Meta Association End n'est pas exploitée

- Standard = prend l'association et l'objet lié

- Link = prend juste l'association

- Deep = prend l'association, l'objet lié et les associations de l'objet

 

Le comportement Abort ne sert pas à grand-chose ici vu que si la Meta Association End n'est pas sélectionnée, elle ne sera pas exploitée.

 

Donc si pour une Meta Association End nous définissons le comportement Deep il faut alors définir les comportements pour les Meta Association End de la Meta Classe liée par la Meta Association End avec le comportement à Deep. Me suis-je fais comprendre ? Un petit exemple pour éclaircir tout cela :

           

            Imaginons que nous définissons un domaine de passage pour la Meta Classe racine Processus et que nous mettons le comportement Deep sur la Meta Association End Activité ; il faudra alors définir les comportements des Meta Association End de la Meta Classe Activité car le comportement Deep prend le lien (l'association), l'objet lié et les associations de celui-ci.

 

            Il est possible de faire appel à un domaine de passage existant au sein d'un domaine de passage. Ce qui fait que l'on peut définir un domaine de passage pour la Meta Classe Activité et faire appel à celui-ci dans le domaine de passage de la Meta Classe Processus.

 

            Il ne faut pas oublier de lier un domaine de passage à une personne (un utilisateur MEGA), à un administrateur ce qui permettra à celui-ci de se servir du domaine de passage. Sinon il ne pourra pas l'utiliser. Voici ci-dessous un modèle des liens autour du domaine de passage :

 

 

            Une fois le ou les domaine(s) de passage défini(s) il faut se connecter (avec le compte de l'un des utilisateurs MEGA rattaché au domaine de passage) à la base cible. Puis il faut sélectionner Fichierà Importer à CMS ; ensuite choisir la base source, rechercher le/les objet(s) à consolider et les sélectionner.

 

            Ensuite il faut cliquer sur « Première extraction » qui correspond à la première étape du traitement. Celle-ci permet de lister les objets qui sont tirés. Puis il faut cliquer sur « Suite extraction » qui est la seconde itération du traitement. Celle-ci permet de lister l'ensemble des objets qui sont liés aux objets directs. Les deux étapes peuvent être transparentes. Le traitement a été conçu en deux étapes afin de pouvoir sélectionner/désélectionner les objets tirés à la fin de la première itération.

  

 

BUG ! Mais, si on désélectionne un objet à la fin de l'itération 1 il est quand même tiré en itération 2, donc aucun intérêt pour le moment à la date d'aujourd'hui.

 

 

Ensuite la liste présentée comporte des petits icônes pour chacune des lignes restituées :

            S=D qui signifie que la source est égale à la cible

            Sà  qui signifie que c'est présent uniquement en source

            Et ainsi de suite.

 

Il est possible de définir une stratégie de passage globale, ou une stratégie précise pour chacun des domaines de passages. Une stratégie de passage permet de définir ce qu'il faut faire pour chacun des cas rencontrés. Exemple un objet a été supprimé en source que faut-il faire ? Une suppression en cible ? Un délier en cible ? Autre ? Et de la même façon pour chacune des situations.

 

Pour chacun des domaines de passage il est possible de réaliser des filtres sur les attributs de l'objet afin de le sélectionner ou non. Par exemple il est possible de définir un filtre pour le domaine de passage de la Meta Classe Processus sur l'un des Meta Attributs de cette Meta Classe. Ainsi il sera possible de retenir uniquement les objets dont la date de modification est supérieure à une date précise. Il faudra juste faire attention, car un filtre qui porte sur un Meta Attribut qui est commun à plusieurs Meta Classe sera du coup appliqué à d'autres Domaine de passage.

 

En conclusion et après avoir testé l'outil : c'est un outil réellement pratique et pertinent dans une utilisation d'administration quotidienne. Mais au jour d'aujourd'hui il y a encore de nombreux bugs, et du coup n'est pas utilisable pour l'instant. Dès que j'en sais plus à ce sujet je vous tiens informés ! N'hésitez pas à me poser des commentaires afin de me donner vos avis sur ce sujet, me dire si vous utilisez ce module dans MEGA (à ma connaissance très peu l'utilisent aujourd'hui), et vos retours respectifs. Merci !

Publicité

Publié dans MEGA

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article