Etendre la tâche de mise à jour par lots

La tâche de mise à jour par lots vous aide à migrer des données et à déplacer des actifs sur un serveur IBM® Rational Asset Manager. Vous pouvez utiliser l'option du système de fichiers pour étendre la tâche de mise à jour par lots et pouvez étendre la tâche pour lire tout type de données source et les mapper avec des actifs.

Pourquoi et quand exécuter cette tâche

Etendre la tâche de mise à jour par lots

Vous pouvez étendre la tâche de mise à jour par lots pour lire tout type de données source et les mapper avec des actifs dans Rational Asset Manager.

La tâche de mise à jour par lots de Rational Asset Manager exécute un mappage intelligent en recherchant des actifs et en procédant à des fusions plutôt que de créer des actifs à chaque fois.

Le module d'extension com.ibm.ram.rich.ui.extension contient la source pour l'extension du système de fichiers et est inclus dans le cadre du client Rational Asset Manager Eclipse installé, dans le dossier /plugins. Vous trouverez le fichier JAR dans l'installation de votre client Eclipse à l'emplacement /eclipse/plugins/com.ibm.ram.rich.ui.extension_7.5.3.v.jar. Lorsque vous l'extrayez, vous pouvez trouver les fichiers Java™ dans le répertoire /src.

Le code d'extension filesys se trouve sous ces deux répertoires : src\com\ibm\ram\internal\batch\filesystem\ et src\com\ibm\ram\internal\batch\filesystem\ui\.

Préparer l'extension et la source de données

Pour toutes les sources de données, pour préparez l'extension et les données :
  1. Déterminez les données déplacées dans Rational Asset Manager.
  2. Préparez les données pour le téléchargement.
  3. Créez un plug-in Eclipse qui étende les classes de la tâche de mise à jour par lots de Rational Asset Manager.
  4. Développez et déployez le plug-in Eclipse.
Dans la section Exemple, Microsoft Excel est la source de données. Vous réalisez les étapes 1 et 2 à l'aide du tableur Excel.

Pour étendre la tâche de mise à jour par lots à l'aide de l'option du système de fichiers, vous devez créer un nouveau projet de plug-in et implémenter les extensions correspondant à ces points d'extension.

La tâche de mise à jour par lots fournit deux points d'extension à implémenter : batchDataSource et batchDataSourceUI.

Vous pouvez implémenter la tâche de mise à jour par lots à travers deux points d'extension :
  • batchDataSource : le plug-in com.ibm.ram.rich.core fournit le point d'extension batchDataSource. Ce point d'extension permet de définir une extension Source de données destinée au client par lots Rational Asset Manager. Elle sera utilisée, dans le cadre d'une mise à jour par lots, pour extraire les données de votre référentiel et les faire migrer vers un serveur Rational Asset Manager.
  • batchDataSourceUI : le plug-in com.ibm.ram.rich.ui.extension fournit le point d'extension batchDataSourceUI. Ce point d'extension vous permet d'ajouter des éléments d'interface utilisateur à l'éditeur de mise à jour par lots de Rational Asset Manager.

Extension simplifiée de système de fichiers

Ci-après une version simplifiée de l'extension de système de fichiers que vous pouvez exporter comme module d'extension déployable. Cette extension de système de fichiers crée des actifs à partir de dossiers et de fichiers zip dans un dossier racine donné. L'exemple se sert d'un dossier racine et tous les sous-dossiers ou fichiers zip deviennent des actifs. Le nom des sous-dossiers ou des fichiers d'archive correspond à celui de l'actif. Le contenu du sous-dossier/fichier sera des artefacts, sauf pour un fichier .asset_info obligatoire.

Il existe deux classes Java qui étendent les classes d'API par lots Rational Asset Manager :
  • FileSystemBatchDataSource.java - étend BatchDataSource.
  • FileSystemBatchUIContributor.java - étend AbstractBatchUIContributor.

La classe FileSystemBatchDataSource crée et renvoie les actifs en fonction de la racine. Dans ce fichier, vous spécifiez la source de données pour l'extension de client par lots pour créer des actifs depuis les dossiers et les fichiers zip dans un dossier racine donné. Ces dossiers et fichiers zip doivent contenir un fichier nommé .asset_info.

Le contenu du fichier .asset_info doit être au format d'un fichier .properties (en général, une paire clé=valeur par ligne) et inclure des propriétés spécifiques pour l'actif, comme indiqué dans le fichier FileSystemBatchDataSource.java :
  • name (Facultatif. En cas d'omission, le nom de fichier/dossier est utilisé.)
  • version (Facultatif. En cas d'omission, 1.0 est utilisé.)
  • community (Obligatoire)
  • asset_type (Obligatoire)
  • short_description (Facultatif. En cas d'omission, le nom de fichier/dossier est utilisé.)
  • description (Facultatif)

La classe FileSystemBatchUIContributor crée une source de données en ouvrant une boîte de dialogue de sélection de répertoire dans laquelle un utilisateur peut sélectionner le répertoire principal et s'en servir pour créer des actifs. Voir le fichier FileSystemBatchDataSource java pour la structure requise du répertoire principal.

Les points d'extension utilisés par l'exemple de système de fichiers pour un ancrage dans le client par lots sont définis dans le fichier plugin.xml :
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension point="com.ibm.ram.rich.core.batchDataSource">
      <dataSourceType
            class="com.ibm.ram.batch.example.FileSystemBatchDataSource"
            id="com.ibm.ram.batch.example.filesystem">
      </dataSourceType>
   </extension>
   <extension point="com.ibm.ram.rich.ui.extension.batchDataSourceUI">
      <batchDataSourceUI
            class="com.ibm.ram.batch.example.FileSystemBatchUIContributor"
            dataSourceID="com.ibm.ram.batch.example.filesystem"
            icon="icon.gif"
            name="File System Example">
      </batchDataSourceUI>
   </extension>
</plugin>

Les exemples de code pour ces extensions se trouvent ici : Utiliser le téléchargement par lot des extensions du système de fichiers.

Vous pouvez aussi utiliser les API Java Rational Asset Manager pour exécuter un téléchargement par lots et télécharger plusieurs actifs. Voir Effectuer un téléchargement par lots

Exemple

Cet exemple décrit comment créer des extensions pour des fichiers Microsoft Excel. Dans cet exemple, un fichier Microsoft Excel est la source de données et les extensions de la tâche de mise à jour par lots sont un plug-in Eclipse. La tâche de mise à jour par lots lit les fichiers Excel formatés et mappe les lignes Excel avec des actifs dans Rational Asset Manager. Les utilisateurs peuvent ensuite modifier les données avant de les soumettre dans Rational Asset Manager. Voir aussi Batch upload example.

Préparer la source de données

Avant de télécharger le tableur Excel, vous devez le formater. Dans cet exemple, le tableur est formaté comme indiqué ci-dessous :
Tableau 1.
  A B C D E F
1 Type d'actif : Compilateur Communauté : Infrastructure technique        
2 Actif : GUID Actif : Version Actif : Nom Attribut d'actif : Auteur Schéma de catégories : Licences Ignorer : IDE
  • Les deux premières lignes du tableur décrivent le modèle d'informations à mapper dans Rational Asset Manager.
    • Les deux premières lignes concernent le type d'actif et la communauté. Utilisez le format de cellule indiqué dans l'exemple. Par exemple "Type d'actif : Compilateur".
    • La seconde ligne concerne le mappage au niveau de l'actif, par exemple :
      • Actif : GUID
      • Actif : Version
      • Actif : Nom
      • Attribut d'actif : <nom de l'attribut>
      • Schéma de catégories : <nom du schéma de catégories> Les lignes contiennent des valeurs du schéma sous la forme “a/b/c”
      • Ignorer : <nom> Cette colonne est ignorée pendant le téléchargement.
      Si les lignes des actifs ne contiennent aucune valeur, un actif est alors créé dans Rational Asset Manager. Sinon, une fusion est exécutée.
  • Les lignes qui suivent les lignes 1 et 2 sont mappées en tant qu'actifs.

Les en-têtes de colonnes utilisent un format spécial utilisé par l'analyseur syntaxique de cet actif. Les lignes 1 et 2 sont réservées. La ligne 1 contient le type d'actif et la communauté. La ligne 2 contient une description de l'actif, le GUID, la version, le nom et des attributs de l'actif par exemple. Pour afficher les formats prévus, observez l'exemple de tableur proposé.

Créer le plug-in Eclipse

La structure du code est celle d'un plug-in Eclipse standard : vous définissez les points d'extension.

Lors de la création d'un plug-in Eclipse qui étend les classes de tâche de mise à jour par lots de Rational Asset Manager, suivez les instructions ci-dessous :
  • Utilisez l'assistant de plug-in Eclipse pour créer la classe Activator.
  • Renseignez deux classes minimum. Dans cet exemple : ExcelBatchDataSource et ExcelBatchUIContributor. Placez la logique d'analyse dans la classe de source de données.
  • Lorsque vous exécutez la tâche de mise à jour par lots dans Eclipse, sélectionnez une source de données, puis une connexion à Rational Asset Manager.
  • Lorsque vous sélectionnez la connexion à Rational Asset Manager dans le client, la méthode fetchAssets est appelée dans la classe de source de données. Utilisez la méthode ExcelBatchDataSource.fetchAssets() où la grande majorité du code d'analyse se trouve. Remarque : Votre code ne doit pas nécessairement inclure un objet de session Rational Asset Manager.
  • Pour obtenir une feuille de travail, appelez createSpreadsheetAssets et ouvrez un objet de classeur Excel.
  • Pour gérer l'identification global unique, créez-en un nouveau. Toutefois, si vous rencontrez une colonne Actif : GUID, définissez l'actif afin que la tâche de mise à jour par lots procède à un téléchargement plutôt qu'à une création d'actif.
  • Sur chaque ligne, sélectionnez les colonnes à télécharger et mappez-les avec l'actif.
Pour créer un nouveau projet de plug-in :
  1. Sur la barre de menus du plan de travail Eclipse, sélectionnez Fichier > Nouveau > Projet.
  2. Développez les branches Développement de plug-in > Projet de plug-in
  3. Tapez un nom pour le projet.
  4. Cliquez sur Suivant.
  5. Cliquez sur Terminer. Le fichier MANIFEST.MF s'ouvre.
  6. Cliquez sur l'onglet Dépendances pour ouvrir l'éditeur correspondant.
  7. Dans la section Plug-ins requis, cliquez sur Ajouter.
  8. Sélectionnez le plug-in com.ibm.ram.rich.ui.extension et cliquez sur OK.
  9. Cliquez sur Terminer.
  10. Dans la section Plug-ins requis, cliquez sur Ajouter.
  11. Sélectionnez le point d'extension com.ibm.ram.rich.ui.extension.batchDataSourceUI.
  12. Cliquez sur Terminer.
  13. Enregistrez le fichier MANIFEST.

La tâche de mise à jour par lots procède à la soumission de l'actif dans Rational Asset Manager.

Utilisation de la tâche de mise à jour par lots

Dans cet exemple, le plug-in Eclipse est déployé sur votre machine.

Pour exécuter l'extension de mise à jour par lots Excel de Rational Asset Manager afin d'utiliser un fichier Excel pour créer et soumettre de nouveaux actifs dans le cadre d'un téléchargement par lots, suivez les étapes ci-dessous :
  1. Cliquez sur Fichier > Nouveau > Tâche de mise à jour par lots.
  2. Sélectionnez la source de données Excel et choisissez le fichier Excel. L'éditeur de mise à jour par lots de Rational Asset Manager s'affiche.
  3. Cliquez sur l'icône de la source de données pour la mapper dans Rational Asset Manager. Cette icône contient l'icône de Excel. Un explorateur de fichiers, utilisé pour naviguer jusqu'au fichier Excel préparé, s'affiche.
  4. Sélectionnez la connexion au référentiel Rational Asset Manager définie dans votre espace de travail Eclipse.
  5. Sélectionnez le référentiel Rational Asset Manager cible dans lequel les actifs doivent être téléchargés. Dans cet exemple, les actifs sont téléchargés dans une instance de Rational Asset Manager sur la machine locale.
  6. Pour terminer le mappage avec Rational Asset Manager, ajoutez des éléments de configuration, des communautés par exemple, et mappez les catégorisations.

    Une fois le référentiel Rational Asset Manager cible sélectionné, l'éditeur par lots lit le fichier Excel et le mappe avec l'instance cible de Rational Asset Manager. A ce stade, aucun actif n'est téléchargé. L'éditeur par lots de Rational Asset Manager fournit un récapitulatif du mappage initial. Dans cet exemple, les actifs du fichier Excel ciblent une communauté Rational Asset Manager spécifique que l'éditeur par lots ne parvient pas à retrouver dans Rational Asset Manager. Les utilisateurs disposant de droits d'accès peuvent créer la communauté immédiatement, comme illustré dans cet exemple.

    Le mappage se poursuit afin d'étudier les types d'actifs, les informations de version de l'actif, les types de relations, etc. Dans chaque cas, les utilisateurs peuvent mapper avec des informations de configuration existantes dans Rational Asset Manager ou, s'ils disposent des droits d'accès, peuvent ajouter ces informations.

  7. Une fois le mappage terminé, cliquez sur le bouton Mettre à jour tous les actifs. Les actifs sont téléchargés dans Rational Asset Manager. Les résultats du téléchargement s'affichent dans l'éditeur par lots.

Structures et objets de classes

L'API Rational Asset Manager comprend deux structures de classe principales pour les actifs :
  • Classes avec des noms commençant par "RAM" (la classe RAMAsset par exemple).
  • Classes avec des noms ne commençant pas par “RAM” (la classe Asset par exemple).
Les objets des classes RAM sont extraits d'un serveur Rational Asset Manager qui requiert un objet de session Rational Asset Manager. Les objets de session ne sont pas utilisés dans cet exemple. Les objets de classes, Asset par exemple, sont créés sans session Rational Asset Manager connue, sont intégrés à la tâche de mise à jour par lots, puis sont soumis ou mis à jour dans Rational Asset Manager.

Vos commentaires