Utilisation de modules d'extension de l'API pour charger des données dans des politiques et des formulaires

Cet article contient les rubriques suivantes :
casm173
Cet article contient les rubriques suivantes :
Les administrateurs et les concepteurs de service collaborent pour élaborer des modules d'extension d'API qui chargent de façon dynamique des données dans les politiques et les formulaires, comme suit :
  • Pour une politique, ces données spécifient les destinataires (approbateurs) d'une demande. Vous utilisez le module d'extension au lieu de spécifier manuellement les destinataires à l'aide du générateur d'actions. Lorsqu'un utilisateur soumet une demande, le module d'extension d'API spécifie de façon dynamique les destinataires.
  • Pour un formulaire, ces données spécifient la valeur de l'un des champs suivants : tables dynamiques, listes doubles ou zones de sélection et leurs options. Par exemple, lorsqu'un utilisateur remplit un formulaire pour réserver un ordinateur virtuel, l'objet de données de rapport remplit la liste d'ordinateurs disponibles. De plus, vous pouvez créer d'autres objets de données de rapport pour remplir des champs connexes, par exemple, des options pour la mémoire RAM et l'espace disque.
Les modules d'extension d'API interrogent la MDB ou une autre source de données. Le module d'extension de l'API renvoie le nombre d'objets qui répondent aux critères spécifiés. Vous pouvez créer vos propres modules d'extension de l'API, ou copier et modifier les modules d'extension prédéfinis selon vos besoins. Dans les deux cas, vous devez remplir les conditions préalables et compiler les modules d'extension
avant
de les utiliser.
Les modules d'extension de l'API sont déployés sous forme de fichiers .jar dans le répertoire de modules d'extension du référentiel de fichiers. Ils s'exécutent dans la même instance de machine virtuelle Java que CA Service Catalog.
Effectuez les tâches qui s'appliquent :
Utilisation de modules d'extension de l'API pour des politiques
Pour créer et utiliser un module d'extension de l'API pour des politiques, procédez comme suit :
  1. Définissez le but ou l'objectif du module d'extension.
    Un module d'extension d'API s'avère très utile lorsque vous interrogez un système externe pour obtenir des données utilisées pour préciser les destinataires. Un module d'extension d'API s'avère aussi utile lorsque les identités varient en fonction des données fournies dans la demande. D'après ces données, le module d'extension crée de façon dynamique la liste de destinataires et en indique les niveaux.
  2. Remplissez les conditions préalables :
  3. Soyez en mesure d'effectuer les actions suivantes de manière efficace :
    • Programmation dans Java.
    • Création de politiques, y compris des conditions, et compréhension des types de destinataires requis.
  4. Consultez la Documentation du module d'extension de l'API, comme suit :
    1. Sélectionnez Administration, Outils, Modules d'extension.
    2. Cliquez sur la documentation de l'API.
    3. Passez en revue le package com.ca.usm.plugins.apis.policies.
    La documentation relative à l'API est une documentation Java générée automatiquement d'après les méthodes de classe Java pour les modules d'extension. Vous pouvez utiliser les interfaces, les classes, les méthodes, etc., pour implémenter votre module d'extension.
  5. Téléchargez et passez en revue l'exemple de module d'extension de l'API pour les politiques, comme suit :
    1. Sélectionnez Administration, Outils, Modules d'extension.
    2. Cliquez sur Exemple de module d'extension de politique, vérifiez les détails, puis téléchargez le code source.
    3. Ouvrez et passez en revue le fichier SamplePolicyPlugin.java situé dans le dossier \src\java\com\ca\usm\plugins\samples\policy. Utilisez cet exemple de module d'extension de politique en tant que modèle.
  6. Créez une classe Java pour implémenter l'interface appelée com.ca.usm.plugins.apis.policies.AssignmentPolicyPlugin. L'exemple module d'extension de politique illustre l'implémentation de cette interface.
  7. (Facultatif) Si vous utilisez des formulaires de configuration de contenu, récupérez les valeurs des champs qu'ils contiennent. Utilisez les formulaires selon vos besoins.
  8. Créez un fichier de propriétés pour le module d'extension. Vous pouvez utiliser le fichier plugin.properties dans l'exemple de module d'extension de politique comme modèle pour vos fichiers de propriétés.
  9. Créez un dossier pour stocker le fichier de propriétés et les fichiers JAR qui fournissent les classes et les bibliothèques de prise en charge.
    Stockez le fichier de propriétés au niveau
    supérieur
    du dossier. Ne le stockez
    pas
    dans un sous-dossier.
  10. Activez le module d'extension :
    1. Arrêtez le service Windows de CA Service Catalog.
    2. Copiez votre dossier (y compris tous les sous-dossiers, le cas échéant) dans le dossier USM_HOME\filestore\plugins.
  11. Démarrez le service Windows de CA Service Catalog.
  12. Vérifiez que le module d'extension a été adopté :
    1. Sélectionnez Administration, Outils, Modules d'extension.
    2. Vérifiez que le module d'extension est répertorié et que ses détails s'affichent correctement.
  13. Testez ce module d'extension :
    1. Utilisez-le pour indiquer les destinataires d'une politique.
    2. Soumettez la demande qui active la politique et vérifiez que la politique affecte des approbateurs de façon dynamique comme prévu.
Utilisation de modules d'extension de l'API pour des formulaires
Pour créer et utiliser un module d'extension de l'API pour un formulaire, procédez comme suit :
  1. Définissez le but du module d'extension. Par exemple : remplir un champ de sélection avec des salles de réunion qu'un utilisateur peut réserver pour une certaine période. Les options de salle de réunion incluent également des projecteurs, des unités de vidéoconférence, des microphones, etc.
  2. Vérifiez que les conditions préalables sont remplies. Soyez en mesure d'effectuer les actions suivantes de manière efficace :
    • Programmation dans Java.
    • Création de formulaires à l'aide du concepteur de formulaires.
    • Dans les formulaires du concepteur de formulaires, créez les champs suivants :
      • Champs à sélection unique, à sélection multiple et de listes doubles
      • Champs de tables dynamiques
  3. Consultez la Documentation du module d'extension de l'API, comme suit :
    1. Connectez-vous à CA Service Catalog et sélectionnez Administration, Outils.
    2. Sélectionnez Liens.
    3. Cliquez sur Documentation du module d'extension.
    La documentation relative à l'API est une documentation Java générée automatiquement d'après les méthodes de classe Java pour les modules d'extension. Vous pouvez utiliser les interfaces, les classes, les méthodes, etc., pour implémenter votre module d'extension.
  4. Vous pouvez créer une classe Java pour le type de champ du concepteur de formulaires auquel le module d'extension sera appliqué, de la manière suivante :
    • Pour les champs à sélection unique, à sélection multiple et de listes doubles : créez une classe Java pour implémenter l'interface com.ca.usm.plugins.apis.forms.FDSelectDataProvider. Un exemple d'implémentation de cette interface est fourni dans l'exemple de module d'extension de sélection, avec l'ID ca.catalog.samples.select-plugin.
    • Pour les champs de tables dynamiques : créez une classe Java pour implémenter l'interface com.ca.usm.plugins.apis.forms.FDTableDataProvider. Un exemple d'implémentation de cette interface est fourni dans l'exemple de module d'extension de table, avec l'ID ca.catalog.samples.table-plugin.
    Pour accéder à la documentation Java de ces interfaces, cliquez sur Administration, Outils, Modules d'extension, puis sur Documentation de l'API.
    Pour télécharger l'exemple de code source, cliquez sur l'exemple de module d'extension sur la même page, puis cliquez sur Télécharger le code source.
  5. Créez un fichier de propriétés pour le module d'extension, comme suit :
    • Utilisez les exemples de modules d'extension comme modèles pour vos fichiers de propriétés. Dans ce cas, modifiez la propriété ID du module d'extension dans le fichier plugin.properties.
    • Pour employer le fichier de compilation inclus pour compiler le module d'extension, utilisez le kit de développement Java 1.6 (ou ultérieur) et Apache Ant 1.8 (ou ultérieur).
    • Utilisez un chargeur de classes privé pour vos modules d'extension. Pour utiliser un chargeur de classes privé, ajoutez la ligne suivante au fichier plugin.properties :
      classloader.type=private
      Les modules d'extension personnalisés créés à l'aide de la version 12.7 de CA Service Catalog ne requièrent
      aucune
      mise à jour après la mise à niveau de CA Service Catalog, car ils continuent de fonctionner comme avant.
  6. (Facultatif) Si vous utilisez des formulaires de configuration de contenu, récupérez les valeurs des champs qu'ils contiennent. Utilisez les formulaires selon vos besoins.
  7. Effectuez les actions qui s'appliquent :
    • Configuration des paramètres de pagination des champs de sélection.
    • Configuration des attributs de zones de sélection uniquement.
    • Configuration des paramètres de tri et de pagination des tables dynamiques.
  8. Créez un dossier pour stocker le fichier de propriétés et les fichiers JAR qui fournissent les classes et les bibliothèques de prise en charge.
    Stockez le fichier de propriétés au niveau
    supérieur
    du dossier. Ne le stockez
    pas
    dans un sous-dossier.
  9. Activez le module d'extension :
    1. Copiez votre dossier (y compris tous les sous-dossiers, le cas échéant) dans le dossier de modules d'extension du référentiel de fichiers.
    2. Sélectionnez Administration, Outils, Modules d'extension, puis cliquez sur la méthode Charger de nouveau les modules d'extension.
  10. Vérifiez que le module d'extension a été adopté :
    1. Connectez-vous à CA Service Catalog et sélectionnez Administration, Outils.
    2. Sélectionnez Modules d'extension.
    3. Vérifiez que le module d'extension est répertorié et que ses détails s'affichent correctement.
Vous pouvez maintenant tester cet API pour l'utilisation dans un champ de formulaire.
Configuration des paramètres de pagination des champs de sélection
Votre module d'extension peut renvoyer une quantité importante de données dans un champ de sélection d'un formulaire. Dans ce cas, vous spécifiez fréquemment la taille de la page des résultats dans le champ de sélection. Par exemple, vous pouvez afficher dix résultats par page dans ce champ. Pour réaliser cette tâche, configurez les paramètres de la pagination dans la classe et l'objet Java associés.
Procédez comme suit :
  1. Modifiez la classe Java qui implémente l'interface appelée com.ca.usm.plugins.apis.forms.FDSelectDataProvider. Implémentez la méthode suivante dans FDSelectDataProvider :
    List<FDOption> getOptions(int start, int numToReturn);
    • start
      Spécifie la première ligne à renvoyer. Ce paramètre est un nombre entier.
    • numToReturn
      Indique le nombre de lignes à renvoyer. Ce paramètre est un nombre entier.
    Cette méthode renvoie une liste d'objets FDOption :
      • La paire clé valeur (ID et valeur) d'un objet de données de rapport pour les options du champ de sélection.
      • Données qui complètent la paire clé valeur. Vous pouvez également afficher ces données supplémentaires dans d'autres champs du formulaire (excepté le champ de sélection).
    La valeur de l'attribut _id de chaque champ doit correspondre à l'une des clés dans les données supplémentaires.
  2. De même, dans FDSelectDataProvider, implémentez la méthode suivante :
    int totalCount();
    Cette méthode renvoie le nombre total de lignes existantes.
Pour plus d'informations et d'exemples, consultez la documentation du module d'extension de l'API.
Configuration des attributs de zones de sélection uniquement
Certains attributs HTML s'appliquent aux zones de sélection uniquement. Pour plus d'informations, reportez-vous à la section Attributs pour les zones de sélection uniquement.
Configuration des paramètres de tri et de pagination des tables dynamiques
Votre module d'extension peut renvoyer une quantité importante de données dans une table dynamique d'un formulaire. Dans un tel scénario, vous spécifiez la taille de la page des résultats. Par exemple, vous pouvez afficher dix résultats par page dans le formulaire. De même, il est fréquent de permettre à des utilisateurs de trier les résultats sur chaque page dans l'ordre croissant ou décroissant. Pour effectuer les deux tâches, configurez les paramètres de tri et de pagination dans la classe et l'objet Java associés.
Procédez comme suit :
  1. Cliquez sur Catalogue, Formulaires, puis ouvrez le formulaire de votre choix.
  2. Ouvrez la table et vérifiez que l'attribut appelé Triable sur True.
    Si cet attribut est activé (True), les utilisateurs peuvent cliquer sur les flèches dans les en-têtes des colonnes de la table pour trier les résultats.
  3. Modifiez la classe Java qui implémente l'interface appelée com.ca.usm.plugins.apis.forms.FDTableDataProvider. Implémentez la méthode suivante dans FDTableDataProvider :
    List<FDTableRow> getTableRows(int start, int numToReturn, String sortField, boolean sortAscending);
    Les utilisateurs déterminent ces valeurs en interagissant avec le formulaire, par exemple, en cliquant pour afficher la page suivante.
    • start
      Spécifie la première ligne à renvoyer. Ce paramètre est un nombre entier.
    • numToReturn
      Indique le nombre de lignes à renvoyer. Ce paramètre est un nombre entier.
    • sortField
      Spécifie les lignes à trier. Si la valeur est nulle, aucun trie ne se produira. Ce paramètre constitue une chaîne.
    • sortAscending
      Spécifie si les résultats doivent être triés en ordre croissant ou décroissant. Ce paramètre est une valeur booléenne.
    Cette méthode renvoie des objets FDTableRow, décrits ultérieurement.
  4. De même, dans FDTableDataProvider, implémentez la méthode suivante :
    int totalCount();
    Cette méthode renvoie le nombre total de lignes existantes.
  5. Utilisez l'objet FDTableRow et ses méthodes pour renvoyer des données de ligne de la table. Vous pouvez utiliser les méthodes suivantes :
    • public void setColumnValue(String columnId, String data)
      Spécifie les éléments suivants pour définir la valeur d'une colonne :
      • String columnId : spécifie l'attribut _id d'un composant d'une table.
      • String data : spécifie une valeur que vous pouvez analyser et insérer dans le champ de la table.
    • public String getColumnValue(String columnId)
      Spécifie la fonction GET correspondante à la fonction SET précédente (public void setColumnValue).
    • public Set getColumns()
      Renvoie l'ensemble d'ID de colonne stockés dans cet objet.
Pour plus d'informations et d'exemples, consultez la documentation du module d'extension de l'API.