Aufgabe für Aktualisierung im Stapelbetrieb erweitern

Die Aufgabe für Aktualisierung im Stapelbetrieb unterstützt Sie bei der Migration von Daten und der Versetzung von Assets auf einen IBM® Rational Asset Manager-Server. Sie können die Dateisystemoption verwenden, um die Aufgabe für Aktualisierung im Stapelbetrieb zu erweitern, und die Aufgabe so erweitern, dass beliebige Quellendaten gelesen und Assets zugeordnet werden.

Informationen zu diesem Vorgang

Aufgabe für Aktualisierung im Stapelbetrieb erweitern

Sie können die Aufgabe für Aktualisierung im Stapelbetrieb so erweitern, dass sie beliebige Quellendaten liest und Assets in Rational Asset Manager zuordnet.

Die Aufgabe für Aktualisierung im Stapelbetrieb von Rational Asset Manager führt eine intelligente Zuordnung aus. Dabei findet sie Assets und führt Zusammenführungen aus, anstatt jedes Mal neue Assets zu erstellen.

Das Plug-in com.ibm.ram.rich.ui.extension enthält die Quelle für die Dateisystemerweiterung und ist als Teil des installierten Rational Asset Manager-Eclipse-Clients im Ordner /plugins enthalten. Sie können die JAR-Datei in der Eclipse-Clientinstallation unter /eclipse/plugins/com.ibm.ram.rich.ui.extension_7.5.1.v.jar finden. Wenn Sie die Datei extrahieren, dann befinden sich die Java™-Dateien im Verzeichnis /src.

Der Dateisystemerweiterungscode befindet sich in den folgenden beiden Verzeichnissen: src\com\ibm\ram\internal\batch\filesystem\ und src\com\ibm\ram\internal\batch\filesystem\ui\.

Erweiterung und Datenquelle vorbereiten

Gehen Sie für alle Datenquellen wie folgt vor, um die Erweiterung und die Daten vorzubereiten:
  1. Ermitteln Sie, welche Daten in Rational Asset Manager versetzt werden.
  2. Bereiten Sie die Daten für den Upload vor.
  3. Erstellen Sie ein Eclipse-Plug-in, das die Klassen der Aufgabe für Aktualisierung im Stapelbetrieb von Rational Asset Manager erweitert.
  4. Führen Sie einen Build für das Eclipse-Plug-in aus und implementieren Sie es.
Im Abschnitt 'Beispiel' ist Microsoft® Excel die Datenquelle. Sie führen die Schritte 1 und 2 aus, indem Sie mit dem Excel-Arbeitsblatt arbeiten.

Zur Erweiterung der Aufgabe für Aktualisierung im Stapelbetrieb mithilfe der Dateisystemoption müssen Sie ein neues Plug-in-Projekt erstellen und die Erweiterungen für die Erweiterungspunkte implementieren.

Die Aufgabe für Aktualisierung im Stapelbetrieb stellt zwei Erweiterungspunkte bereit, die Sie implementieren können: batchDataSource und batchDataSourceUI.

Sie können eine Aufgabe für Aktualisierung im Stapelbetrieb über zwei Erweiterungspunkte implementieren:
  • batchDataSource: Das Plug-in com.ibm.ram.rich.core stellt den Erweiterungspunkt batchDataSource bereit. Dieser Erweiterungspunkt unterstützt Sie bei der Definition einer Datenquellenerweiterung für den Rational Asset Manager-Stapelclient. Bei einer Aktualisierung im Stapelbetrieb extrahiert der Erweiterungspunkt 'batchDataSource' Daten aus Ihrem Repository und migriert die Daten auf einen Rational Asset Manager-Server.
  • batchDataSourceUI: Das Plug-in com.ibm.ram.rich.ui.extension stellt den Erweiterungspunkt 'batchDataSourceUI' bereit. Dieser Erweiterungspunkt unterstützt Sie beim Hinzufügen von Benutzerschnittstellenelementen zum Rational Asset Manager-Editor für die Aktualisierung im Stapelbetrieb.

Vereinfachte Dateisystemerweiterung

Im Folgenden ist eine vereinfachte Version der Dateisystemerweiterung aufgeführt, die Sie als implementierbares Plug-in exportieren können. Diese Dateisystemerweiterung erstellt Assets aus Ordnern und ZIP-Dateien in einem angegebenen Stammordner. Im Beispiel wird ein Stammordner verwendet. Alle Unterordner und ZIP-Dateien werden Assets. Der Name der Unterordner oder Archivdateien ergibt den Namen des Assets. Der Inhalt des Unterordners oder der Datei ergibt die Artefakte. Eine Ausnahme stellt hierbei lediglich die erforderliche Datei .asset_info dar.

Die Stapel-API-Klassen von Rational Asset Manager werden durch zwei Java-Klassen erweitert.
  • FileSystemBatchDataSource.java - erweitert BatchDataSource.
  • FileSystemBatchUIContributor.java - erweitert AbstractBatchUIContributor.

Die Klasse FileSystemBatchDataSource erstellt die Assets und gibt sie auf der Basis des Stammverzeichnispfads zurück. In dieser Datei geben Sie die Datenquelle für die Stapelclienterweiterung an, die zum Erstellen von Assets anhand von Ordnern und ZIP-Dateien in einem angegebenen Stammordner verwendet wird. Diese Ordner und ZIP-Dateien müssen eine Datei mit dem Namen .asset_info enthalten.

Der Inhalt der Datei .asset_info muss das Format einer Eigenschaftendatei (.properties) haben. Diese Dateien enthalten normalerweise ein Schlüssel/Wert-Paar (key=value) pro Zeile und bestimmte Eigenschaften für das Asset, die in der Datei FileSystemBatchDataSource.java aufgelistet werden:
  • name (Optional. Falls nicht angegeben, wird der Name der Datei oder des Ordners verwendet.)
  • version (Optional. Falls nicht angegeben, wird 1.0 verwendet.)
  • community (Erforderlich)
  • asset_type (Erforderlich)
  • short_description (Optional. Falls nicht angegeben, wird der Name der Datei oder des Ordners verwendet.)
  • description (Optional)

Die Klasse FileSystemBatchUIContributor erstellt eine neue Datenquelle, indem ein Verzeichnisauswahldialog geöffnet wird, in dem der Benutzer das Stammverzeichnis auswählen und dann die Auswahl zum Erstellen von Assets verwenden kann. Die Java-Datei FileSystemBatchDataSource enthält die erforderliche Struktur des Stammverzeichnisses.

Die Erweiterungspunkte, die von dem einfachen Dateisystembeispiel verwendet werden, um sich beim Stapelclient anzubinden, werden in der Datei plugin.xml definiert:
<?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>

Die Codebeispiele für diese Erweiterungen finden Sie unter Dateisystemerweiterungen zum Hochladen im Stapelbetrieb verwenden.

Sie können die Java-APIs von Rational Asset Manager auch verwenden, um eine Hochladeoperation im Stapelbetrieb auszuführen und um mehrere Assets hochzuladen. Weitere Informationen hierzu finden Sie unter Hochladen im Stapelbetrieb durchführen.

Beispiel

Dieses Beispiel beschreibt die Erstellung von Erweiterungen für Microsoft Excel-Dateien. In diesem Beispiel ist eine Microsoft Excel-Datei die Datenquelle und die Erweiterungen für die Aufgabe für Aktualisierung im Stapelbetrieb werden als Eclipse-Plug-in erstellt. Die Aufgabe für Aktualisierung im Stapelbetrieb liest die formatierten Excel-Dateien und ordnet die Excel-Zeilen Assets in Rational Asset Manager zu. Benutzer können die Daten ändern, bevor sie sie an Rational Asset Manager übergeben. Siehe auch Beispiel für die Aktualisierung im Stapelbetrieb.

Datenquelle vorbereiten

Vor dem Upload des Excel-Arbeitsblatts müssen Sie das Arbeitsblatt formatieren. In diesem Beispiel ist das Arbeitsblatt wie folgt formatiert:
Tabelle 1.
  A B C D E F
1 AssetType: Compiler Community: Technical Infrastructure        
2 Asset:GUID Asset:Version Asset:Name Asset Attribute: Author Category Schema: Licenses Ignore: IDE
  • Die ersten beiden Zeilen im Arbeitsblatt beschreiben das Informationsmodell, das Rational Asset Manager zugeordnet werden soll.
    • Die erste Zeile definiert den Assettyp und die Community. Verwenden Sie das Zellenformat in diesem Beispiel; z. B. "Asset Type: Compiler".
    • Die zweite Zeile enthält die Zuordnung auf der Assetebene, z. B.:
      • Asset: GUID
      • Asset: Version
      • Asset: Name
      • Asset Attribute: <Attributname>
      • Category Schema: <Name des Kategorieschemas> Zeilen enthalten Werte in dem Schema im Format “a/b/c”.
      • Ignore: <Name> Diese Spalte wird beim Upload ignoriert.
      Enthalten die Zeilen für die Assets keine Werte, wird ein Asset in Rational Asset Manager erstellt; andernfalls wird eine Zusammenführung ausgeführt.
  • Die Zeilen, die auf die Zeilen 1 und 2 folgen, werden als Assets zugeordnet.

Die Spaltenüberschriften verwenden eine spezielle Formatierung, die der Parser in diesem Asset nutzt. Die Zeilen 1 und 2 sind reserviert. Zeile 1 enthält die Deklaration für den Assettyp und die Community. Zeile 2 enthält eine Beschreibung der Assetspalten wie GUID, Version, Name und Assetattribute. Die erwarteten Formate können Sie dem Beispielarbeitsblatt entnehmen.

Eclipse-Plug-in erstellen

Der Code ist strukturiert wie ein normales Eclipse-Plug-in; Sie definieren die Erweiterungspunkte.

Beachten Sie die folgenden Richtlinien, wenn Sie ein Eclipse-Plug-in zur Erweiterung der Aufgabe für Aktualisierung im Stapelbetrieb von Rational Asset Manager erstellen:
  • Verwenden Sie den Assistenten für Eclipse-Plug-ins, um die Aktivatorklasse zu erstellen.
  • Schreiben Sie mindestens zwei Klassen, in diesem Fall: ExcelBatchDataSource und ExcelBatchUIContributor. Stellen Sie Ihre Parsing-Logik in die Datenquellenklasse.
  • Wenn Sie die Aufgabe für Aktualisierung im Stapelbetrieb in Eclipse ausführen, wählen Sie eine Datenquelle und anschließend eine Verbindung zu Rational Asset Manager aus.
  • Wenn Sie die Verbindung zu Rational Asset Manager im Client auswählen, wird die Methode fetchAssets in der Datenquellenklasse aufgerufen. Verwenden Sie die Methode ExcelBatchDataSource.fetchAssets(); hier wird der größte Teil des Codes geparst. Hinweis: Sie benötigen kein Rational Asset Manager-Sitzungsobjekt in Ihrem Code.
  • Rufen Sie zum Erhalten eines Arbeitsblatts createSpreadsheetAssets auf und öffnen Sie das Excel-Arbeitsmappenobjekt.
  • Zum Verarbeiten der GUID erstellen Sie eine neue GUID. Wenn Sie jedoch eine Spalte 'Asset: GUID' finden, setzen Sie das Asset auf diese GUID, damit die Aufgabe für Aktualisierung im Stapelbetrieb eine Aktualisierung ausführt, anstatt ein Asset zu erstellen.
  • Wählen Sie in jeder Zeile die Spalten aus, die hochgeladen werden sollen, und ordnen Sie sie dem Asset zu.
Gehen Sie wie folgt vor, um ein neues Plug-in-Projekt zu erstellen:
  1. Klicken Sie im Eclipse-Menü auf Datei > Neu > Projekt.
  2. Erweitern Sie Plug-in-Entwicklung > Plug-in-Projekt.
  3. Geben Sie einen Namen für das Projekt ein.
  4. Klicken Sie auf Weiter.
  5. Klicken Sie auf Fertig stellen. Die Datei MANIFEST.MF wird geöffnet.
  6. Öffnen Sie die Registerkarte Editor für Abhängigkeiten.
  7. Klicken Sie im Abschnitt für erforderliche Plug-ins auf Hinzufügen.
  8. Wählen Sie das Plug-in com.ibm.ram.rich.ui.extension aus und klicken Sie auf OK.
  9. Klicken Sie auf Fertig stellen.
  10. Klicken Sie im Abschnitt für erforderliche Plug-ins auf Hinzufügen.
  11. Wählen Sie den Erweiterungspunkt com.ibm.ram.rich.ui.extension.batchDataSourceUI aus.
  12. Klicken Sie auf Fertig stellen.
  13. Speichern Sie die Datei MANIFEST.

Die Aufgabe für Aktualisierung im Stapelbetrieb führt die Assetübergaben an Rational Asset Manager aus.

Aufgabe für Aktualisierung im Stapelbetrieb verwenden

Im Beispiel wird das Eclipse-Plug-in auf Ihrer Maschine implementiert.

Führen Sie folgende Schritte aus, wenn Sie die Excel-Erweiterung der Aktualisierung im Stapelbetrieb von Rational Asset Manager ausführen wollen, um eine Excel-Datei für die Erstellung und Übergabe neuer Assets über eine Stapeloperation für den Upload zu verwenden:
  1. Klicken Sie auf Datei > Neu > Aufgabe für Aktualisierung im Stapelbetrieb.
  2. Wählen Sie die Excel-Datenquelle und die Excel-Datei aus. Der Rational Asset Manager-Editor für die Aktualisierung im Stapelbetrieb wird angezeigt.
  3. Klicken Sie auf das Symbol für die Datenquelle, die Rational Asset Manager zugeordnet werden soll. Dieses Symbol enthält das Excel-Symbol. Ein Datei-Explorer, der für die Navigation zu einer vorbereiteten Excel-Datei verwendet wurde, wird angezeigt.
  4. Wählen Sie die Rational Asset Manager-Repository-Verbindung aus, die in Ihrem Eclipse-Arbeitsbereich definiert ist.
  5. Wählen Sie das Rational Asset Manager-Zielrepository aus, in das die Assets hochgeladen werden. In diesem Beispiel werden die Assets in eine Rational Asset Manager-Instanz auf der lokalen Maschine hochgeladen.
  6. Fügen Sie Konfigurationselemente wie Communitys hinzu und ordnen Sie die Kategorisierungen zu, um die Zuordnung zu Rational Asset Manager abzuschließen.

    Nachdem Sie das Rational Asset Manager-Zielrepository ausgewählt haben, liest der Stapeleditor die Excel-Datei und ordnet sie der Rational Asset Manager-Zielinstanz zu. Zu diesem Zeitpunkt werden keine Assets hochgeladen. Der Rational Asset Manager-Stapeleditor stellt eine Zusammenfassung der ursprünglichen Zuordnung zur Verfügung. In diesem Beispiel waren die Assets in der Excel-Datei für eine bestimmte Rational Asset Manager-Community vorgesehen, die der Stapeleditor in Rational Asset Manager nicht gefunden hat. Benutzer mit entsprechenden Zugriffsrechten können die Community sofort erstellen, wie in diesem Beispiel gezeigt.

    Die Zuordnungsaktivität setzt die Untersuchung der Assettypen, der Assetversionsinformationen, der Beziehungstypen etc. fort. In jedem Fall können Benutzer eine Zuordnung zu vorhandenen Konfigurationsinformationen in Rational Asset Manager ausführen oder, falls sie über die entsprechenden Zugriffsrechte verfügen, diese Informationen hinzufügen.

  7. Wenn die Zuordnung vollständig ist, klicken Sie auf die Schaltfläche Alle Assets aktualisieren. Die Assets werden in Rational Asset Manager hochgeladen. Im Stapeleditor werden die Ergebnisse des Uploads angezeigt.

Klassenstrukturen und Objekte

Die Rational Asset Manager-API verfügt über zwei bedeutende Klassenstrukturen für Assets:
  • Klassen mit Namen, die mit “RAM” beginnen (z. B. die Klasse 'RAMAsset').
  • Klassen mit Namen, die nicht mit “RAM” beginnen (z. B. die Klasse 'Asset').
Die Objekte von RAM-Klassen werden von einem Rational Asset Manager-Server abgerufen, der ein Rational Asset Manager-Sitzungsobjekt erfordert; Sitzungsobjekte werden in diesem Beispiel nicht verwendet. Objekte aus Klassen wie 'Asset' werden ohne eine bekannte Rational Asset Manager-Sitzung erstellt; sie werden dann der Aufgabe für Aktualisierung im Stapelbetrieb bereitgestellt und anschließend an Rational Asset Manager übergeben oder in Rational Asset Manager aktualisiert.

Feedback