Sun Java™ System Identity Manager 7.1 Update 1 Versionshinweise

Erweiterungen und Korrekturen der Dokumentation

Dieser Abschnitt enthält neue Informationen und Korrekturen, die nach der Herausgabe der Identity Manager 7.1-Dokumentation bekannt wurden. Die Informationen sind wie folgt unterteilt:


Identity Manager Installation

Dieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen in Bezug auf Sun Java System Identity Manager Installation.


Identity Manager Upgrade

Dieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für Sun Java System Identity Manager Upgrade.

Weitere benutzerdefinierte Repository-Objekte

Notieren Sie die Namen aller weiteren benutzerdefinierten Repository-Objekte, die Sie erstellt oder aktualisiert haben. Sie können diese Objekte aus der aktuellen Installation exportieren und nach der Aufrüstung in der neuen Identity Manager-Version importieren.

Mit der SnapShot-Funktion von Identity Manager können Sie einen Snapshot (eine Momentaufnahme) der benutzerdefinierten Repository-Objekte in Ihrer Bereitstellungsumgebung erstellen. Dies kann beim Planen einer Aufrüstung sehr nützlich sein.

SnapShot kopiert zum Vergleich die folgenden Objekttypen des jeweiligen Systems:

Danach können Sie durch einen Vergleich von zwei Snapshots vor und nach einer Aufrüstung ermitteln, welche Änderungen an bestimmten Systemobjekten vorgenommen wurden.


Hinweis

Diese Funktion gibt keinen detaillierten Aufschluss über fortlaufende XML-Unterschiede, sondern liefert einen Kurzbericht für einen ersten Vergleich.


So erstellen Sie einen Snapshot:

  1. Klicken Sie auf der Debug-Seite in Identity Manager ( ) auf die Schaltfläche „SnapShot“, um die SnapShot-Verwaltungsseite aufzurufen.
  2. Abbildung 1 SnapShot-Verwaltungsseite
    Beispiel für SnapShot-Verwaltungsseite

  3. Geben Sie in das Textfeld „Erstellen“ einen Namen für den Snapshot ein und klicken Sie auf die Schaltfläche „Erstellen“.
  4. Identity Manager fügt den Snapshot hinzu. Der Name wird in der Menüliste „Vergleich“ und rechts neben „Exportieren“ angezeigt.

So vergleichen Sie zwei Snapshots:

  1. Wählen Sie in jedem Menü „Vergleich“ einen Snapshot aus ( ).
  2. Abbildung 2 SnapShot-Verwaltungsseite
    Wählen Sie in jedem Menü „Vergleich“ einen Snapshot aus.

  3. Klicken Sie auf die Schaltfläche „Vergleich“.
    • Liegen keine Objektänderungen vor, zeigt die Seite an, dass keine Unterschiede gefunden wurden.
    • Wurden Objektänderungen erkannt, zeigt die Seite den Objekttyp und -namen an und ob ein Objekt anders, vorhanden oder nicht vorhanden ist.
    • Wenn ein Objekt z. B. in Momentaufnahme_1, nicht aber in Momentaufnahme_2 enthalten ist, wird in der Spalte „Momentaufnahme_1“ Present und in der Spalte „Momentaufnahme_2“ Absent angezeigt.

Ein Snapshot kann im XML-Format exportiert werden. Klicken Sie auf den Namen des Snapshots, um ihn in eine Datei zu exportieren.

Um einen Snapshot zu löschen, wählen Sie ihn im Menü „Löschen“ aus und klicken auf die Schaltfläche „Löschen“.


Identity Manager Administration Guide

Dieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für Sun Java System Identity Manager Administration.

Kapitel 2, „Getting Started with Identity Manager“

Kapitel 3, „User and Account Management“

Kapitel 5, „Administration“

           Delegierungen an gelöschte Benutzer

Kapitel 8, Task Templates

Kapitel 11, „Identity Auditing“

Dieses Kapitel wurde um die folgenden neuen Informationen ergänzt:

Kontinuierliche Konformität

In diesem Abschnitt wird erklärt, dass durch an einem Benutzer ausgeführte Bereitstellungsoperationen die Benutzern und Organisationen zugewiesenen Richtlinien evaluiert werden. Diese Informationen müssen wie folgt lauten: (ID-17416)

Kontinuierliche Überwachung bedeutet, dass auf alle Bereitstellungsoperationen eine Überwachungsrichtlinie angewendet wird, sodass Konten nicht auf eine der eingestellten Richtlinien zuwider laufenden Art modifiziert werden können.

Die kontinuierliche Konformität wird durch Zuweisen einer Überwachungsrichtlinie zu einer Organisation, einem Benutzer oder beide aktiviert. Alle an einem Benutzer ausgeführten Bereitstellungsoperationen ziehen eine Evaluierung der den Benutzern zugewiesenen Richtlinien nach sich. Alle Richtlinienverletzungen unterbrechen die Bereitstellungsoperation.

Umgehen der Einschränkungen von Auditor-Fähigkeiten

Standardmäßig sind die für Überwachungsaufgaben erforderlichen Fähigkeiten in der Organisation auf der höchsten Ebene („Top“) (Objektgruppe) enthalten. Daher können nur Administratoren, die das oberste Element („Top“) steuern, diese Fähigkeiten anderen Administratoren zuweisen.

Diese Einschränkung können Sie umgehen, indem Sie die Fähigkeiten zu einer anderen Organisation hinzufügen. In Identity Manager stehen im Verzeichnis sample/scripts zwei Dienstprogramme für diese Aufgabe zur Verfügung.

  1. Führen Sie den folgenden Befehl aus, um alle Fähigkeiten (Admin-Gruppen) und die zugehörigen Organisationen (Objektgruppen) aufzulisten:
  1. Bearbeiten Sie die CSV-Datei und verschieben Sie die Fähigkeiten nach Bedarf zwischen den Organisationen.
  2. Aktualisieren Sie Identity Manager mit dem folgenden Befehl.

Adding Rules

Dieser Abschnitt wurde um den folgenden Hinweis ergänzt (ID-16604, 16831):


Hinweis

Identity Manager unterstützt keine Regelverschachtelung. Darüber hinaus kann das Erstellen von Richtlinien mithilfe des Verschachtelns Boolescher Ausdrücke im Überwachungsrichtlinienassistenten unvorhersehbare Auswirkungen haben.

Komplexe Regelausdrücke sollten mithilfe eines XML-Editors erstellt werden. So können Sie eine getrennte XPRESS-Regel generieren, die alle zu verwendenden Regeln referenziert.


Create the Rule Expression

Der Hinweis in diesem Abschnitt wurde wurde wie folgt geändert (ID-16604, 16831):


Hinweis

Identity Manager unterstützt keine Regelverschachtelung. Darüber hinaus kann das Erstellen von Richtlinien mithilfe des Verschachtelns Boolescher Ausdrücke im Überwachungsrichtlinienassistenten unvorhersehbare Auswirkungen haben.

Komplexe Regelausdrücke sollten mithilfe eines XML-Editors erstellt werden. So können Sie eine getrennte XPRESS-Regel generieren, die alle zu verwendenden Regeln referenziert.


Kapitel 13, „Service Provider Administrator“

Im Abschnitt „Configure Synchronization“ sollte als Standardsynchronisationsintervall für Service Provider Edition-Synchronisationsaufgaben 1 Minute angegeben sein.

Alle Kapitel

Die Versionsnummer in den Kapitelfußzeilen muss 7.1 und nicht 7.0 lauten. (ID-16968)


Identity Manager-Ressourcenreferenz

Dieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für Sun Java System Identity Manager Resources Reference:

Allgemein

Active Directory

Die Dokumentation zum Active Directory-Ressourcenadapter wurde um folgende Informationen ergänzt.

Angabe einer Domäne für die Pass-Through-Authentifizierung

In der Standardkonfiguration wird die Pass-Through-Authentifizierung nur durch Senden der Benutzer-ID und des Passworts ausgeführt. Diese beiden Attribute sind im Element AuthnProperties des XML-Ressourcenobjekts als w2k_user und w2k_password enthalten. Ohne Domänenangabe durchsucht das Gateway alle bekannten Domänen und versucht, den Benutzer in denjenigen Domänen, die den Benutzer enthalten, zu authentifizieren.

In abgesicherten Mehrdomänenumgebungen können die folgenden beiden Situationen auftreten:

Behebung

In der Active Directory-Dokumentation ist unter „Managing ACL Lists“ der folgende Schritt aufgeführt: (ID-16476)

Datenbanktabelle

Flat File Active Sync

Gateway-Adapter

Bei den Domino Gateway-, Active Directory-, Novell NetWare- und anderen Gateway-Adapter kann jetzt zur Angabe einer Zeitdauer (in Sekunden) das Ressourcenattribut RA_HANGTIMEOUT angegeben werden. Dieses Attribut gibt die Zeitdauer an, bevor eine Anforderung an das Gateway außerhalb der Vorgabezeit liegt und als aufgehangen interpretiert wird.

Sie müssen dieses Attribut wie folgt zum Ressourcenobjekt hinzufügen:

<ResourceAttribute name='Hang Timeout' displayName='com.waveset.adapter.RAMessages:RESATTR_HANGTIMEOUT' type='int' description='com.waveset.adapter.RAMessages:RESATTR_HANGTIMEOUT_HELP' value='NeuerWert'>
</ResourceAttribute>

Der Standardwert für dieses Attribut ist 0, was bedeutet, dass Identity Manager nicht auf eine aufgehangene Verbindung prüft.

Mainframe-Adapter

In den Identity Manager-Installationshinweisen fehlt in den Abschnitten zu den Adaptern ACF2, Natural, RACF, RACF-LDAP, Scripted Host und Top Secret ein Schritt. Fügen Sie nach Schritt 3 den folgenden Schritt ein:

4. Bei der Installation der Attachmate-Bibliotheken auf einem WebSphere-Anwendungsserver müssen Sie zur Datei WebSphere/AppServer/configuration/config.ini die Eigenschaft com.wrq.profile.dir=Bibliotheksverezichnis hinzufügen.

Dadurch finder der Attachmate-Code die Lizentdatei.

Microsoft SQL Server

Der Abschnitt „Usage Notes“ wurde um die folgenden Informationen ergänzt:

Der Windows-Authentifizierungsmodus für den SQL Server-Ressourcenadapter kann nur am Microsoft SQL Server-Adapter konfiguriert werden, wenn der Identity Manager-Server auf einem Windows-Rechner läuft, der zum gleichen Sicherheits-/Authentifizierungsframework von Windows wie die betreffende Instanz von SQL Server gehört.

Der JDBC-Treiber unterstützt über die Eigenschaft „integratedSecurityConnection“ (eine Zeichenkette) die Verwendung der integrierten Authentifizierung von Typ 2 auf Windows-Betriebssystemen. Zur Verwendung der integrierten Authentifizierung müssen Sie die Datei sqljdbc_auth.dll auf dem Computer, auf dem der JDBC-Treiber installiert ist, in ein Verzeichnis im Windows-Systempfad kopieren.

Die Dateien von sqljdbc_auth.dll werden im folgenden Verzeichnis installiert:

InstallationsVerzeichnis\sqljdbc_Version\Sprache\auth\

Bei 32-Bit-Prozessoren müssen Sie die Datei sqljdbc_auth.dll im Ordner „x86“ verwenden, bei 64-Bit-Prozessoren die Datei sqljdbc_auth.dll im Ordner „x64“.

Weitere Informationen finden Sie unter:

http://msdn2.microsoft.com/en-us/library/ms378428.aspx

NetWare

Oracle

Oracle ERP

Remedy

Sie müssen mehrere Remedy API-Bibliotheken in das Verzeichnis kopieren, in dem das Gateway installiert ist. Sie finden diese Bibliotheken auf dem Remedy-Server.

Tabelle 3 Remedy API-Biblioheken

Remedy 4.x und 5.x

Remedy 6.3

Remedy 7.0

  • arapiXX.dll
  • arrpcXX.dll
  • arutlXX.dll

Hierbei entspricht XX der Remedy-Version. Beispiel: arapi45.dll für Remedy 4.5.

  • arapi63.dll
  • arrpc63.dll
  • arutl63.dll
  • icudt20.dll
  • icuin20.dll
  • icuuc20.dll
  • arapi70.dll
  • arrpc70.dll
  • arutl70.dll
  • icudt32.dll
  • icuin32.dll
  • icuuc32.dll

SAP

Allgemeine Hinweise

Der Hinweis in Schritt 1 der Identity Manager-Installationshinweise ist nicht eindeutig. Er muss lauten:


Hinweis

Vergewissern Sie sich, dass das von Ihnen heruntegeladene JCo-Toolkit der Bitversion von Java entspricht, mit der der Anwendungsserver läuft. So ist JCo auf der Solaris x86-Plattform nur in der 64-Bit-Version verfügbar. Deswegen muss auf Ihrem Anwendungsserver die 64-Bit-Version der Solaris x86-Plattform laufen.


Umbenennen von Konten

Der SAP-Adapter unterstützt jetzt das Umbenennen von Konten. Er kopiert dazu ein vorhandenes Konto in ein neues Konto und löscht das ursprüngliche Konto. SAP rät von der Umbenennung von Konten ab, bietet diese Möglichkeit aber in der Benutzerverwaltungsanwendung (Transaktion SU01 in der SAP-GUI). Deswegen unterstützt auch Identity Manager diese Option. Sie sollten jedoch berücksichtigen, dass SAP Umbenennungen in zukünftigen Versionen eventuell nicht mehr unterstützt.

Die SAP-GUI führt Umbenennungen mithilfe einer anderen Methode aus, da sie Zugriff auf nichtöffentliche APIs und das SAP-Kernel hat. Die folgenden Schritte veranschaulichen in vereinfachter Form, wie der Adapter Umbenennungsoperationen durchführt:

  1. Abrufen von Informationen für den existierenden Benutzer.
  2. Speichern des ALIAS-Attributs, falls dieses vorhanden ist.
  3. Erstellen eines neuen Benutzers.
  4. Setzen der Aktivitätsgruppen auf den neuen Benutzer (im CUA-Modus: Abrufen der Aktivitätsgruppen des alten Benutzers).
  5. Setzen der Profile auf den neuen Benutzer (im CUA-Modus: Abrufen der Profile des alten Benutzers).
  6. Abrufen der Personalisierungsdaten des alten Benutzers.
  7. Setzen der Personalisierungsdaten des neuen Benutzers.
  8. Löschen des alten Benutzers.
  9. Setzen des Aliasnamens auf den neuen Benutzer, falls dieser für den alten Benutzer gesetzt war.

Wenn während der Schritte 1-3 ein Fehler auftrat, schlägt die Operation sofort fehl. Wenn während der Schritte 4-7 ein Fehler auftrat, wird der neuen Benutzer gelöscht und die Gesamtoperation schlägt fehl. Wenn der neue Benutzer nicht gelöscht werden kann, wird in WavesetResult eine Warnung gespeichert. Wenn während der Schritte 8-9 ein Fehler auftrat, wird in WavesetResult eine Warnung gespeichert, die Operation wird jedoch abgeschlossen.

Für das Umbenennen ist das Setzen eines neuen Passworts durch den neuen Benutzer erforderlich. Am einfachsten kann dies bewerkstelligt werden, indem die Aufgabe „Benutzer umbenennen“ so konfiguriert wird, dass die Aufgabe „Banutzerpasswort ändern“ aufgerufen wird.

Sun Java System Access Manager

Sun Java System Access Manager Realm

Die Identity Manager Resources Reference enthält veraltete Verweise. Nutzen Sie stattdessen folgende Verweise:

Im Abschnitt „Installationshinweise“ wurde die Vorgehensweise zum Konfigurieren des Access Manager Realm-Ressourcenadapters von Sun Java System wie folgt aktualisiert.

  1. Folgen Sie den Anweisungen im Sun Java System Access Manager 7 2005Q4 Developer's Guide, um das Client-SDK aus der Sun Access Manager-Installation heraus zu erstellen.
  2. Extrahieren Sie aus der generierten war-Datei AMConfig.properties und die in amclientsdk.jar enthaltenen Dateien.
  3. Legen Sie ein Kopie von AMConfig.properties im folgenden Verzeichnis ab:
  4. InstallVerz/WEB-INF/classes

  5. Legen Sie ein Kopie von amclientsdk.jar im folgenden Verzeichnis ab:
  6. InstallVerz/WEB-INF/lib

  7. Fügen Sie die Datei amclientsdk.jar zum Server-Klassenpfad hinzu.
  8. Starten Sie den Anwendungsserver von Identity Manager neu.
  9. Nach dem Kopieren der Dateien müssen Sie die Sun Java System Access Manager Realm-Ressource zur Identity Manager-Ressourcenliste hinzufügen. Fügen Sie im Abschnitt „Benutzerdefinierte Ressourcen“ der Seite „Verwaltete Ressourcen konfigurieren“ den folgenden Wert hinzu.

Die im Abschnitt „Policy Agent“ beschriebene Vorgehensweise ist veraltet. Gehen Sie stattdessen folgendermaßen vor:

  1. Wählen Sie in der Menüleiste der Identity Manager-Administratoroberfläche die Option Sicherheit.
  2. Klicken Sie auf die Registerkarte Anmelden.
  3. Klicken Sie auf die Schaltfläche Anmeldemodulgruppen verwalten (unten auf der Seite).
  4. Wählen Sie das Anmeldemodul aus, das geändert werden soll (beispielsweise „Standard-ID/-Passwort-Anmeldemodulgruppe für Identity System“).
  5. Wählen Sie im Auswahlfeld „Anmeldemodulgruppen zuweisen“ die Option „Sun Access Manager-Anmeldemodul“ oder „Sun Access Manager Realm-Anmeldemodul“ aus.
  6. Wählen Sie die jeweilige Ressource aus, wenn neben der Option „Anmeldemodulgruppe zuweisen“ eine neue Auswahloption angezeigt wird.
  7. Bei Anzeige der Seite „Anmeldemodulgruppe bearbeiten“ sollten Sie die angezeigten Felder wie gewünscht ändern und dann auf Speichern klicken. Es wird wieder das Fenster „Anmeldemodulgruppe bearbeiten“ angezeigt.
  8. Geben Sie als erste Ressource in der Modulgruppe „Sun Access Manager Realm-Anmeldemodul“ an und klicken Sie dann auf Speichern.

UNIX-Adapter

In der Dokumentation für die AIX-, HPUX-, Solaris- und Linux-Adapter wurde früher angegeben, dass bei der Verwendung von „sudo“ für jeden vom Adapter verwendeten Befehl die Option NOPASSWORD angegeben werden muss. Diese Information ist falsch.

Synchronisieren von LDAP-Passwörtern

Identity Manager unterstützt jetzt den LDAP Directory Server 5.2 SP5 und neuer zur Passwortsynchronisation. Die Seite „Passwortsynchronisation konfigurieren“ enthält das neue Feld Directory Server-Version. Damit können Sie angeben, ob die verwendete Directory Server-Instanz die Versionsnummer 5.2 P4 oder früher bzw. 5.2 P5 oder neuer hat.

Bitte beachten Sie die folgenden Dokumentationsänderungen:


Identity Manager Technical Deployment Overview

Dieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für Sun Java System Identity Manager Technical Deployment Overview:

  1. Importieren Sie die folgende XML-Datei:
  2. Codebeispiel 1 Zu importierende XML-Datei

    <?xml version='1.0' encoding='UTF-8'?>

    <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>

    <Configuration name='AltMsgCatalog'>

    <Extension>

    <CustomCatalog id='AltMsgCatalog' enabled='true'>

    <MessageSet language='en' country='US'>

    <Msg id='UI_BROWSER_TITLE_PROD_NAME_OVERRIDE'>Override Name</Msg>

        </MessageSet>

    </CustomCatalog>

    </Configuration>

    </Extension>

  3. Laden Sie mithilfe der Identity Manager-IDE das SystemConfiguration-Objekt zum Bearbeiten. Fügen Sie auf der obersten Hierarchieebene ein neues Attribut hinzu:
  4. Name = customMessageCatalog

    Type = string

    Value = AltMsgCatalog

  5. Öffnen Sie das generische Objekt „ui.web“ und suchen Sie das Attribut browserTitleProdNameOverride. Setzen Sie diesen Wert auf „true“.
  6. Speichern Sie diese Änderung im SystemConfiguration-Objekt, und starten Sie den Anwendungsserver neu.
  7. Im Rahmen der anonymen Registrierung von Identity Manager werden für accountId und emailAddress generiert. Dies geschieht auf der Grundlage von Vor- (firstName) und Nachname (lastName) sowie employeeId, die allesamt vom Benutzer angegeben wurden. (ID-16131)
  1. Bearbeiten Sie die folgenden drei Regeln in EndUserRuleLibrary wie unten angegeben:
  2. Diese Regel bearbeiten

    um diese Änderung zu erreichen...

    getAccountId

    Es wird nur employeeId verwendet (firstName und lastName werden entfernt).

    getEmailAddress

    Es wird nur employeeId verwendet (firstName, lastName und "." werden entfernt).

    verifyFirstname 

    Die Längenprüfung wird von 2 auf 1 geändert, um Kompatibilität mit asiatischen Vornamen aus nur einem Zeichen zu erhalten.

  3. Bearbeiten Sie das Formular End User Anon Enrollment Completion, um die Argumente firstName und lastName von Aufrufen der Regeln getAccountId und getEmailAddress zu entfernen.
  4. Die Diskussion zur Anpassung der Anmeldeseiten (in Kapitel 5 „Private Labeling of Identity Manager“ muss die folgenden Informationen zu Meldungsschlüsseln enthalten. (ID-16702)
  5. JSP- bzw. Identity Manager-Komponente

    Betroffene Oberfläche

    Meldungsschlüssel

    Anmeldeseite - TITEL

    Administrator/Endbenutzer

    UI_LOGIN_TITLE_TO_RESOURCE

    UI_LOGIN_CHALLENGE

    Anmeldeseite - UNTERTITEL

    Administrator/Endbenutzer

    Wählen Sie je nach Anmeldemodus einen Schlüssel aus: Passwort vergessen, Benutzer-ID vergessen, Authentifizierung mittels geheimer Fragen.

    UI_LOGIN_WELCOME3

    UI_LOGIN_WELCOME4

    UI_LOGIN_WELCOME5

    UI_LOGIN_WELCOME6

    UI_LOGIN_CHALLENGE_INFO

    staticLogout.jsp und user/staticUserLogout.jsp

    Administrator/Endbenutzer

    UI_LOGIN_TITLE

    continueLogin.jsp

    Administrator

    UI_LOGIN_IN_PROGRESS_TITLE

    UI_LOGIN_WELCOME


Identity Manager Workflows, Forms, and Views

Dieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für Sun Java System Identity Manager Workflows, Forms, and Views.

Kapitel 1, „Identity Manager Workflow“

Kapitel 2, „Workflow Services“

Workflow-Bereitstellungsdienst „lock“

Workflow-Bereitstellungsdienst „unlock“

Kapitel 3, „Identity Manager Forms“

Zusätzliche Informationen

Formularverarbeitung zu Überwachungszwecken

Festlegen von Benutzerformularen

Standardformulare für die Überwachung

Warum sollten die Formulare angepasst werden?

Variablen für Abfrageaufgaben

Kapitel 4, „Identity Manager Views“

Allgemeine Attribute

Die Organisationsansichtsattribute höherer Ebene sind im Folgenden aufgelistet.

Name

Bearbeitbar?

Datentyp

Obligatorisch?

orgName

Lesen

String

Vom System generiert

orgDisplayName

Lesen/Schreiben

String

Ja

orgType

Lesen/Schreiben

String

Nein

orgId

Lesen

String

Vom System generiert

orgAction

Schreiben

String

Nein

orgNewDisplayName

Schreiben

String

Nein

orgParentName

Lesen/Schreiben

String

Nein

orgChildOrgNames

Lesen

List

Vom System generiert

orgApprovers

Lesen/Schreiben

List

Nein

allowsOrgApprovers

Lesen

List

Vom System generiert

allowedOrgApproverIds

Lesen

List

Vom System generiert

orgUserForm

Lesen/Schreiben

String

Nein

orgViewUserForm

Lesen/Schreiben

Zeichenkette

Nein

orgPolicies

Lesen/Schreiben

List

Nein

orgAuditPolicies

Lesen/Schreiben

List

Nein

renameCreate

Lesen/Schreiben

String

Nein

renameSaveAs

Lesen/Schreiben

String

Nein

orgName

Gibt die UID für die Organisation an. Dieser Wert unterscheidet sich von den meisten Ansichtsobjektnamen, da Organisationen denselben Kurznamen aufweisen und doch zu verschiedenen übergeordneten Organisationen gehören können.

orgDisplayName

Gibt den Kurznamen der Organisation an. Dieser Wert dient nur der Anzeige und muss nicht eindeutig sein.

orgType

Definiert den Organisationtyp. Zulässige Werte sind junction oder virtual. Organisationen, die nicht zum Typ junction oder virtual gehören, weisen keinen Wert auf.

orgId

Gibt die ID an, mit der die Organisation in Identity Manager eindeutig identifiziert wird.

orgAction

Wird nur für Verzeichniszuordnungen, virtuelle Organisationen und dynamische Organisationen unterstützt. Zulässiger Wert ist refresh. Wenn es sich bei der Organisation um eine Verzeichniszuordnung oder eine virtuelle Organisation handelt, hängt das Verhalten bei der Aktualisierung vom Wert von orgRefreshAllOrgsUserMembers ab.

orgNewDisplayName

Legt beim Umbenennen einer Organisation den neuen Kurznamen fest.

orgParentName

Gibt den vollständigen Pfadnamen der übergeordneten Organisation an.

orgChildOrgNames

Listet die Identity Manager-Schnittstellennamen aller direkten und indirekten untergeordneten Organisationen auf.

orgApprovers

Listet die Identity Manager-Administratoren auf, die das Hinzufügen bzw. Modifizieren von Benutzern in der jeweiligen Organisation genehmigen müssen.

allowedOrgApprovers

Listet die Namen von Benutzern auf, die ebenfalls das Hinzufügen und Modifizieren von Benutzern in der jeweiligen Organisation genehmigen könnten.

allowedOrgApproverIds

Listet die IDs von Benutzern auf, die ebenfalls das Hinzufügen und Modifizieren von Benutzern in der jeweiligen Organisation genehmigen könnten.

orgUserForm

Legt das userForm fest, das Benutzer, die Mitglied der jeweiligen Organisation sind, beim Erstellen oder Bearbeiten von Benutzern verwenden.

orgViewUserForm

Legt das Benutzeranzeigeformular fest, das Benutzer, die Mitglied der jeweiligen Organisation sind, beim Anzeigen von Benutzern verwenden.

orgPolicies

Gibt Richtlinien an, die für alle Benutzer gelten, die Mitglied der jeweiligen Organisation sind. Hierbei handelt es sich um eine Liste von Objekten, geordnet nach Typzeichenfolge: Alle Richtlinienobjekte enthalten die folgenden Ansichtsattribute, denen orgPolicies[<type>] vorangestellt ist. <type> steht für den Richtlinientyp (Beispiel: Lighthouse-Konto).

orgAuditPolicies

Gibt die Überwachungsrichtlinien an, die für alle Benutzer gelten, die Mitglied der jeweiligen Organisation sind.

renameCreate

Wenn dieses Attribut auf „true“ gesetzt ist, wird die jeweilige Organisation geklont. Für die neu erstellte Organisation gilt der Wert von orgNewDisplayName.

renameSaveAs

Wenn dieses Attribut auf „true“ gesetzt ist, wird die jeweilige Organisation in den Wert von orgNewDisplayName umbenannt.

Attribute für Verzeichniszuordnung und virtuelle Organisationen

Name

Bearbeitbar?

Datentyp

Obligatorisch?

orgContainerId

Lesen

String

Vom System generiert

orgContainerTypes

Lesen

List

Vom System generiert

orgContainers

Lesen

List

Vom System generiert

orgParentContainerId

Lesen

String

Vom System generiert

orgResource

Lesen/Schreiben

String

Ja, für Verzeichniszuordnung bzw. virtuelle Organisation

orgResourceType

Lesen

String

Vom System generiert

orgResourceId

Lesen

String

Vom System generiert

orgRefreshAllOrgsUserMembers

Schreiben

String

Nein

orgContainerId

Gibt den DN des zugehörigen LDAP-Verzeichniscontainers an (Beispiel: cn=foo,ou=bar,o=foobar.com).

orgContainerTypes

Listet die zulässigen Ressourcenobjekttypen auf, die andere Ressourcenobjekte enthalten können.

orgContainers

Listet die Basiscontainer für die Ressource auf, die von der Identity Manager-Schnittstelle zum Anzeigen einer Auswahlliste verwendet werden.

orgParentContainerId

Gibt den DN des zugehörigen übergeordneten LDAP-Verzeichniscontainers an (Beispiel: ou=bar,o=foobar.com).

orgResource

Gibt den Namen der Identity Manager-Ressource zum Synchronisieren der Verzeichniszuordnung und der virtuellen Organisationen an (Beispiel: West Directory Server).

orgResourceType

Gibt den Typ der Identity Manager-Ressource an, von der aus die Verzeichniszuordnung und die virtuellen Organisationen synchronisiert werden (Beispiel: LDAP).

orgResourceId

Gibt die ID der Identity Manager-Ressource an, die zum Synchronisieren von Verzeichniszuordnungen und virtuellen Organisationen verwendet wird.

orgRefreshAllOrgsUserMembers

Wenn dieses Attribut auf true und orgAction auf refresh gesetzt ist, werden für die ausgewählte Organisation und alle untergeordneten Organisationen die Benutzer, die Mitglied in der Identity Manager-Organisation sind, mit den Benutzern im Ressourcencontainer synchronisiert. Wenn dieses Attribut auf false gesetzt ist, erfolgt keine Synchronisation mit den Benutzern im Ressourcencontainer. Für die ausgewählte Organisation und alle untergeordneten Organisationen werden nur die Ressourcencontainer mit den Identity-Manager-Organisationen synchronisiert.

Attribute für dynamische Organisationen

Name

Bearbeitbar?

Datentyp

Obligatorisch?

orgUserMembersRule

Lesen/Schreiben

String

Nein

orgUserMembersRuleCacheTimeout

Lesen/Schreiben

String

Nein

orgUserMembersRule

Gibt (anhand des Namens oder der UID) die Regel an, deren authType „UserMembersRule“ lautet. Diese wird zur Laufzeit ausgewertet, um die Mitgliedschaft zu ermitteln.

orgUserMembersCacheTimeout

Gibt an, nach wie viel Millisekunden es zu einer Cache-Zeitüberschreitung kommt, wenn von „orgUserMembersRule“ zurückgegebene Benutzer in den Cache geschrieben werden sollen. Der Wert 0 gibt an, dass keine Zwischenspeicherung erfolgt.

Die Erläuterungen zur Benutzeransicht umfassen nun auch Informationen zu accounts[Lighthouse].delegates-Attributen: (ID-15468)

accounts[Lighthouse].delegates

Führt Delegate-Objekte auf, die über workItemType indiziert werden, wobei jedes Objekt Delegate-Informationen für einen bestimmten Arbeitselementtyp enthält.

accounts[Lighthouse].delegatesHistory

Führt Delegate-Objekt auf, die von 0 bis n indiziert sind, wobei n die aktuelle Anzahl der historischen Delegate-Objekte bis zur historischen Delegate-Tiefe angibt.

Dieses Attribut hat ein eindeutiges Attribut, selected, das ein Boolescher Wert ist, der das gerade ausgewählte historische Delegate-Objekt angibt.

accounts[Lighthouse].delegatesOriginal

Originalliste von Delegate-Objekten, die nach einem Abrufvorgang oder dem Auschecken einer Ansicht über workItemType indiziert werden.

Alle accounts[Lighthouse].delegates*-Attribute nehmen die folgenden Attribute an:

Attribute von accounts[Lighthouse].delegate*-Attributen

Beschreibung

 

workItemType

Identifiziert den Typ von workItem, das gerade delegiert wird. Eine Liste mit zulässigen workItem-Typen finden Sie in der Beschreibung des Modells für Delegate-Objekte unter Identity Manager Technical Deployment Overview dieses Dokumentationsnachtrags.

workItemTypeObjects

Führt die Namen spezifischer Rollen, Ressourcen oder Organisationen auf, in denen der Benutzer zukünftige workItem-Genehmigungsanforderungen delegiert. Dieses Attribut ist zulässig, wenn workItemType den Wert roleApproval, resourceApproval oder organizationApproval hat.

Wenn nicht angegeben, gibt dieses Attribut standardmäßig die Delegierung zukünftiger workItem-Anforderungen von allen Rollen, Ressourcen oder Organisationen an, in denen der Benutzer als Genehmiger fungiert.

toType

Typ, an den delegiert wird. Gültige Werte sind:

manager

delegateWorkItemsRule

selectedUsers

toUsers

Führt die Namen der Benutzer auf, an die delegiert werden soll (wenn toType den Wert selectedUsers hat).

toRule

Gibt den Namen der Regel an, die bei der Bestimmung der Benutzer angewendet wird, an die delegiert werden soll (wenn toType den Wert delegateWorkItemsRule hat).

startDate

Gibt das Datum an, an dem die Delegierung gestartet werden soll.

endDate

Gibt das Datum an, an dem die Delegierung beendet werden soll.

Verweisen auf ein DelegateWorkItems-Ansichtsobjekt von einem Formular aus

Das folgende Codebeispiel veranschaulicht, wie Sie von einem Formular aus auf ein DelegateWorkItems-Delegate-Objekt verweisen können:

<Field name='delegates[*].workItemType'>

<Field name=’delegates[*].workItemTypeObjects’>

<Field name=’delegates[*].toType’>

<Field name='delegates[*].toUsers'>

<Field name=’delegates[*].toRule’>

<Field name='delegates[*].startDate'>

<Field name='delegates[*].endDate'>

wobei unterstützte Indexwert (*) workItemType-Werte sind.

Name

Bearbeitbar?

Typ

Obligatorisch?

name

 

String

Ja

status

 

String

Ja

user

 

String

Ja

userId

 

String

Ja

attestorHint

 

String

Nein

userView

 

GenericObject

Ja

reviewInstanceId

 

String

Ja

reviewStartDate

 

String

Ja

scanId

 

String

Ja

scanInstanceId

 

String

Ja

approvalWorkflowName

 

String

Ja

organizationId

 

String

Ja

attestorComments.name

 

String

Nein

attestorComments.attestor

 

String

Nein

attestorComments.time

 

String

Nein

attestorComments.timestamp

 

String

Nein

attestorComments.status

 

 

Nein

name

Gibt den Benutzeranspruch an (anhand einer eindeutigen ID).

status

Gibt den Status des UserEntitlement-Objekts an. Zulässige Statuswerte sind u. a. PENDING, ACCEPTED, REJECTED, REMEDIATING und CANCELLED.

user

Gibt den Namen des zugehörigen WSUser für diesen Anspruch an.

userId

Gibt die ID des zugehörigen WSUser an.

attestorHint

Zeigt den Tipp (Zeichenfolge) für den Bescheiniger an, der in der Regel für Prüfungsbestimmung festgelegt ist. Dieser Tipp enthält für den Bescheiniger nützliche Informationen über die Regel.

userView

Enthält die von der Benutzeranspruchs-Prüffunktion erfasste Benutzeransicht. Wie viele Ressourcenkonten diese Ansicht enthält, hängt von der Konfiguration des AccessScan-Objekts ab.

reviewInstanceId

Gibt die ID der PAR-Aufgabeninstanz an.

reviewStartDate

Gibt das Startdatum (Zeichenfolge) der PAR-Aufgabe an (im Standardformat).

scanId

Gibt die ID der AccessScan-Aufgabendefinition an.

scanInstanceId

Gibt die ID der AccessScan-Aufgabeninstanz an.

approvalWorkflowName

Gibt den Namen des für die Genehmigung auszuführenden Workflows an. Dieser Wert stammt aus der AccessScan-Aufgabendefinition.

organizationId

Gibt die ID der Organisation des WSUser zur Zeit der Prüfung an.

attestorComments

Listet Bescheinigungsdatensätze für den Anspruch auf. Jeder Bescheinigungsdatensatz gibt eine Aktion oder eine Anweisung in Bezug auf den Anspruch an, u. a. Genehmigung, Ablehnung und erneute Prüfung.

attestorComments[timestamp].name

Zeitstempel zum Identifizieren des Elements in der Liste.

attestorComments[timestamp].attestor

Gibt den WSUser-Namen des Bescheinigers an, von dem der Kommentar zum Anspruch stammt.

attestorComments[timestamp].time

Gibt die Uhrzeit an, zu der dieser Datensatz vom Bescheiniger bescheinigt wurde. Kann vom Zeitstempel abweichen.

attestorComments[timestamp].status

Gibt den vom Bescheiniger zugewiesenen Status an. Hierbei kann es sich um eine beliebige Zeichenfolge handeln. Normalerweise wird jedoch die vom Bescheiniger ausgeführte Aktion angegeben, also z. B. Genehmigung, Ablehnung, erneute Prüfung, Korrektur.

attestorComments[name].comment

Enthält vom Bescheiniger hinzugefügte Kommentare.

Kapitel 6, „XPRESS Language“

Kapitel 8, „HTML Display Components“

Verwenden des objectSelector-Beispielcodes

  1. Öffnen Sie in der Identity Manager-IDE das UserForm-Objekt der Administratorenbibliothek.
  2. Fügen Sie diesem Formular den folgenden Code hinzu:
  3. <Include>

       <ObjectRef type='UserForm' name='Scalable Selection Library'/>

    </Include>

  4. Wählen Sie im Feld AdministratorFields das Feld accounts[Lighthouse].adminRoles.
  5. Ersetzen Sie die gesamte Referenz accounts[Lighthouse].adminRoles durch folgende Referenz:
  6. <FieldRef name='scalableWaveset.adminRoles'/>

  7. Speichern Sie das Objekt.
  8. Wenn Sie das nächste Mal einen Benutzer bearbeiten und die Registerkarte Sicherheit auswählen, zeigt Identity Manager das angepasste Formular an. Durch Klicken auf ... wird die Selektorkomponente geöffnet und ein Suchfeld angezeigt. Suchen Sie mit Hilfe dieses Felds nach Admin-Rollen, die mit einer Zeichenfolge beginnen und stellen Sie das Feld auf einen oder mehrere Werte ein.

    Um das Formular wiederherzustellen, importieren Sie $WSHOME/sample/formlib.xml über Konfigurieren > Exchange-Datei importieren.

    Weitere Beispiele zum Verwalten von Ressourcen und Rollen in objektreichen Umgebungen mit der objectSelector-Vorlage finden Sie in der Scalable Selection Library in sample/formlib.xml.

  9. Die Erläuterungen zur TabPanel-Komponente enthalten nun die folgende Beschreibung der validatePerTab-Eigenschaft: (ID-15501)

ListEditor

Aktivieren von autocomplete for Identity Manager-Anmeldeseiten

Anhang A, „Form and Process Mappings“


Identity Manager Deployment Tools

Dieser Abschnitt enthält Korrekturen und Ergänzungen für die Identity Manager Deployment Tools-Dokumentation.

Kapitel1, „Using the Identity Manager IDE“

Aktualisieren von Projekten mit Version 7.1 auf Version 7.1 Update 1

In diesem Abschnitt wird beschrieben, wie Sie Identity Manager-Projekte mit Plugin-Version 7.1 von Identity Manager-IDE am optimalsten auf Projekte mit Version 7.1 Update 1 (und höher) aktualisieren können.


Hinweis

Hier wird lediglich die Aufrüstung der Identity Manager-IDE Plugin-Version beschrieben. Die Aufrüstung von Identity Manager, ein komplexerer Prozess, ist nicht Gegenstand dieser Diskussion.

Eine Anleitung zur Aufrüstung von Identity Manager finden Sie in der Dokumentation von Identity Manager Upgrade.


Die folgenden Identity Manager-Projektdateien wurden für Identity Manager Version 7.1 Update 1 geändert:

Falls Sie an diesen Daten Änderungen vorgenommen haben, müssen Sie diese beim Aufrüsten von der Plugin-Version 7.1 von Identity Manager-IDE auf Version 7.1 Update 1 (oder höher) manuell einarbeiten.


Hinweis

Die Dateien build.xml, build-netbeans.xml und nbproject/project.xml ändern sich von Version zu Version ständig. Deswegen sollten Sie Änderungen an diesen Dateien weitestgehend vermeiden.


In diesem Abschnitt wird beschrieben, wie Sie Plugin-Version von Identity Manager-IDE des Identity Manager-Projekts am optimalsten aktualisieren können.


Hinweis

Hier wird lediglich die Aufrüstung der Identity Manager-IDE Plugin-Version beschrieben. Die Aufrüstung von Identity Manager, ein komplexerer Prozess, ist nicht Gegenstand dieser Diskussion.

Verwenden Sie beispielsweise die folgende Anleitung, wenn Sie ein mit Version 7.1 des Identity Manager-IDE-Plugins erstelltes Projekt mit dem Plugin von 7.1 Update 1 aktualisieren wollen.

Ihre Identity Manager-Version bleibt weiterhin 7.1, es sei denn, Sie führen die Aufrüstung gemäß der Anleitung unter Identity Manager Upgrade durch.


Bei dieser Aufrüstung wird angenommen, dass sich Ihr Projekt unter Quellcodeverwaltung befindet. Die Anweisungen sind in zwei Kategorien aufgeteilt:

Schritte, die von einem Mitglied des Bereitstellungsteams ausgeführt werden

Ein Mitglied Ihres Bereitstellungsteams sollte die folgenden Schritte ausführen:

  1. Fahren Sie NetBeans herunter.
  2. Löschen Sie das Verzeichnis .netbeans.
  3. Installieren Sie die neue nbm-Datei.
  4. Starten Sie NetBeans.
  5. Öffnen Sie das Projekt.
  6. Es wird eine Meldung angezeigt, die Sie informiert, dass mehrere Projektdateien wie z. B. build.xml und build-netbeans.xml aktualisiert werden müssen. Darüber hinaus werden Dateien angezeigt, die geändert wurden, und wo diese Änderungen manuell eingearbeitet werden müssen.

  7. Notieren Sie sich, welche Dateien Sie manuell ändern müssen, und klicken Sie auf „Ja“.
  8. Es wird eine Meldung angezeigt, die Sie informiert, dass die Aufrüstung erfolgreich ausgeführt wurde.

  9. Wenn Sie vorherige Änderungen an Dateien manuell einarbeiten müssen, können Sie das jetzt tun.
  10. Die vorherigen Kopien dieser Dateien werden in <Dateiname>.bak umbenannt, und so können Sie mithilfe von diff gegen die neuen Dateien sehen, welche Änderungen eingearbeitet werden müssen.

  11. Wenn dies abgeschlossen ist und alles normal arbeitet, sollten Sie alle geänderten Dateien in die Quellcodeverwaltung einchecken.

  12. Hinweis

    Eine vollständige Liste der Dateien, die unter Quellcodeverwaltung stehen sollten, finden Sie im Abschnitt „CVS Best Practices“ der Datei README.txt.


Schritte, die von anderen Mitgliedern des Bereitstellungs-Teams ausgeführt werden

Nach der Aufrüstung der nbm-Datei des Identity Manager-IDE 7.1 Update 1-Plugins und Einarbeiten erforderlicher Änderungen in die jeweiligen Projektdateien sollten die übrigen Mitglieder des Bereitstellungsteams die folgenden Schritte ausführen:

  1. Führen Sie in der Quellcodeverwaltung eine vollständige Projektaktualisierung durch.
  2. Fahren Sie NetBeans herunter.
  3. Löschen Sie das Verzeichnis .netbeans.
  4. Installieren Sie die neue nbm-Datei.
  5. Starten Sie NetBeans.
  6. Öffnen Sie das Projekt.
  7. Die Fehlerbehebungsinformationen unter „Unable to Delete Errors“ des Abschnitts „Troubleshooting Identity Manager-IDE“ gelten nicht mehr. Der integrierte Netbeans-Anwendungsserver wird jetzt automatisch heruntergefahren, wenn Sie eine der folgenden Projektoperationen ausführen (ID-16851, 16738):
    • Bereinigung eines Projekts
    • Erstellen einer Delta-Distribution
    • Erstellen einer Jar-Datei
    • Fehler suchen im Projekt
    • Verwalten eines eingebetteten Repositorys
    • Projektprofilierung
    • Ausführen eines Projekts
  8. Identity Manager besitzt ein Profilerdienstprogramm, das Ihnen in Ihrer Bereitstellung beim Auffinden von Leistungsproblemen bei Formularen, Java, Regeln, Workflows und XPRESS hilft. Kapitel 1, „Using the Identity Manager IDE“, ist um den folgenden Abschnitt zu ergänzen (ID-16764):


Verwenden des Profilers für das Finden von Leistungsproblemen

Identity Manager besitzt jetzt ein Profilerdienstprogramm, das Ihnen in Ihrer Bereitstellung beim Auffinden von Leistungsproblemen bei Formularen, Java, Regeln, Workflows und XPRESS hilft.

Formulare, Java, Regeln, Workflows und XPRESS können Leistungs- und Skalierungsprobleme verursachen. Der Profiler analysiert, wieviel Zeit verschiedene Formulare und Workflows zur Ausführung benötigen. Somit können Sie feststellen, ob diese Formulare bzw. Workflows zu Leistungs- und Skalierungsproblemen beitragen und - wenn dies der Fall ist - welche Teile dieser Objekte diese Probleme verursachen.

In diesem Abschnitt wird die Arbeit mit dem Identity Manager-Profiler beschrieben. Darüber hinaus finden Sie hier eine Anleitung für das Finden und Eliminieren von Leistungsproblemen in Ihrer Bereitstellung. Die Informationen sind wie folgt unterteilt:

Übersicht

Dieser Abschnitt enthält einen Überblick über Leistungsmerkmale und Funktionalität des Identity Manager-Profilers. Die Informationen sind wie folgt unterteilt:

Hauptfunktionen

Mit dem Profiler können Sie folgende Funktionen ausführen:

Wie findet und verwaltet der Profiler Quellcode?

In diesem Abschnitt wird beschrieben, wie der Profiler Quellcode für die folgenden Identity Manager-Objekte findet und verwaltet:

Für Formulare, Workflows, Regeln und XPRESS-Objekte

Wenn Sie mit dem Profiler einen Snapshot erstellen, evaluiert der Server alle Profilingdaten und findet heraus, von welchem Quellcode die betreffenden Daten abhängen. Der Server ruft dann diesen Quellcode aus dem Repository ab und fügt ihn in den Snapshot ein. Deswegen können Sie sicher sein, dass die in einem Snapshot angezeigten Identity Manager-Objekte auch wirklich den Zustand besitzen, den sie während der Erstellung des Snapshot einnahmen.

Dieser Prozess erhöht zwar die Snapshotgröße, die Quellcodegröße beträgt aber nur einen Bruchteil der Gesamtobjektgröße. So können Sie Snapshots an den Technischen Support von Sun senden, ohne einzelne Dateien schicken zu müssen.

Für Java-Quellen


Hinweis

Bei Snapshots aus Java-Quellcode kann nicht vorausgesetzt werden, dass die der Code mit dem Server auf dem aktuellsten Stand bzw. stets verfügbar ist.


Wenn Sie einen Snapshot von Java-Quellcode erstellen, lädt der Client den Snapshot herunter und sucht dann in diesem Snapshot alle referenzierten Java-Quellen aus dem Projekt heraus. Beim Speichern des Snapshots komprimiert und archiviert der Client den Quellcode und hängt ihn an das Ende des Snapshots an.

Wenn Sie dann den Snapshot anzeigen und zum Java-Quellcode gehen, überprüft der Client zunächst den Inhalt des Snapshots. Wenn der Client den Inhalt dort nicht finden kann, überprüft er den Projektinhalt. Dieser Vorgang ermöglicht das Senden eines Snapshots mit Profiling-Daten aus benutzerspezifischem Java-Code und Identity Manager-Code.

Statistische Widersprüche

Die folgenden Abschnitte enthalten Informationen, die bei der Auswertung der vom Profiler ermittelten Ergebnisse zu berücksichtigen sind.

Berechnung der Eigenausführungszeit

Zur Berechnungen der Eigenausführungszeit eines Root-Knotens subtrahiert der Profiler die Ausführungszeiten aller vom Root-Knoten aufgerufenen Routinen von der Gesamtausführungszeit des Knotens ab.

Deswegen fließt die Ausführungszeit eines uninstrumentierten, vom Root-Knoten aufgerufenen Knotens in die Eigenausführungszeit des Root-Knotens ein Wenn die Eigenausführungszeit eines Root-Knotens relativ groß ist, sollten sie der Ursache unbedingt nachgehen. Es könnte beispielsweise sein, dass Sie nicht die passenden Methoden analysieren und deswegen an der falschen Stelle suchen.

Nehmen wir z. B. an, dess Methode A Methode B aufruft.

Die Ausführungszeit von Methode A beträgt isg. 10 s (dies schließt den Aufruf von B ein) und der Aufruf von B dauert isg. 10 s.

Wenn sowohl Methode A als auch Methode B instrumentiert sind, wird dies im Aufrufstack festgehalten. Sie sehen, dass Methode A eine Eigenausführungszeit von 0 s und B von 10 s besitzt. Das heißt, die gesamten 10 Sekunden wurden in Methode B verbracht. Wenn B jedoch nicht instrumentiert ist, sehen Sie nur, dass der Aufruf von Methode A 10 s dauert und die Eigenausführungszeit von Methode A 10 s beträgt. So kann es sein, dass Sie annehmen, dass das Problem statt in Methode B in Methode A liegt.

Ihnen fällt vielleicht auf, dass die Eigenausführungszeiten von JSPs während der Erstcompilierung sehr hoch sind. Wenn Sie die erfassten Ergebnisse löschen und die Seite dann erneut anzeigen, ist der Wert für die Eigenausführungszeit bedeutend niedriger.

Konstruktoraufrufe

Wegen vorhandener Einschränkungen bei der Java-Instrumentierungsstrategie erscheinen Erstaufrufe to this() oder super() auf der gleichen Aufrufebene wie der Konstruktur statt darunter. Hierzu ein Beispiel:

class A

{

public A()

{

this(0);

}

public A(int i)

{

}

}

and:

class B

{

public static void test()

{

new A();

}

}

Die Aufrufhierarchie sieht wie folgt aus:

B.test()

-A.<init>(int)

-A.<init>()

Rather than this:

B.test()

-A.<init>()

-A.<init>(int)

Dämon-Threads

Lassen Sie sich nicht von einer scheinbar langen Zeit verwirren, die in Dämon-Threads von Identity Manager (z. B. ReconTask.WorkerThread.run() oder TaskThread.WorkerThread.run()) verbracht wurde. Die meiste Zeit hier wird im Leerlauf, d. h. mit dem Warten auf Ereignisse verbracht. Sie müssen diese Aufrufe näher untersuchen, um zu sehen, wieviel Zeit in solchen Threads beim eigentlichen Auftreten eines Ereignisses verbracht wird.

Erste Schritte

In diesem Abschnitt wird beschrieben, wie Sie den Profiler starten und wie Sie mit den einzelnen Funktionen der grafischen Benutzeroberfläche des Profilers arbeiten. Die Informationen sind wie folgt unterteilt:

Vorbereitung

Da der Profiler sehr speicherintensiv ist, sollten Sie die Speicherressourcen für den Server und die Netbeans Java Virtual Machine (JVM) erhöhen.

Nach Abschluss dieses Vorgangs können Sie den Profiler wie im nächsten Abschnitt beschrieben starten.

Starten des Profilers

Der Profiler kann mit einer der folgenden Methoden gestartet werden:

Nach dem Start des Profilers wird das Dialogfeld „Profiler Options“ angezeigt, sodass Sie die von Ihnen gewünschten Optionen für das Profiling einstellen können.

Abbildung 1 Dialogfeld „Profiler Options“

Abbildung: Dialogfeld „Profiler Options“ In diesem Dialogfeld können Sie den Modus, IDM-Objektfilter und verschiedene weitere Optionen für das Profiling festlegen.

Weitere Informationen zum Einstelln dieser Optionen finden Sie unter Festlegen von Optionen für das Profiling.

Arbeiten mit dem Profiler

In diesem Abschnitt werden die Funktionen der grafischen Benutzeroberfläche des Profilers beschrieben und wie Sie mit diesen arbeiten können. Die Informationen sind wie folgt unterteilt:

Festlegen von Optionen für das Profiling

Das Dialogfeld „Profiler Options“ enthält folgende Registerkarten:

Mit den Optionen in diesen Registerkarten legen Sie fest, für welche Objekte das Profiling ausgeführt werden soll und welche Elemente im Profil anzuzeigen sind.

Klicken Sie auf „OK“, um den Profiler zu starten, wenn Sie die Optionen für das Profiling festgelegt haben. Je nach Projektkonfiguration führt der Profiler einen der folgenden beiden Vorgänge aus:

Modus

Die Registerkarte „Mode“ enthält folgende Optionen:

IDM Object Filters

Die Registerkarte „IDM Object Filters“ enthält folgende Optionen:

Java Filters

In der Registerkarte „Java Filters“ können Sie:

Java-Filter sind in Bezug auf Methodenmuster gegeben und werden in ein- bzw. ausschließenden, auf dem kanonischen Methodennamen basierenden Mustern angegeben. Kanonische Methodennamen sehen wie folgt aus:

Klassenname_mit_vollständigem_Pfad.Methodenname(Parametertyp-1, Parametertyp-2, ...)


Hinweis

Für Konstruktoren lautet der Methodenname <init>.


Hier sind einige Beispiele:

Falls erforderlich, können Sie durch entsprechendes Ändern der folgenden Zeilen in der Datei build.xml noch andere JAR-Dateien instrumentieren. Zum Beispiel:

<instrument todir="${lighthouse-dir-profiler}/WEB-INF" verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" excludeMethods="${profiler.excludes}">

<fileset dir="${lighthouse-dir}/WEB-INF">

<include name="lib/idm*.jar"/>

<include name="classes/**/*.class"/>

</fileset>

</instrument>

Standardmäßig sind in der Konfiguration alle benutzerspezifischen und die meisten Identity Manager-Klassen enthalten. Eine Reihe von Identity Manager-Klassen sind zwangsläufig nicht enthalten, da deren Einbeziehung den Profiler funktionsunfähig machen würde.

So sind z. B. Klassen aus den Workflow-, Formular- und XPRESS-Programmen nicht enthalten, da der Profiler beim Profiling von Java- und Identity Manager-Objekten unverständliche Ausgaben generieren würde.

Bitte beachten Sie, dass Java-Filter eine erheblich feinere Filtergranularität als IDM-Objektfilter bieten. Java-Instrumentierungen verlangsamen die Ausführungszeit erheblich, was bei den Profiling-Ergebnissen zu drastischen Abweichungen führen kann. Da Identity Manager-Objekte interpretiert und nicht compiliert werden, ist der Einfluss der Instrumentierung auf die Ausführungszeit vernachlässigbar. So gibt es beispielsweise keinen Grund, Workflow A auszuschließen und Workflow B einzubeziehen usw.


Hinweis

Sie können Java-Filter nicht ändern, während das Profiling läuft. Wenn Sie die Java-Filter ändern möchten, muss der Profiler angehalten werden.


Miscellaneous

Die Registerkarte „Miscellaneous“ enthält folgende Optionen:

Arbeiten mit der IDM-Profileransicht

Die IDM-Profileransicht ( ) enthält die folgenden Bereiche:

Abbildung 2 IDM-Profileransicht

Abbildung: IDM-Profileransicht im NetBeans-Fenster

Bereich „Current Project“

Der Bereich „Current Project“ besteht aus einem Dropdown-Menü, indem alle aktuellen Projekte aufgeführt sind. In diesem Menü wählen Sie das Projekt aus, für das ein Profiling durchgeführt werden soll.

Bereich „Controls“

Der Bereich „Controls“ enthält vier Symbole:

Tabelle 4 Symbole des Bereiches „Controls“

Symbol

Zweck

Symbol „Start Identity Manager Profiler“

Start Identity Manager Profiler

Startet den Profiler und öffnet das Dialogfeld „Profiler Options“.

Symbol „Stop Identity Manager Profiler“

Stop Identity Manager Profiler

Stoppt den Profiler.

Abbildung: Symbol „Reset Collected Results“

Reset Collected Results

Löscht alle bis hierhin erfassten Profiling-Ergebnisse.

Symbol „Modify Profiling“

Modify Profiling

Öffnet das Dialogfeld „Profiler Options“ erneut, sodass Sie an den Einstellungen Änderungen vornehmen können.

Bereich „Status“

Im Bereich „Status“ wird gemeldet, ob der Profiler mit dem Host eine Verbindung herstellen konnte, und es werden Informationen zum Starten, Laufen und Stoppen des Profilers angezeigt.

Bereich „Profiling Results“

Der Bereich „Profiling Results“ enthält zwei Symbole:

Tabelle 5 Symbole des Bereichs „Profiling Results“

Symbol

Zweck

Symbol „Take Snapshot“

Start Identity Manager Profiler

Startet den Profiler und öffnet das Dialogfeld „Profiler Options“.

Abbildung: Symbol „Reset Collected Results“

Reset Collected Results

Löscht alle bis hierhin erfassten Profiling-Ergebnisse.

Bereich „Saved Snapshots“

Der Bereich „Saved Snapshots“ enthält eine Liste aller gespeicherten Snapshots. Darüber hinaus dienen die folgenden Schaltflächen zum Verwalten dieser Snapshots:

Arbeiten mit der Snapshot-Ansicht

Beim Öffnen eines Snapshots werden die Ergebnisse in der Snapshot-Ansicht angezeigt. Diese befindet sich rechts oben in Identity Manager-IDE.

Abbildung 5 Snapshot-Ansicht

Abbildung: Snapshot-Ansicht mit Snapshot-Ergebnissen

Ein Snapshot bietet verschiedene Anzeigemöglichkeiten für Profiling-Daten. Diese werden in den folgenden Abschnitten beschrieben:

Ansicht der Aufrufhierarchie

Ansicht der Aufrufhierarchie ( ) - zeigt eine Hierarchieansicht mit den Aufrufzeiten und -dauern im gesamten System an.

Abbildung 6 Beispiel für die Ansicht der Aufrufhierarchie

Abbildung: Beispiel für die Ansicht der Aufrufhierarchie eines Snapshots

Diese Tabelle enthält drei Spalten:

Hotspot-Ansicht

Die Hotspot-Ansicht zeigt eine flache Knotenliste mit den aufsummierten Aufrufzeiten unabhängig von der aufrufenden Routine an.

Diese Ansicht enthält die folgenden Spalten:

Rückverfolgungsansicht

Die Rückverfolgungsansicht zeigt einen invertierten Aufrufstack mit allen Aufrufketten, von denen jeder Knoten aufgerufen wurde, an.

Mit diesen Statistikdaten können Sie nachvollziehen, wieviel Zeit Sie durch Eliminierung einer bestimmten Aufrufkette aus dem betreffenden Knoten einsparen würden.

Sie können die Rückverfolgungsansicht von allen anderen Snapshot-Ansichten aufrufen, indem Sie mit der rechten Maustaste auf einen Knoten klicken (der dann in der Rückverfolgungsansicht zum sog. Root-Knoten wird) und aus dem Kontextmenü die Option „Show Back Traces“ auswählen.


Hinweis

In der Rückverfolgungsansicht haben die Werte in den Spalten „Time“ und „Invocations“ eine andere Bedeutung:

  • Time: Die Werte in dieser Spalte geben die Zeit an, die im Root-Knoten verbracht wurde, wenn dieser von einer bestimmten Aufrufkette aufgerufen wird.
  • Invocations: Die Werte in dieser Spalte geben an, wieviel mal der Root-Knoten von einer bestimmten Aufrufkette aus aufgerufen wurde.

Ansicht der aufgerufenen Routinen

Die Ansicht der aufgerufenen Routinen zeigt eine Gesamtaufrufhierarchie für einen Knoten (den sog. Root-Knoten) unabhängig von dessen aufrufender Kette an.

Diese Statistikdaten sind bei Problembereichen nützlich, die innerhalb der Masterhierarchie von vielen Routinen aufgerufen werden, und wo Sie sich das Gesamtprofil des betreffenden Knotens ansehen möchten.

Sie können die Ansicht der aufgerufenen Routinen von allen anderen Snapshot-Ansichten aufrufen, indem Sie mit der rechten Maustaste auf einen Knoten klicken (der dann in der Rückverfolgungsansicht zum sog. Root-Knoten wird) und aus dem Kontextmenü die Option „Show Callees“ auswählen.


Hinweis

In der Ansicht der aufgerufenen Routinen haben die Werte in den Spalten „Time“ und „Invocations“ die gleiche Bedeutung wie bei der Ansicht der Aufrufhierarchie.


Arbeiten mit Kontextmenüoptionen

Klicken Sie in der Ansicht der Aufrufhierarchie bzw. in der Hotspot-Ansicht mit der rechten Maustaste auf einen beliebigen Knoten. Es wird ein Kontextmenü mit den in beschriebenen Optionen angezeigt:

Tabelle  7 Kontextmenüoptionen des Profilers 

Menüoption

Beschreibung

GoTo Source

Wählen Sie diese Option zur Anzeige des XML-Quellcodes für einen Knoten, der einer Java-Methode, einem Workflow, Formular, einer Regel oder einem XPRESS-Objekt entspricht. Ausführliche Informationen zu dieser Ansicht finden Sie unter Wie findet und verwaltet der Profiler Quellcode?.

Show Back Traces

Wählen Sie diese Option, um zur Rückverfolgungsansicht zu schalten. Ausführliche Informationen zu dieser Ansicht finden Sie unter Rückverfolgungsansicht.

Show Callees

Wählen Sie diese Option, um zur Ansicht der aufgerufenen Routinen zu schalten. Ausführliche Informationen zu dieser Ansicht finden Sie unter Ansicht der aufgerufenen Routinen.

Find In Hotspots

Wählen Sie diese Option, um in der Hotspot-Ansicht einen Knoten zu suchen. Ausführliche Informationen zu dieser Ansicht finden Sie unter Hotspot-Ansicht.

List Options > Sort >

Wählen Sie diese Option, um den Sortiermodus festzulegen. Sortierung nach:

  • keine
  • Aufrufhierarchie
  • Uhrzeit
  • Aufrufen
  • aufsteigend
  • Absteigend

List Options > Change Visible Columns

Wählen Sie diese Option, um die angezeigten Tabellenspalten in der Ansicht der Aufrufhierarchie bzw. Hotspot-Ansicht zu ändern.

Im Dialogfeld „Change Visible Columns“ können Sie eine oder mehrere der folgenden Optionen festlegen:

  • Call Tree: Call Tree
  • Invocations: Invocations
  • Time: Time

Suchen eines Snapshots

Mit dem Suchsymbol am oberen Rand der Snapshot-Ansicht können Sie in der Ansicht der Aufrufhierarchie bzw. der Hotspot-Ansicht Knoten nach Namen suchen.

Alternativ dazu können Sie in der Ansicht der Aufrufhierarchie bzw. in der Hotspot-Ansicht mit der rechten Maustaste auf einen beliebigen Knoten klicken und aus dem angezeigten Kontextmenü die Option „Find in Call Tree“ bzw. „Find in Hotspots“ auswählen.

Speichern eines Snapshots

Der Profiler bietet mehrere Möglichkeiten zum Speichern eines Snapshots. In finden Sie eine Beschreibung dieser Optionen:

Tabelle  8 Speichersymbole

Symbol

Zweck

Symbol „Take Snapshot“

Symbol „Save the Snapshot in the Project“ (am oberen Rand der Snapshot-Ansicht)

Speichert den Snapshot im Verzeichnis nbproject/private/idm-profiler Ihres Projekts. Die im Projekt gespeicherten Snapshots werden im Bereich „Saved Snapshots“ der Profiler-Ansicht angezeigt.

Abbildung: Symbol „Reset Collected Results“

Symbol „Save the Snapshot Externally“ (am oberen Rand der Snapshot-Ansicht)

Speichert den Snapshot in einem beliebigen externen Verzeichnis.

Abbildung: Schaltfläche „Save As“ im Bereich „Saved Snapshots“

Schaltfläche „Save As“ (im Bereich „Saved Snapshots“)

Speichert den Snapshot in einem beliebigen externen Verzeichnis.

Tutorium: Beheben von Leistungsproblemen

Identity Manager enthält ein Tutorium (profiler-tutorial.zip), mit dem Sie lernen können, wie Sie den Profiler zur Problembehebung bei Formularen, Java-Objekten, Regeln, Workflows und XPRESS-Objekten nutzen.

Schritt 1: Erstellen eines Identity Manager-Projekts

Führen Sie die folgenden Schritte aus, um ein Identity Manager-Projekt zu erstellen:

  1. Wählen Sie „File > New Project“.
  2. Geben Sie Folgendes an, wenn der Assistent zum Erstellen neuer Projekte angezeigt wird, und klicken Sie dann auf „Weiter“:
    1. Wählen Sie aus der Liste „Categories“ den Eintrag „Web“, um festzulegen, welchen Projekttyp Sie erstellen wollen.
    2. Wählen Sie aus der Projektliste den Eintrag „Identity Manager Project“.

    3. Hinweis

      Wenn Sie eine Entwicklungsumgebung mit vollem Leistungsumfang erhalten möchten, müssen Sie ein reguläres Identity Manager-Projekt erstellen. Wählen Sie nicht die Option „Identity Manager Project (Remote)“ aus.


  3. Füllen Sie im Fenster „Name and Location“ die folgenden Felder aus und klicken Sie dann auf „Weiter“.
    • Project Name: Geben Sie als Projektnamen Idm711 ein.
    • Project Location: Übernehmen Sie das Standardverzeichnis oder geben Sie ein anderes Verzeichnis an.
    • Project Folder: Übernehmen Sie den Standardordner oder geben Sie einen anderen Ordner an.
  4. Geben Sie den Ort der war-Datei von Identity Manager 7.1 Update 1ein, wenn das Dialogfeld „Identity Manager WAR File Location“ angezeigt wird. Diese Datei befindet sich normalerweise im Verzeichnis waveset\images.

  5. Hinweis

    Gegenwärtig unterstützt nur Version 7.1 Update 1 von Identity Manager das Profiling.


  6. Klicken Sie auf „Weiter“. Das Fenster „Repository Setup“ wird angezeigt.
  7. Sie brauchen die Standardeinstellungen in diesem Fenster nicht zu ändern. Klicken Sie auf „Fertigstellen“. Wenn im Ausgabefenster von von Identity Manager-IDE die Meldung BUILD SUCCESSFUL angezeigt wird, können Sie die Dateien des Profiler-Tutoriums extrahieren. Anweisungen dazu finden Sie unter Schritt 2: Entpacken des Profiler-Tutoriums.

Schritt 2: Entpacken des Profiler-Tutoriums

Entpacken Sie die Datei profiler-tutorial.zip in das Projekt-Wurzelverzeichnis. Es werden folgende Dateien extrahiert:

Projekt-Wurzelverzeichnis/custom/WEB-INF/config/ProfilerTutorial1.xml

Projekt-Wurzelverzeichnis/custom/WEB-INF/config/ProfilerTutorial2.xml

Projekt-Wurzelverzeichnis/src/org/example/ProfilerTutorialExample.java

Projekt-Wurzelverzeichnis/PROFILER_TUTORIAL_README.txt

Sie können jetzt den Profiler starten.

Schritt 3: Starten des Profilers

So starten Sie den Profiler:

  1. Erhöhen Sie mithilfe der Anleitung unter Vorbereitung die Speicherressourcen für den Server und die Netbeans-JVM.
  2. Starten Sie den Profiler mit einer der beiden unter Übersicht beschriebenen Möglichkeiten.
  3. Wenn das Dialogfeld „Profiler Options“ ( ) angezeigt wird, können Sie Optionen für das Profiling eingeben.
  4. Abbildung 9 Dialogfeld „Profiler Options“

Schritt 4: Festlegen von Optionen für das Profiling


Hinweis

Weitere Informationen zu den verschiedenen Profiler-Optionen finden Sie unter Festlegen von Optionen für das Profiling.


Für dieses Turorium sollten Sie die folgenden Profiler-Optionen eingeben:

  1. Wählen Sie in der Registerkarte „Mode“ die Option „Java and IDM Objects“, um das Profiling für Fomrulare, Regeln, Workflows, Java- und XPRESS-Objekte durchzuführen.
  2. Klicken Sie auf die Registerkarte „Java Filters“.
  3. Gehen Sie wie folgt vor, um alle Java-Klassen von Identity Manager außer Ihre benutzerspezifischen Java-Klassen (in diesem Fall org.example.ProfilerTutorialExample) zu deaktivieren:

    1. Klicken Sie auf „New “. Ein neues leeres Feld erscheint am Ende der Filterspalte.
    2. Geben Sie in das neue Feld com.waveset.* ein und markieren Sie dann das Kontrollkästchen „Exclude“.
    3. Klicken Sie erneut auf „New“.
    4. Geben Sie in das neue Feld com.sun.idm.* ein und markieren Sie dann das Kontrollkästchen „Exclude“.
  4. Klicken Sie auf „OK“, um den Profiler auszuführen.

  5. Hinweis

    Der Profiler benötigt einige Minuten zur Abarbeitung, wenn er zum ersten Mal nach einer Clean Project-Aktion an einem Projekt ausgeführt wird.


    Nach Abschluss des Profiling werden Sie aufgefordert, sich anzumelden.

  6. Geben Sie das Passwort configurator ein, markieren Sie das Kontrollkästchen „Passwort speichern“ und klicken Sie anschließend auf „OK“, um fortzufahren.
  7. Melden Sie sich an, wenn das Identity Manager-Fenster angezeigt wird.

  8. Hinweis

    Normalerweise sollten Sie sich in Identity Manager als ein anderer Benutzer statt nochmals als configurator anmelden. Sie im Profiler bereits als „configurator“ angemeldet, und das Sitzungspool von Identity Manager erlaubt nur einen Eintrag pro Benutzer. Mehrere Benutzereinträge können die Funktion des Sitzungspools beeinträchtigen und die feiner abgestimmte Suche nach Leistungsproblemen erschweren.

    In diesem einfachen Beispiel hat dies jedoch keine Auswirkungen, sodass Sie sich als configurator/configurator anmelden können.


  9. Wählen Sie in Identity Manager „Serveraufgaben > Aufgaben ausführen“, und klicken Sie dann auf „ProfilerTutorialWorkflow1“.
  10. Es kann sein, dass es einige Augenblicke dauert, bis das Tutorium reagiert.

  11. Obwohl Sie jetzt schon einen Snapshot erstellen können, sollten Sie zunächst die Profiling-Ergebnisse löschen, den Profiler starten, ihn nochmals ausführen und dann erst einen Snapshot erstellen.

  12. Hinweis

    Am Besten ist es, den Profiler vor dem Erstellen eines Snapshots einige Male auszuführen, damit Sie sicherstellen können, dass alle Cache-Speicher vorbereitet und alle JSPs compiliert sind usw.

    Durch mehrmalige Ausführung des Profilers können Sie sich auf die eigentlichen Leistungsprobleme konzentrieren. Die einzige Ausnahme von dieser Regel besteht dann, wenn beim Füllen des Cache-Speichers selbst Probleme auftreten.


    1. Gehen Sie zur IDM-Profileransicht in der Identity Manager-IDE zurück. Klicken Sie auf das Symbol „Reset Collected Results“ Abbildung: Symbol „Reset Collected Results“ im Abschnitt „Profiling Results“ (oder „Controls“), um alle bisher erfassten Profiling-Ergebnisse zu löschen.
    2. Wählen Sie in Identity Manager erneut „Serveraufgaben > Aufgaben ausführen“, und klicken Sie dann auf „ProfilerTutorialWorkflow1“.
    3. Wenn das Prozessdiagram angezeigt wird, sollten Sie zur Identity Manager-IDE zurückgehen und im Abschnitt „Profiling Results“ auf „Take Snapshot“ klicken.
    4. Abbildung 10

  13. Die Identity Manager-IDE lädt die Snapshots und zeigt die Ergebnisse in der rechten Fensterhälfte an.
  14. Abbildung 11 Ergebnisse in der Ansicht der Aufrufhierarchie

    Dieser Bereich wird als Ansicht der Aufrufhierarchie bezeichnet. In der obersten Ebene der Aufrufhierarchie sollte /idm/task/taskLaunch.jsp zusammen mit einer Zeitdauer in der Spalte „Time“ erscheinen. Die Zeit sollte zeigen, dass der gesamte Vorgang sechs+ Sekunden dauerte.

  15. Klappen Sie den Knoten /idm/task/taskLaunch.jsp auf, und jetzt sehen Sie, dass ProfilerTutorialWorkflow1 sechs Sekunden dauerte.
  16. Klappen Sie den Knoten ProfilerTutorialWorkflow1 auf. Beachten Sie, dass activity2 vier Sekunden und activity1 zwei Sekunden dauerte.
  17. Klappen Sie activity2 auf.
  18. Beachten Sie, dass action1 zwei Sekunden und action2 zwei Sekunden dauerte.

  19. Klappen Sie action1 auf. Sie sehen, dass der Aufruf (<invoke>) ebenfalls zwei Sekunden dauerte.
  20. Doppelklicken Sie auf <invoke>, um ProfilerTutorialWorkflow1.xml zu öffnen, und markieren Sie die folgende Zeile:
  21. <invoke name='example' class='org.example.ProfilerTutorialExample'/>

    Sie sollten sehen, dass der Aufruf der Methode ProfilerTutorialExample zwei Sekunden dauerte.


    Hinweis

    Statt des Quellcodes im Projekt schauen Sie sich durch den Snapshot erfassten XML-Code an. Snapshots vollkommen unabhängig (weitere Informationen dazu finden Sie unter Wie findet und verwaltet der Profiler Quellcode?).


  22. Klicken Sie auf die Registerkarte „CPU:<Datum><Zeit>“, um zum Snapshot zurückzukehren.
  23. Klappen Sie den <invoke>-Knoten auf. Sie sehen, dass der Profiler zwei Sekunden in der Java-Methode ProfilerTutorialExample.example() verbracht hat.
  24. Doppelklicken Sie auf den Methodennamen, um den Quellcode (ProfilerTutorialExample.java) zu öffnen, und markieren Sie die folgende Zeile:
  25. Thread.sleep(2000);

    Das ist das Problem! Diese Methode enthält einen 2 Sekunden dauernden Sleep-Thread.

  26. Wenn Sie zur Ansicht der Aufrufhierarchie zurückkehren, sehen Sie, dass alle 2 s-Pfade zu dieser Methode führen. Es sollten isg. drei Pfade mit einer Gesamtdauer von sechs Sekunden zu sehen sein.
  27. Klicken Sie auf die Registerkarte „Hotspots“ am unteren Rand der Aufrufhierarchie, um die Hotspot-Ansicht zu öffnen. Sie sehen, dass die Methode ProfilerTutorialExample.example() insgesamt sechs Sekunden zur Ausführung benötigte.
  28. Weitere Informationen zu Hotspots finden Sie unter Hotspot-Ansicht.

  29. Klicken Sie mit der rechten Maustaste auf ProfilerTutorialExample.example() und wählen Sie aus dem Kontextmenü die Option „Show Back Traces“.
  30. Im unteren Bereich wird eine neue Registerkarte namens „Back Traces“ angezeigt.

  31. Klappen Sie den Knoten ProfilerTutorialExample.example() in der Registerkarte „Back Traces“ auf. Sie sehen, dass diese Methode was called von drei verschiedenen Routinen aufgerufen wurde und jede Ausführung zwei Sekunden dauerte.
  32. Weitere Informationen zu Rückverfolgungen finden Sie unter Rückverfolgungsansicht.

  33. Klicken Sie auf das Symbol„Save the snapshot in the project“,Abbildung: Symbol „Save the snapshot in the project“ um den Snapshot zu speichern, und schließen Sie ihn.
  34. Im Abschnitt „Saved Snapshots“ der Registerkarte „IDM Profiler“ sollte der gespeicherte Snapshot jetzt aufgeführt sein. Es kann sein, dass Sie bei längeren Listen einen Bildlauf nach unten durchführen müssen, um ihn zu sehen.

    Abbildung 12 Liste gespeicherter Snapshots
    Abbildung: Bereich „Saved Snapshots“ mit dem von Ihnen gespeicherten Snapshot

  35. Markieren Sie den gespeicherten Snapshot und klicken Sie dann auf „Open“, um ihn wieder zu öffnen.

  36. Hinweis

    Mithilfe der Schaltfläche „Save As“ können Sie Snapshots extern speichern. Mithilfe der Schaltfläche „Load“ laden Sie einen Snapshot von außerhalb eines Projekts.


  37. Schließen Sie den Snapshot wieder.

Verwenden des Profilers für die Workflow-Aktion „ManualAction“

Der nächste Abschnitt dieses Tutoriums befasst sich mit dem Profiling einer „ManualAction“ eines Workflows.

  1. Wählen Sie in Identity Manager „Serveraufgaben > Aufgaben ausführen“, und klicken Sie dann auf „ProfilerTutorialWorkflow2“.
  2. Nach einigen Sekunden wird ein leeres Formular angezeigt.

  3. Klicken Sie auf „Speichern“. Das Prozessdiagramm wird angezeigt.
  4. Klicken Sie erneut auf „Serveraufgaben > Aufgaben ausführen“.
  5. Gehen Sie zur IDM-Profileransicht von Identity Manager-IDE zurück und klicken Sie im Abschnitt „Profiling Results“ auf „Reset Collected Results“.
  6. Klicken Sie jetzt in Identity Manager auf ProfilerTutorialWorkflow2.
  7. Klicken Sie auf „Speichern“, wenn das leere Formular erneut angezeigt wird.
  8. Klicken Sie in der IDM-Profileransicht auf „Take Snapshot“.
  9. Nach einigen Sekunden wird in der Aufrufhierarchie ein Snapshot angezeigt. Sie sehen, dass /idm/task/workItemEdit.jsp zur Ausführung ca. sechs Sekunden benötigte. Dieses Ergebnis entspricht dem der manuellen Aktion im Workflow.

  10. Klappen Sie den Knoten /idm/task/workItemEdit.jsp auf. Sie sehen, dass die Ausführung aller Ableitungen im Formular ManualAction sechs Sekunden dauerte.
  11. Klappen Sie die Knoten Derivation, displayNameForm, variables.dummy und <block> auf.
  12. Abbildung 13 Snapshot-Ergebnisse von ProfilerTutorialWorkflow2
    Abbildung: Snapshot-Ergebnisse von ProfilerTutorialWorkflow2 in der Ansicht der Aufrufhierarchie

    Sie sehen, dass der <block>-Knoten zur Ausführung sechs Sekunden benötigte und der Profiler in jedem Aufruf derMethode ProfilerTutorialExample.example() zwei Sekunden verbracht hat.

  13. Sie können auf <block>doppelklicken, um den Quellcode zu sehen.
  14. Die folgenden Informationen sind als „Häufig gestellte Fragen“ an Kapitel 1, „Using the Identity Manager IDE“, anzuhängen. (ID-16739)

Identity Manager-IDE Häufig gestellte Fragen

Hier werden einige häufig gestellte Fragen in Bezug zur Integrierte Identity Manager-Entwicklungsumgebung (Identity Manager-IDE) beantwortet. Diese Informationen sind in die folgenden Kategorien unterteilt:

Arbeiten mit NetBeans

F: Welche Netbeans-Version sollte ich verwenden?

A: Verwenden Sie die Netbeans-Version, die in der Identity Manager-Produktdokumentation für die Version des von Ihnen verwendeten Netbeans-Plugins angegeben ist.


Hinweis

Sie sollten stets genau die gleiche Version verwenden, die in der Dokumentation angegeben ist, da auch Patch-Releases die Funktionalität beeinträchtigen können.


F: Das Netbeans-Plugin funktionierte, ich habe Änderungen vorgenommen, und jetzt funktioniert es nicht mehr. Was könnte die Ursache sein?

A: Solche Probleme werden im Allgemeinen von beschädigten Dateien im Verzeichnis .netbeans verursacht. Durch Löschen des Verzeichnisses .netbeans und Neuinstallation des NetBeans-Plugins wird dieses Problem normalerweise beseitigt. (Durch Löschen Sie des Verzeichnisses .netbeans wird das NetBeans-Plugin praktisch deinstalliert. Sie verlieren zwar alle Ihre benutzerspezifischen Einstellungen, Projekte sind jedoch sicher und werden nicht gelöscht.)

Gehen Sie dazu wie folgt vor:

  1. Beenden Sie NetBeans.
  2. Löschen Sie das Verzeichnis „.netbeans“.
  3. Starten Sie NetBeans.
  4. Installieren Sie das NetBeans-Plugin.
  5. Starten Sie NetBeans neu.

Arbeiten mit Projekten

F: Das Erstellen und Ausführen eines Projekts dauert sehr lange, und die Identity Manager-IDE scheint viele Dateien zu kopieren. Was könnte die Ursache sein?

A: Dieses Problem kann unter folgenden Bedingungen auftreten:

F: Welche Dateien sollten nach der Erstellung eines Identity Manager-Projekts in ein Quellcodeverwaltungssystem eingecheckt werden?

A: Weitere Informationen dazu finden Sie im Abschnitt „CVS Best Practices“ in der Datei README.txt der Identity Manager-IDE.

F: Wie verwende ich die CVS-Funktionen zur Projektverwaltung optimal?

A: See the „CVS Best Practices“ section in the Identity Manager-IDE README.txt for information.

F: Wann werden Objekte in das Repository importiert?

A: Informationen dazu finden Sie unter Arbeiten mit dem Repository.

F: Wie füge ich zu einem Projekt eine neue JAR-Datei hinzu?

A: Weitere Informationen dazu finden Sie im Abschnitt „How to add a new JAR dependency“ in der Datei README.txt der Identity Manager-IDE.

Arbeiten mit dem Repository

F: Welches Repository sollte ich für ein Sandbox-Repository verwenden?

A: Verwenden Sie für eine Sandbox ein eingebettetes Repository. Dies gilt insbesondere dann, wenn Sie Identity Manager 7.1 (oder höher) verwenden, da diese Version ein HsSQL-Repository besitzt. Wenn Sie kein eingebettetes Repository verwenden, verlieren Sie Funktionalität.

Weitere Informationen dazu finden Sie im Abschnitt „Working with the Repository“ in der Datei README.txt der Identity Manager-IDE.

F: Wann werden Objekte automatisch importiert?

A: Die Identity Manager-IDE muss zum automatischen Import von Objekten speziell konfiguriert werden.

Gehen Sie dazu wie folgt vor:

  1. Wählen Sie aus dem IDM-Menü die Option „Repository > Manage Embedded Repository“.
  2. Aktivieren Sie im Dialogfeld „Manage Embedded Repository“ die Option „Automatically Publish Identity Manager Objects“.

  3. Hinweis

    Diese Option ist nicht bei Identity Manager-Fernprojekten und bei der Nutzung eines eigenen Repositorys verfügbar.


  4. Wählen Sie „Projekt > Projekt ausführen“ bzw. „Projekt > Debug Project“.
  5. Die Identity Manager-IDE importiert automatisch alle Objekte, die seit der letzten Projektausführung geändert wurden.


    Hinweis

    Das automatische Herausgeben von Identity Manager-Objekten verlängert die Zeit, die zum Hochfahren des Servers benötigt wird. Zur Minimierung der Serverstartzeit sollten Sie diese Option deaktivieren und Objekte explizit (manuell) in das Repository laden.


F: Wie können Objekte am effektivsten geladen werden?

A: Wählen Sie eine der folgenden Vorgehensweisen, um geänderte Objekte neu zu laden:

Alle diese Methoden laden die betreffenden Objekte direkt auf den Server, sodass es keine Probleme mit Antwortzeiten des Cache-Speichers gibt und diese somit sehr viel schneller als die Optionen „Projekt ausführen“ bzw. „Debug Project“ ausgeführt werden. Die Hochladefunktion für Objekte ist bei allen Repositorys verfügbar.

Arbeiten mit dem Debugger der Identity Manager-IDE

F: Der Debugger von Identity Manager-IDE ist sehr langsam. Was könnte die Ursache sein?

A: Zur Leistungsverbesserung des Debuggers sollten Sie stets Folgendes sicherstellen:

F: Ich sehe keine Haltepunkte im Debugger. Was könnte die Ursache sein?

A: Das Setzen von Haltepunkten kann in den folgenden Situationen verhindert werden:

F: Ich habe im Debugger einen Haltepunkt gesetzt, und dieser Haltepunkt kann nicht temporär deaktiviert werden. Was könnte die Ursache sein?

A: Sie sollten zwei Dinge überprüfen:

Arbeiten mit Regeln

F: Warum steht der Designmodus bei der Entwicklung von Netbeans-Regeln nicht für Regelbibliotheken zur Verfügung?

A: Der Designmodus ist in der Explorerhierarchie der Projektansicht verfügbar. Führen Sie dazu die folgenden Schritte aus:

  1. Klappen Sie den Bibliotheksknoten auf und klicken Sie mit der rechten Maustaste auf eine Regel.
  2. Wählen Sie aus dem angezeigten Kontextmenü die Option „Eigenschaften“ aus und klicken Sie dann auf „Body“.

Kapitel 4, „Developing Adapters“


Benutzerspezifische Anpassung, Fehlerbehebung und Fehlermeldungen von Identity Manager

Dieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für Sun Java System Identity Manager Tuning, Troubleshooting, and Error Messages.

Zeitmessungen anzeigen

Auf der Seite „Zeitmessungen anzeigen“ befindet sich eine Liste mit Methoden und ihren Zeitstatistiken (nicht nach aufrufender Methode aufgeschlüsselt), mit denen Sie Engpässe in bestimmten Methoden und aufgerufenen APIs finden können.


Hinweis

Zeitstatistikdaten werden nur erfasst, wenn die Verfolgungsfunktion aktiviert ist


Mit den Optionen auf dieser Seite können Sie die Zeitmessung und Verfolgung starten und stoppen, Zeitstatistikdaten löschen und Zeitmetriken importieren und exportieren. Darüber hinaus sehen Sie durch Klicken auf eine Methode, welche anderen Methoden diese betreffende Methode aufruft.


Identity Manager Service Provider Edition Deployment

Dieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für Sun Java System Identity Manager SPE Deployment.

Kapitel 5, „Other Objects in Identity Manager SPE“

Identity Manager Identity Manager SPE unterstützt nun Link-Korrelationsregeln und Link-Bestätigungsregeln.

Link-Korrelationsregeln

Die Option linkTargets der IDMXUser-Ansicht ermöglicht dem Aufrufer, die Liste der Ressourcen anzugeben, die zum Verknüpfen herangezogen werden sollen. Beim Arbeiten mit Formularen kann die Liste als eine Formulareigenschaft mit dem gleichen Namen bereitgestellt werden. Formeigenschaften werden beim Einchecken der IDMXUser-Ansicht in die Ansichtsoptionen aufgenommen.

Die Ressourcenkonten, über die der Benutzer u. U. verfügt, werden durch eine Link-Korrelationsregel ausgewählt. Ausgehend von der Ansicht des Benutzers gibt eine Link-Korrelationsregel eine Identität, eine Liste mit Identitäten oder eine Optionszuordnung zurück.

Wird eine Optionszuordnung zurückgegeben, sucht die Ansichtsbehandlungsroutine mit Hilfe der Zuordnung nach Ressourcenkonten und erhält eine Liste mit Identitäten, die diesen Optionen entsprechen. So kann z. B. die searchFilter-Option der FormUtil-Methode getResourceObjects dazu verwendet werden, einen Suchfilter an einen LDAP-Ressourcenadapter zu übergeben.

In einer Link-Korrelationsregel muss das Attribut authType auf SPERule und subtype auf SUBTYPE_SPE_LINK_CORRELATION_RULE eingestellt sein.

Link-Bestätigungsregel

Durch eine Link-Bestätigungsregel werden alle Ressourcenkonten von der Liste der potenziellen Konten entfernt, die durch die Link-Korrelationsregel ausgewählt sind. Ausgehend von der Ansicht des Benutzers und der Liste der Kandidaten-Ressourcenkonten, wählt eine Link-Bestätigungsregel höchstens ein Ressourcenkonto von der Kandidatenliste aus. Die Ansicht des Benutzer wird unter dem Pfad 'view' angezeigt, während die Liste der Kandidaten unter dem Pfad 'candidates' verfügbar ist.

Wenn durch die Link-Korrelationsregel höchstens ein Ressourcenkonto ausgewählt wird, ist die Link-Bestätigungsregel optional.


Hinweis

Im Gegensatz zu Identity Manager-Bestätigungsregeln wird eine Link-Bestätigungsregel nur während des Verknüpfungsprozesses aufgerufen.


In einer Link-Bestätigungsregel muss das Attribut authType auf SPERule und subtype auf SUBTYPE_SPE_LINK_CONFIRMATION_RULE eingestellt sein.

LighthouseContext-API

Der SessionFactory-Klasse wurden mehrere erweiterte Methoden hinzugefügt. Die Tabelle auf Seite 16 ist wie folgt zu aktualisieren.

Verbindungstyp

Methode

Beschreibung

Local anonymous

getServerInternalContext()

Gibt einen vollständig autorisieren Kontext ohne jegliche Authentifizierung zurück

Local authenticated

getSPESession(String user, EncryptedData password)

Erstellt eine Sitzung für die Service Provider-Benutzeroberfläche.

Local authenticated

getSPESession(Map credentials)

Erstellt eine Sitzung für die Service Provider-Benutzeroberfläche. In der Zuordnungstabelle sind alle Berechtigungsnachweise des Benutzers aufgeführt, einschließlich der Werte für Benutzer- und Passwortschlüssel.

Local pre-authenticated

getSPEPreAuthenticatedSession(String user)

Erstellt eine vorauthentifizierte Sitzung für die Service Provider-Benutzeroberfläche

Remote anonymous

Nicht zutreffend

Dieser Verbindungstyp ist nur über SPML verfügbar.

Remote authenticated

getSession(URL url, String user, EncryptedData pass)

Gibt eine authentifizierte Sitzung zurück


Umfang der Lokalisierung

In Identity Manager wurden und werden Ressourcenobjekte und Funktionen nicht lokalisiert, denn es handelt sich in erster Linie um Beispiele, die während der Initialisierung von Identity Manager geladen werden (über init.xml), und zudem können die Attribute von Objekttypen in verschiedenen Bereitstellungsumgebungen beim Kunden variieren, je nachdem, wie stark die Bereitstellung angepasst wurde. Im Folgenden sind die Bereiche aufgeführt, in denen die Benutzer auf englische Ausdrücke stoßen können: (ID-16349)


helpTool verwenden

Identity Manager 6.0 enthält eine neue Funktion zum Durchsuchen der Onlinehilfe und der Hilfedateien im HTML-Format. Das Suchmodul basiert auf der SunLabs Nova-Technologie.

Die Verwendung des Nova-Suchmoduls verläuft in zwei Phasen: Indizierung und Abruf. Während der Indizierung werden die Eingabedokumente analysiert und ein Index für die Abrufphase erstellt. Während des Abrufs können „Passagen“ abgerufen werden, die aus dem Kontext bestehen, in dem die Abfragebegriffe gefunden wurden. Der Abrufprozess für die Passagen benötigt die ursprünglichen HTML-Dateien. Diese Dateien müssen sich deshalb in einem Speicherort des Dateisystems befinden, auf den das Suchmodul Zugriff hat.

helpTool ist ein Java-Programm, das zwei grundlegende Funktionen ausführt:

Sie führen helpTool folgendermaßen über die Befehlszeile aus:

$ java -jar helpTool.jar

Syntax: HelpTool

-d Zielverzeichnis

-h Diese Hilfeinformationen

-i Verzeichnis oder JAR-Datei mit Eingabedateien, keine Platzhalter

-n Verzeichnis für den Nova-Index

-o Name der Ausgabedatei

-p Eigenschaftendatei für die Indizierung

Index der Onlinehilfe neu erstellen

Die HTML-Dateien für die Onlinehilfe sind in einer JAR-Datei als Paket enthalten. Sie müssen diese Dateien in ein Verzeichnis für das Suchmodul extrahieren. Gehen Sie folgendermaßen vor:

  1. Entpacken Sie das helpTool-Paket in ein temporäres Verzeichnis. (Details werden später angegeben)
  2. In diesem Beispiel werden die Dateien in das Verzeichnis /tmp/helpTool extrahiert.

  3. Geben Sie in einer UNIX-Shell oder in einem Windows-Befehlsfenster das Verzeichnis an, in dem die Identity Manager-Anwendung Ihrem Webcontainer bereitgestellt wurde.
  4. Es kann beispielsweise folgendes Verzeichnis für Sun Java System Application Server verwendet werden:

    /opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm

  5. Verwenden Sie help/ als aktuelles Arbeitsverzeichnis.

  6. Hinweis

    Führen Sie helpTool unbedingt von diesem Verzeichnis aus, weil andernfalls der Index nicht korrekt erstellt wird. Entfernen Sie außerdem die alten Indexdateien, indem Sie den Inhalt des Verzeichnisses index/help/ löschen.


  7. Erfassen Sie folgende Informationen für Ihre Befehlszeilenargumente:
    • Zielverzeichnis: html/help/en_US

    • Hinweis

      Verwenden Sie die für Ihre Installation geeignete Gebietsschemazeichenfolge.


    • Eingabedatei: ../WEB-INF/lib/idm.jar
    • Nova-Indexverzeichnis: index/help
    • Name der Ausgabedatei: index_files_help.txt

    • Hinweis

      Dieser Dateiname ist nicht wichtig; das Tool wird jedoch beendet, falls diese Datei bereits vorhanden ist.


    • Eigenschaftendatei für die Indizierung: index/index.properties
  8. Führen Sie folgenden Befehl aus:
  9. $ java -jar /tmp/helpTool/helpTool.jar -d html/help/en_US -i ../
    WEB-INF/lib/idm.jar -n index/help -o help_files_help.txt -p index/index.properties

    Extracted 475 files.

    [15/Dec/2005:13:11:38] PM Init index/help AWord 1085803878
    [15/Dec/2005:13:11:38] PM Making meta file: index/help/MF: 0
    [15/Dec/2005:13:11:38] PM Created active file: index/help/AL
    [15/Dec/2005:13:11:40] MP Partition: 1, 475 documents, 5496 terms.
    [15/Dec/2005:13:11:40] MP Finished dumping: 1 index/help 0.266
    [15/Dec/2005:13:11:40] IS 475 documents, 6.56 MB, 2.11 s, 11166.66 MB/h
    [15/Dec/2005:13:11:40] PM Waiting for housekeeper to finish
    [15/Dec/2005:13:11:41] PM Shutdown index/help AWord 1085803878

Dokumentationsindex neu erstellen

Gehen Sie folgendermaßen vor, um den Dokumentationsindex neu zu erstellen:

  1. Entpacken Sie das helpTool-Paket in ein temporäres Verzeichnis. (Details werden später angegeben)
  2. In diesem Beispiel werden die Dateien in das Verzeichnis /tmp/helpTool extrahiert.

  3. Geben Sie in einer UNIX-Shell oder in einem Windows-Befehlsfenster das Verzeichnis an, in dem die Identity Manager-Anwendung Ihrem Webcontainer bereitgestellt wurde.
  4. Es kann beispielsweise folgendes Verzeichnis für Sun Java System Application Server verwendet werden:

    /opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm

  5. Verwenden Sie help/ als aktuelles Arbeitsverzeichnis.

  6. Hinweis

    Führen Sie helpTool unbedingt von diesem Verzeichnis aus, weil andernfalls der Index nicht korrekt erstellt wird. Entfernen Sie außerdem die alten Indexdateien, indem Sie den Inhalt des Verzeichnisses index/docs/ löschen.


  7. Erfassen Sie folgende Informationen für Ihre Befehlszeilenargumente:
    • Zielverzeichnis: html/docs
    • Eingabedateien: ../doc/HTML/en_US

    • Hinweis

      Das Tool kopiert das Verzeichnis en_US/ und dessen Unterverzeichnisse in dieses Ziel.


    • Nova-Indexverzeichnis: index/docs
    • Name der Ausgabedatei: index_files_docs.txt

    • Hinweis

      Dieser Dateiname ist nicht wichtig, das Tool wird jedoch beendet, falls diese Datei bereits vorhanden ist.


    • Eigenschaftendatei für die Indizierung: index/index.properties
  8. Führen Sie folgenden Befehl aus:
  9. $ java -jar /tmp/helpTool/helpTool.jar -d html/docs -i ../doc/HTML/en_US -n index/docs -o help_files_docs.txt -p index/index.properties

    Copied 84 files.

    Copied 105 files.

    Copied 1 files.

    Copied 15 files.

    Copied 1 files.

    Copied 58 files.

    Copied 134 files.

    Copied 156 files.

    Copied 116 files.

    Copied 136 files.

    Copied 21 files.

    Copied 37 files.

    Copied 1 files.

    Copied 13 files.

    Copied 2 files.

    Copied 19 files.

    Copied 20 files.

    Copied 52 files.

    Copied 3 files.

    Copied 14 files.

    Copied 3 files.

    Copied 3 files.

    Copied 608 files.

    [15/Dec/2005:13:24:25] PM Init index/docs AWord 1252155067

    [15/Dec/2005:13:24:25] PM Making meta file: index/docs/MF: 0

    [15/Dec/2005:13:24:25] PM Created active file: index/docs/AL

    [15/Dec/2005:13:24:28] MP Partition: 1, 192 documents, 38488 terms.

    [15/Dec/2005:13:24:29] MP Finished dumping: 1 index/docs 0.617

    [15/Dec/2005:13:24:29] IS 192 documents, 14.70 MB, 3.81 s, 13900.78 MB/h

    [15/Dec/2005:13:24:29] PM Waiting for housekeeper to finish

    [15/Dec/2005:13:24:30] PM Shutdown index/docs AWord 1252155067