Verwaltung von UDDI-Publishern
Sie können die Verwaltungsschnittstelle der UDDI-Registry verwenden, um UDDI-Publisher zu registrieren.
UDDI-Publisher verwalten
Die MBean "UddiNode" stellt die folgenden Operationen
für die Verwaltung von UDDI-Publishern bereit:
- createUddiUser
- createUddiUsers
- updateUddiUser
- deleteUddiUser
- getUddiUser
- getUserInfos
- getEntitlementInfos
- assignTier
- getUserTier
In den Beispielen für WebSphere Application Server veranschaulicht die Klasse "ManagePublishersSample" in den UDDI-Registry-Beispielen diese Operationen. Für jede dieser Operationen wird hier ein Beispiel angegeben, in dem die Clientklasse UddiNodeProxy verwendet wird.
- createUddiUser
- Registriert einen UDDI-Publisher in einer angegebenen Schicht mit
den angegebenen Berechtigungen. Der UDDI-Publisher wird durch die Klasse UddiUser
repräsentiert, die mit einer Benutzer-ID, einem TierInfo-Objekt für die dem UDDI-Publisher zuzuordnende Schicht-ID und Entitlement-Objekten für die Berechtigungen
des UDDI-Publishers konstruiert wird. Tipp: Wenn Sie dem UDDI-Publisher die Standardberechtigungen zuordnen möchten, setzen Sie den Berechtigungsparameter auf null.
- Erstellen Sie wie folgt das UddiUser-Objekt:
UddiUser user = new UddiUser("Benutzer1", new TierInfo("3"), null);
- Rufen Sie die Operation "createUddiUser" auf:
uddiNode.createUddiUser(user);
- Erstellen Sie wie folgt das UddiUser-Objekt:
- createUddiUsers
- Registriert mehrere UDDI-Publisher.
Das folgende Beispiel zeigt, wie sieben UDDI-Publisher mit Standardberechtigungen in einem Aufruf registriert werden.
- Erstellen Sie TierInfo-Objekte für die Schichten, denen die Publisher zugeordnet sind:
TierInfo tier1 = new TierInfo("1"); TierInfo tier4 = new TierInfo("4");
- Erstellen Sie UddiUser-Objekte für jeden UDDI-Publisher, und geben Sie die Schicht für jeden Publisher an:
UddiUser publisher1 = new UddiUser("Publisher1", tier4, null); UddiUser publisher2 = new UddiUser("Publisher2", tier4, null); UddiUser publisher3 = new UddiUser("Publisher3", tier4, null); UddiUser publisher4 = new UddiUser("Publisher4", tier1, null); UddiUser publisher5 = new UddiUser("Publisher5", tier1, null); UddiUser cts1 = new UddiUser("cts1", tier4, null); UddiUser cts2 = new UddiUser("cts2", tier4, null);
- Fügen Sie die UddiUser-Objekte wie folgt zu einer Liste hinzu:
List uddiUsers = new ArrayList(); uddiUsers.add(publisher1); uddiUsers.add(publisher2); uddiUsers.add(publisher3); uddiUsers.add(publisher4); uddiUsers.add(publisher5); uddiUsers.add(cts1); uddiUsers.add(cts2);
- Rufen Sie die Operation "createUddiUsers" auf:
uddiNode.createUddiUsers(uddiUsers);
- Erstellen Sie TierInfo-Objekte für die Schichten, denen die Publisher zugeordnet sind:
- updateUddiUser
- Aktualisiert einen UDDI-Publisher mit den Details im angegebenen
UddiUser-Objekt. Gewöhnlich verwenden Sie diese Operation, um die Schicht eines UDDI-Publishers
zu ändern oder um die Berechtigungen eines UDDI-Publishers zu aktualisieren.
Geben Sie nur die Berechtigungen an, die Sie aktualisieren möchten. Die anderen verfügbaren Berechtigungen behalten ihre Werte.
- Erstellen Sie Entitlement-Objekte mit der entsprechenden Berechtigung. Die Berechtigungs-IDs finden Sie in EntitlementConstants.
Entitlement publishUuiDKeyGenerator = new Entitlement(PUBLISH_UUID_KEY_GENERATOR, true); Entitlement publishWithUuidKey = new Entitlement(PUBLISH_WITH_UUID_KEY, true);
- Fügen Sie die Entitlement-Objekte wie folgt einer Liste hinzu:
List entitlements = new ArrayList(); entitlements.add(publishUuiDKeyGenerator); entitlements.add(publishWithUuidKey);
- Aktualisieren Sie wie folgt ein UddiUser-Objekt mit den aktualisierten Berechtigungen:
user.setEntitlements(entitlements);
- Rufen Sie die Operation "updateUddiUser" auf:
uddiNode.updateUddiUser(user);
- Erstellen Sie Entitlement-Objekte mit der entsprechenden Berechtigung. Die Berechtigungs-IDs finden Sie in EntitlementConstants.
- getUddiUser
- Ruft Details zu einem UDDI-Publisher
in Form eines UddiUser-Objekts ab. Gibt die ID des UDDI-Publishers, Informationen zur Schicht, der der UDDI-Publisher zugeordnet ist, und die Berechtigungen des UDDI-Publishers an.
- Rufen Sie die Operation "getUddiUser" auf:
UddiUser user1 = uddiNode.getUddiUser("user1");
- Geben Sie den Inhalt des UddiUser-Objekts aus:
System.out.println("retrieved user: " + user1);
- Rufen Sie die Operation "getUddiUser" auf:
- getUserInfos
- Gibt UserInfo-Objekte zurück.
Jede UserInfo-Objekt enthält einen dem UDDI-Knoten bekannten UDDI-Publisher und den Namen der Schicht, der dieser UDDI-Publisher
zugeordnet ist. Verwenden Sie die Operation "getUddiUser", wenn Sie weitere Details zu einem bestimmten UDDI-Publisher einschließlich der Schicht-ID und der Berechtigungen abrufen möchten.
- Rufen Sie die Operation "getUserInfos" auf:
List registeredUsers = uddiNode.getUserInfos();
- Geben Sie wie folgt die UserInfo-Objekte aus:
System.out.println("Abgerufene registrierte Benutzer: "); System.out.println(registeredUsers);
- Rufen Sie die Operation "getUserInfos" auf:
- getEntitlementInfos
- Gibt Entitlement-Objekte zurück.
Jede Berechtigung ist eine Eigenschaft, die steuert, ob ein UDDI-Publisher berechtigt ist, eine bestimmte Aktion
auszuführen.
- Rufen Sie die Operation "getEntitlementInfos" auf:
List entitlementInfos = uddiNode.getEntitlementInfos();
- Geben Sie wie folgt an, wo Nachrichtenressourcen zu finden sind:
String messages = "com.ibm.uddi.v3.management.messages"; ResourceBundle bundle = ResourceBundle.getBundle(messages, Locale.ENGLISH);
- Gehen Sie die Entitlement-Objekte wie folgt schrittweise durch, um die ID, den Namen und die Beschreibung anzuzeigen:
for (Iterator iter = entitlementInfos.iterator(); iter.hasNext();) { Entitlement entitlement = (Entitlement) iter.next(); StringBuffer entitlementOutput = new StringBuffer(); String entitlementId = entitlement.getId(); String entitlementName = bundle.getString(entitlement.getNameKey()); String entitlementDescription = bundle.getString(entitlement.getDescriptionKey()); entitlementOutput.append("Berechtigungs-ID: "); entitlementOutput.append(entitlementId); entitlementOutput.append("\n Name: "); entitlementOutput.append(entitlementName); entitlementOutput.append("\n Beschreibung: "); entitlementOutput.append(entitlementDescription); System.out.println(entitlementOutput.toString()); }
- Rufen Sie die Operation "getEntitlementInfos" auf:
- deleteUddiUser
- Entfernt den UDDI-Publisher mit der angegebenen Benutzer-ID aus
der UDDI-Registry.
- Rufen Sie die Operation "deleteUddiUser" auf:
uddiNode.deleteUddiUser("user1");
- Rufen Sie die Operation "deleteUddiUser" auf:
- assignTier
- Ordnet die UDDI-Publisher mit angegebenen IDs der genannten Schicht zu. Diese Operation ist hilfreich, wenn Sie
Einschränkungen für mehrere
UDDI-Publisher festlegen möchten, z. B., indem Sie alle diese Publisher einer Schicht zuordnen, in der keine Entitäten
publiziert werden dürfen.
- Erstellen Sie wie folgt eine Liste mit Publisher-IDs:
List uddiUserIds = new ArrayList(); uddiUserIds.add("Publisher1"); uddiUserIds.add("Publisher2"); uddiUserIds.add("Publisher3"); uddiUserIds.add("Publisher4"); uddiUserIds.add("Publisher5"); uddiUserIds.add("cts1"); uddiUserIds.add("cts2");
- Rufen Sie die Operation "assignTier" auf:
uddiNode.assignTier(uddiUserIds, "0");
- Erstellen Sie wie folgt eine Liste mit Publisher-IDs:
- getUserTier
- Gibt Informationen zu der Schicht zurück, der ein
UDDI-Publisher zugeordnet ist. Die zurückgegebene TierInfo enthält Getter-Methoden, mit denen die Schicht-ID, der Schichtname,
die Schichtbeschreibung und die Angabe, ob es sich um die Standardschicht handelt, abgerufen werden können.
- Rufen Sie die Operation "getUserTier" auf:
TierInfo tierInfo = getUserTier("Publisher3");
- Geben Sie wie folgt den Inhalt des TierInfo-Objekts aus:
System.out.println(tierInfo);
- Rufen Sie die Operation "getUserTier" auf: