Verwenden von API-Plug-ins zum Laden von Daten in Richtlinien und Formulare

Dieser Artikel enthält die folgenden Themen:
casm173
Dieser Artikel enthält die folgenden Themen:
Administratoren und Service-Designer arbeiten zusammen, um API-Plug-ins zu schreiben, die wie folgt dynamisch Daten in Richtlinien und Formulare laden:
  • Bei einer Richtlinie geben diese Daten die Zuständigen (Genehmiger) für eine Anforderung an. Sie verwenden ein Plug-in, anstatt die Zuständigen mithilfe des Aktionsgenerators manuell festzulegen. Wenn ein Anwender eine Anforderung übermittelt, legt das API-Plug-in die Zuständigen dynamisch fest.
  • Bei einem Formular geben diese Daten den Wert für die folgenden Felder an: dynamische Tabellen, duale Listen oder Auswahlfelder und deren Optionen. Wenn ein Anwender beispielsweise ein Formular fertigstellt, um einen virtuellen Computer zu reservieren, füllt das Berichtsdatenobjekt die Liste der verfügbaren Computern auf. Außerdem können Sie andere Berichtsdatenobjekte schreiben, um zugehörige Felder auszufüllen, z. B. Optionen für RAM und Festplattenspeicher.
API-Plug-ins fragen die MDB oder eine andere Datenquelle ab. Das API-Plug-in gibt die Anzahl der Objekte zurück, die den von Ihnen angegebenen Kriterien entsprechen. Sie können entweder Ihre eigenen API-Plug-ins schreiben oder Sie können vordefinierte Plug-ins kopieren und so ändern, dass sie Ihren Anforderungen entsprechen. In beiden Fällen müssen Sie die Voraussetzungen einhalten und Ihre Plug-ins kompilieren,
bevor
Sie sie verwenden können.
API-Plug-ins werden als jar-Dateien im Plug-in-Verzeichnis der Dateiablage bereitgestellt. API-Plug-ins werden in der gleichen Java Virtual Machine-Instanz wie CA Service Catalog ausgeführt.
Führen Sie die anzuwendenden Aufgaben aus:
Verwenden von API-Plug-ins in Richtlinien
Um ein API-Plug-in für Richtlinien zu schreiben und zu verwenden, gehen Sie folgendermaßen vor:
  1. Definieren Sie den Zweck oder das Ziel des Plug-ins.
    Ein API-Plug-in ist hilfreich, wenn Sie Daten von einem externen System abrufen, die zum Angeben der Zuständigen verwendet werden. Ein API-Plug-in ist auch nützlich, wenn die Identitäten gemäß den Daten in der Anforderung variieren. Basierend auf diesen Daten erstellt das Plug-in dynamisch die Liste der Zuständigen und gibt die Zuständigenebenen an.
  2. Erfüllen Sie die Voraussetzungen:
  3. In folgenden Bereichen müssen Sie über umfassende Kenntnisse verfügen:
    • Programmieren Sie in Java.
    • Erstellen Sie Richtlinien, einschließlich Bedingungen, und machen Sie sich mit den erforderlichen Typen von Zuständigen vertraut.
  4. Sie können die API-Plug-in-Dokumentation folgendermaßen lesen:
    1. Wählen Sie "Administration", "Tools" und "Plug-ins".
    2. Klicken Sie auf "API-Dokumentation".
    3. Überprüfen Sie das Paket "com.ca.usm.plugins.apis.policies".
    Bei der API-Dokumentation handelt es sich um eine automatisch generierte Java-Dokumentation basierend auf den Java-Klassen-Methoden für die Plug-ins. Verwenden Sie die Schnittstellen, Klassen, Methoden usw., um Ihr Plug-in zu implementieren.
  5. Laden Sie das Beispiel-API-Plug-in für Richtlinien herunter, und überprüfen Sie es folgendermaßen:
    1. Wählen Sie "Administration", "Tools" und "Plug-ins".
    2. Klicken Sie auf das Beispiel-Plug-in für Richtlinien, sehen Sie sich die Details an, und laden Sie den Quellcode herunter.
    3. Öffnen und überprüfen Sie die Datei "SamplePolicyPlugin.java" im Ordner "\src\java\com\ca\usm\plugins\samples\policy". Verwenden Sie dieses beispielhafte Richtlinien-Plug-in als Modell.
  6. Erstellen Sie eine Java-Klasse, die die Schnittstelle "com.ca.usm.plugins.apis.policies.AssignmentPolicyPlugin" implementiert Das Beispiel-Plug-in für Richtlinien veranschaulicht, wie diese Schnittstelle implementiert wird.
  7. (Optional) Wenn Sie Inhaltskonfigurationsformulare verwenden, rufen Sie Werte von den Feldern auf diesen Formularen ab. Verwenden Sie die Formulare nach Bedarf.
  8. Erstellen Sie eine Eigenschaftsdatei für das Plug-in. Sie können die Datei "plugin.properties" im Beispiel-Plug-in für Richtlinien als Modell für Ihre Eigenschaftsdateien verwenden.
  9. Erstellen Sie einen Ordner zum Speichern der Eigenschaftsdatei und JAR-Dateien, die die Klassen und die unterstützenden Bibliotheken angeben.
    Speichern Sie die Eigenschaftsdatei in der
    obersten
    Ebene des Ordners. Speichern Sie die Eigenschaftsdatei
    nicht
    in einem Unterordner.
  10. Aktivieren Sie das Plug-in:
    1. Halten Sie den CA Service Catalog-Windows-Dienst an.
    2. Kopieren Sie Ihren Ordner (einschließlich aller Unterordner, wenn vorhanden) in den Ordner "USM_HOME\filestore\plugins".
  11. Starten Sie den CA Service Catalog-Windows-Dienst.
  12. Stellen Sie sicher, dass das Plug-in erfolgreich übernommen wurde:
    1. Wählen Sie "Administration", "Tools" und "Plug-ins".
    2. Stellen Sie sicher, dass das Plug-in aufgelistet wird und die Details richtig angezeigt werden.
  13. Testen Sie dieses Plug-in:
    1. Verwenden Sie es, um Zuständige für eine Richtlinie anzugeben.
    2. Übermitteln Sie eine Anforderung, die die Richtlinie aktiviert, und verifizieren Sie, ob die Richtlinie wie geplant Genehmiger dynamisch zuweist.
Verwenden von API-Plug-ins in Formularen
Um ein API-Plug-in zur Verwendung in Formularen zu schreiben, gehen Sie folgendermaßen vor:
  1. Definieren Sie den Zweck des Plug-ins. Zum Beispiel soll ein Auswahlfeld mit Sitzungsräumen aufgefüllt werden, die ein Anwender für einen angegebenen Zeitraum reservieren kann. Andere Beispiele umfassen Optionen für den Sitzungsraum, wie z. B. Projektoren, Videokonferenzgeräte und Mikrofone.
  2. Achten Sie darauf, dass die Voraussetzungen erfüllt sind. In folgenden Bereichen müssen Sie über umfassende Kenntnisse verfügen:
    • Programmieren Sie in Java.
    • Erstellen Sie Formulare mithilfe des Formulardesigners.
    • Erstellen Sie in Formulardesigner-Formularen folgende Felder:
      • Einzelauswahlfelder, Mehrfachauswahlfelder und duale Listenfelder
      • Dynamische Tabellenfelder
  3. Sie können die API-Plug-in-Dokumentation folgendermaßen lesen:
    1. Melden Sie sich bei CA Service Catalog an und wählen Sie "Verwaltung" und anschließend "Tools" aus.
    2. Wählen Sie "Links" aus.
    3. Klicken Sie auf die Plug-in-Dokumentation.
    Bei der API-Dokumentation handelt es sich um eine automatisch generierte Java-Dokumentation basierend auf den Java-Klassen-Methoden für die Plug-ins. Verwenden Sie die Schnittstellen, Klassen, Methoden usw., um Ihr Plug-in zu implementieren.
  4. Erstellen Sie eine Java-Klasse für den Typ des Formulardesigner-Feldes, das für das Plug-in folgendermaßen gilt:
    • Für Einzelauswahlfelder, Mehrfachauswahlfelder und duale Listenfelder: Erstellen Sie eine Java-Klasse, die die Schnittstelle "com.ca.usm.plugins.apis.forms.FDSelectDataProvider" implementiert. Eine Beispielimplementierung dieser Schnittstelle wird im Beispiel-Auswahl-Plug-in mit der ID "ca.catalog.samples.select-plugin" angegeben.
    • Für dynamische Tabellenfelder: Erstellen Sie eine Java-Klasse, die die Schnittstelle "com.ca.usm.plugins.apis.forms.FDTableDataProvider" implementiert. Eine Beispielimplementierung dieser Schnittstelle wird im Beispiel-Tabellen-Plug-in mit der ID "ca.catalog.samples.table-plugin" angegeben.
    Um auf die Java-Dokumentation für die Schnittstellen zuzugreifen, klicken Sie auf "Administration", "Tools", "Plug-ins", und klicken auf "API-Dokumentation".
    Um Beispielquellcode herunterzuladen, klicken Sie auf die Beispiel-Plug-ins auf der gleichen Seite und dann auf "Quellcode herunterladen".
  5. Erstellen Sie eine Eigenschaftsdatei für das Plug-in, wie folgt:
    • Sie können die Beispiel-Plug-ins als Modelle für Ihre Eigenschaftsdateien verwenden. Ändern Sie in diesem Fall die Plug-in-ID-Eigenschaft in der Datei "plugin.properties".
    • Um die integrierte Build-Datei zur Kompilierung des Plug-ins zu verwenden, nutzen Sie das Java Development Kit 1.6 (oder höher) und Apache Ant 1.8 (oder höher).
    • Verwenden Sie einen privaten Classloader für Ihre Plug-ins. Um einen privaten Classloader zu verwenden, fügen Sie die folgende Zeile zur plugin.properties-Datei hinzu:
      classloader.type=private
      Benutzerdefinierte Plug-ins, die mithilfe der CA Service Catalog-Version 12.7 erstellt wurden, erfordern
      keine
      Aktualisierungen nach dem CA Service Catalog-Upgrade. Diese Plug-ins funktionieren weiterhin wie ursprünglich.
  6. (Optional) Wenn Sie Inhaltskonfigurationsformulare verwenden, rufen Sie Werte von den Feldern auf diesen Formularen ab. Verwenden Sie die Formulare nach Bedarf.
  7. Führen Sie die zutreffenden Aktionen aus:
    • Konfigurieren Sie die Parameter für den Seitenumbruch in Auswahlfeldern.
    • Konfigurieren Sie nur Attribute für Auswahlfelder.
    • Konfigurieren Sie Parameter für das Sortieren und für den Seitenumbruch für dynamische Tabellen.
  8. Erstellen Sie einen Ordner zum Speichern der Eigenschaftsdatei und JAR-Dateien, die die Klassen und die unterstützenden Bibliotheken angeben.
    Speichern Sie die Eigenschaftsdatei in der
    obersten
    Ebene des Ordners. Speichern Sie die Eigenschaftsdatei
    nicht
    in einem Unterordner.
  9. Aktivieren Sie das Plug-in:
    1. Kopieren Sie Ihren Ordner (einschließlich aller Unterordner, wenn vorhanden) in den Plug-in-Ordner der Dateiablage.
    2. Wählen Sie "Administration", "Tools", "Plug-ins" aus, und klicken auf die Methode "Plug-ins erneut laden".
  10. Stellen Sie sicher, dass das Plug-in erfolgreich übernommen wurde:
    1. Melden Sie sich bei CA Service Catalog an und wählen Sie "Verwaltung" und anschließend "Tools" aus.
    2. Wählen Sie "Plug-ins".
    3. Stellen Sie sicher, dass das Plug-in aufgelistet wird und die Details richtig angezeigt werden.
Sie können jetzt die Verwendung dieser API in einem Formularfeld testen.
Konfigurieren der Parameter für den Seitenumbruch in Auswahlfeldern
Ihr Plug-in kann eine große Datenmenge in einem Auswahlfeld im Formular zurückgeben. In diesem Fall geben Sie oft die Seitengröße der Ergebnisse im Auswahlfeld an. Zum Beispiel werden zehn Ergebnisse pro Seite im Auswahlfeld angezeigt. Um diesen Task auszuführen, konfigurieren Sie die Parameter für den Seitenumbruch in der zugehörigen Java-Klasse und im Objekt.
Gehen Sie folgendermaßen vor:
  1. Bearbeiten Sie die Java-Klasse, die die Schnittstelle "com.ca.usm.plugins.apis.forms.FDSelectDataProvider" implementiert. Implementieren Sie folgende Methode in "FDSelectDataProvider":
    List<FDOption> getOptions(int start, int numToReturn);
    • start
      Gibt die erste Zeile an, die zurückgegeben werden soll. Dieser Parameter ist eine Ganzzahl.
    • numToReturn
      Legt die Anzahl an zurückzugebenden Zeilen fest. Dieser Parameter ist eine Ganzzahl.
    Diese Methode gibt eine Liste mit "FDOption"-Objekten zurück:
      • Das Schlüsselwertepaar (ID und Wert) in einem Berichtsdatenobjekt für die Optionen des Auswahlfeldes.
      • Daten, die das Schlüsselwertepaar ergänzen. Sie können optional diese zusätzlichen Daten in anderen Feldern (außer dem Auswahlfeld) auf dem Formular anzeigen.
    Der Wert des _id-Attributs zu jedem Feld muss mit einem Schlüsselwert in den zusätzlichen Daten übereinstimmen.
  2. Implementieren Sie folgende Methode auch in "FDSelectDataProvider":
    int totalCount();
    Diese Methode gibt die Gesamtanzahl der vorhandenen Zeilen zurück.
Weitere Informationen und Beispiele finden Sie in der API-Plug-in-Dokumentation.
Konfiguriern von Attributen nur für Auswahlfelder
Einige HTML-Attribute gelten nur für Auswahlfelder. Weitere Informationen finden Sie im Abschnitt Attribute nur für Auswahlfelder.
Konfigurieren der Parameter für das Sortieren und für den Seitenumbruch für dynamische Tabellen
Ihr Plug-in kann eine große Datenmenge in Form einer dynamischen Tabelle auf dem Formular zurückgeben. In diesem Fall geben Sie die Seitengröße der Ergebnisse an. Zum Beispiel werden zehn Ergebnisse pro Seite im Formular angezeigt. Ebenso möchten Sie es Anwendern ermöglichen, die Ergebnisse auf jeder Seite in aufsteigender oder in absteigender Reihenfolge zu sortieren. Um beide Tasks auszuführen, konfigurieren Sie die Parameter für das Sortieren und für den Seitenumbruch in der zugehörigen Java-Klasse und im Objekt.
Gehen Sie folgendermaßen vor:
  1. Klicken Sie auf "Katalog" und dann auf "Formulare" und öffnen Sie das interssierende Formular.
  2. Öffnen Sie die Tabelle und stellen Sie sicher, dass das Attribut "Sortierbar" auf "Wahr" eingestellt ist.
    Wenn dieses Attribut aktiviert ist (Wahr), können Anwender in den Überschriften der Tabellenspalten auf die Pfeile klicken, um die Ergebnisse zu sortieren.
  3. Bearbeiten Sie die Java-Klasse, die die Schnittstelle "com.ca.usm.plugins.apis.forms.FDTableDataProvider" implementiert. Implementieren Sie folgende Methode in "FDTableDataProvider":
    List<FDTableRow> getTableRows(int start, int numToReturn, String sortField, boolean sortAscending);
    Anwender bestimmen diese Werte, indem sie mit dem Formular interagieren, zum Beispiel indem sie durch Klicken die nächste Seite anzeigen.
    • start
      Gibt die erste Zeile an, die zurückgegeben werden soll. Dieser Parameter ist eine Ganzzahl.
    • numToReturn
      Legt die Anzahl an zurückzugebenden Zeilen fest. Dieser Parameter ist eine Ganzzahl.
    • sortField
      Gibt die zu sortierenden Zeilen an. Wenn der Wert ungültig ist, findet keine Sortierung statt. Dieser Parameter ist eine Zeichenfolge.
    • sortAscending
      Gibt an, ob die Ergebnisse in aufsteigender oder in absteigender Reihenfolge sortiert werden sollen. Dieser Parameter ist ein Boolescher Wert.
    Diese Methode gibt "FDTableRow"-Objekte zurück, die in einem späteren Schritt beschrieben werden.
  4. Implementieren Sie folgende Methode auch in "FDTableDataProvider":
    int totalCount();
    Diese Methode gibt die Gesamtanzahl der vorhandenen Zeilen zurück.
  5. Verwenden Sie das "FDTableRow"-Objekt und die Methoden, um Daten der Tabellenzeile zurückzugeben. Sie können folgende Methoden verwenden:
    • public void setColumnValue(String columnId, String data)
      Gibt Folgendes an, um den Wert für eine Spalte festzulegen:
      • String columnId: Gibt das Attribut "_id" einer Komponente der Tabelle an.
      • String data: Gibt einen Wert an, den Sie analysieren und in das Feld der Tabelle einfügen können.
    • public String getColumnValue(String columnId)
      Gibt an, dass die GET-Funktion mit der vorherigen SET-Funktion übereinstimmt (public void setColumnValue).
    • public Set getColumns()
      Gibt die Reihe der Spalten-IDs zurück, die in diesem Objekt gespeichert sind.
Weitere Informationen und Beispiele finden Sie in der API-Plug-in-Dokumentation.