In diesem Kapitel erfahren Sie, wie Sie Ihre Arbeitsumgebung für die Nutzung des GitHub-Repositorys der Standard-HTML-Anwendungen einrichten, sodass Sie anschließend eigene Webanwendungen entwickeln können.
Voraussetzungen:
Um Ihre Arbeitsumgebung einzurichten
-
Beantragen Sie Zugriff auf das GitHub-Repository.
-
Erstellen Sie einen Fork des entsprechenden Branches des GitHub-Repositorys (siehe https://docs.github.com/en/get-started/quickstart/fork-a-repo).
-
Installieren Sie npm (siehe https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
-
Führen Sie folgenden Befehl in einem Kommandozeilenprogramm aus:
npm install -g @angular/cli@<Versionsnummer>
Für den Zugriff auf die API wird der Typescript-API-Client verwendet.
Für jedes One Identity Manager-Modul, das API-Dienste bereitstellt, existiert eine Angular-Bibliothek imx-api-<Modulname>.tgz als NPM-Paket im Ordner imx-modules des Repositorys.
HINWEIS: Die API-Client-Bibliotheken sind nicht von Angular abhängig und können somit aus allen Javascript-Programmen verwendet werden.
Die TypeScript-API-Clients bestehen aus den folgenden Teilen:
-
Endpoint-basierte Methoden:
Die Klasse V2Client des API-Clients enthält für jeden API-Endpoint eine Methode. Der Name der Methode wird nach dem folgenden Schema generiert:
<URL-Pfad des API-Endpoints>_<HTTP-Methode>
Beispiel
Die Methode GET portal/serviceitems wird zur Typescript-Methode portal_serviceitems_get.
-
Entity-basierte Methoden:
Die Klasse TypedClient des API-Clients enthält für jede entity-basierte API-Methode eine Wrapper-Klasse, die es ermöglicht, Entities zu laden und zu speichern.
Beispiel für Methoden für interaktive Entities
Für die Methode portal/serviceitems/interactive gibt es die Eigenschaft TypedClient.PortalServiceItemsInteractive vom Typ der Wrapper-Klasse PortalServiceItemsInteractiveWrapper.
Je nach Umfang der unterstützten Operationen einer API-Methode gibt es die folgenden Methoden an der Wrapper-Klasse:
-
Die Methode createEntity wird zum Erstellen einer neuen Entity verwendet.
-
Die Methode Get_byid wird zum Laden einer interaktiven Entity vom API Server verwendet. Der API Server unterstützt pro Anfrage nur das Laden eines einzelnen Objekts aus der Datenbank als interaktive Entity. Dabei müssen die Primärschlüsselwerte des Objekts als Methodenparameter angegeben werden.
-
Die Methoden Put und Post werden zum Speichern von Entities mit der PUT-Operation verwendet. Diese Methoden dürfen nicht direkt aufgerufen werden, sondern werden über die Methode commit() des Interfaces IEntity angesteuert.
Kapselung als Service
Der Zugriff auf die API ist pro Angular-Bibliothek in einem eigenen Angular-Service gekapselt, der sich in eigene Klassen importieren lässt:
-
In der Angular-Bibliothek qbm heißt der Service imx_SessionService.
-
In der Angular-Bibliothek qer heißt der Service QerApiService.
-
In allen anderen Angular-Bibliotheken heißt der Service ApiService.
Um eigene HTML-Anwendungen zu erstellen und zu bearbeiten, können Sie Angular-Bibliotheken ändern und Plugins zum API Server hinzufügen.
Detaillierte Informationen zum Thema
Sobald One Identity Produktaktualisierungen für One Identity Manager veröffentlicht, können Sie die entsprechenden Änderungen in Ihre angepassten HTML-Anwendungen übernehmen.
HINWEIS: Ihre angepassten HTML-Anwendungen werden nicht automatisch aktualisiert. Sie sind dafür verantwortlich, die Kompilierung und Bereitstellung aktueller Versionen einer HTML-Anwendung durchzuführen.
Um Änderungen aus einer One Identity Manager-Aktualisierung in Ihre HTML-Anwendungen zu übernehmen
-
Übernehmen Sie die Änderungen am Quelltext aus dem GitHub-Repository der Standard-HTML-Anwendungen in Ihre HTML-Anwendung (siehe https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork).
-
Kompilieren Sie Ihre HTML-Anwendung (siehe Angular-Projekt kompilieren und bereitstellen) und beheben sie eventuell auftretende Kompilierfehler.
-
Prüfen Sie die One Identity Manager-Versionshinweise auf Änderungen der Standard-API oder Datenformate und prüfen Sie, ob Ihre HTML-Anwendungen noch ordnungsgemäß funktionieren.
-
Stellen Sie die neue Version Ihrer HTML-Anwendung bereit (siehe Angular-Projekt kompilieren und bereitstellen).