Verwaltung von UDDI-Knotenschichten
Sie können die Verwaltungsschnittstelle der UDDI-Registry verwenden, um Grenzwerte für Veröffentlichungsschichten festzulegen, die die Anzahl des Typs von UDDI-Entität steuern, die ein Publisher in der UDDI-Registry speichern kann.
Eine Schicht ist durch eine ID, einen vom Administrator definierten Namen und eine Beschreibung gekennzeichnet sowie
durch eine Reihe von Begrenzungen, eine für jeden Entitätstyp. Die MBean "UddiNode" stellt die folgenden Operationen
für die Verwaltung von Schichten bereit:
- createTier
- getTierDetail
- getTierInfos
- getLimitInfos
- setDefaultTier
- updateTier
- deleteTier
- getUserCount
In den Beispielen für WebSphere Application Server veranschaulicht die Klasse "ManageTiersSample" in den UDDI-Registry-Beispielen diese Operationen.
- createTier
- Erstellt eine neue Schicht mit angegebenen Veröffentlichungsgrenzen für
jede UDDI-Entität.
- Legen Sie wie folgt den Schichtnamen und die Schichtbeschreibung in einem TierInfo-Objekt fest:
String tierName = "Tier 100"; String tierDescription = "Eine Schicht mit dem generellen Grenzwert 100."; TierInfo tierInfo = new TierInfo(null, tierName, tierDescription);
- Definieren Sie wie folgt Limit-Objekte für jede UDDI-Entität:
List limits = new ArrayList(); Limit businessLimit = new Limit(); businessLimit.setIntegerValue(100); businessLimit.setId(LimitConstants.BUSINESS_LIMIT); Limit serviceLimit = new Limit(); serviceLimit.setIntegerValue(100); serviceLimit.setId(LimitConstants.SERVICE_LIMIT); Limit bindingLimit = new Limit(); bindingLimit.setIntegerValue(100); bindingLimit.setId(LimitConstants.BINDING_LIMIT); Limit tModelLimit = new Limit(); tModelLimit.setIntegerValue(100); tModelLimit.setId(LimitConstants.TMODEL_LIMIT); Limit assertionLimit = new Limit(); assertionLimit.setIntegerValue(100); assertionLimit.setId(LimitConstants.ASSERTION_LIMIT); limits.add(businessLimit); limits.add(serviceLimit); limits.add(bindingLimit); limits.add(tModelLimit); limits.add(assertionLimit);
- Erstellen Sie das Tier-Objekt:
Tier tier = new Tier(tierInfo, limits);
- Rufen Sie die Operation "createTier" auf, und rufen Sie die erstellte Schicht ab:
Tier createdTier = uddiNode.createTier(tier);
- Überprüfen Sie die generierte Schicht-ID der erstellten Schicht:
tierId = createdTier.getId(); System.out.println("Die erstellte Schicht hat folgende ID: " + tierId);
- Legen Sie wie folgt den Schichtnamen und die Schichtbeschreibung in einem TierInfo-Objekt fest:
- getTierDetail
- Gibt das Tier-Objekt für die angegebene
Schicht-ID zurück. Die Klasse "Tier" hat Getter-Methoden für die Schicht-ID, den ,vom Administrator festgelegten Werten für) Schicht-Namen und die Schichtbeschreibung
sowie für die Limit-Objekte, die angeben, wie viele UDDI-Entitäten jedes Typs die der Schicht zugeordneten UDDI-Publisher
veröffentlichen können. Die Methode "isDefault" gibt an, ob die Schicht die Standardschicht ist und somit bei aktivierter automatischer
Registrierung UDDI-Publishern zugeordnet wird.
- Rufen Sie die Operation "getTierDetail" auf:
Tier tier = uddiNode.getTierDetail("2");
- Rufen Sie die Operation "getTierDetail" auf:
- updateTier
- Aktualisiert den Schichtinhalt mit dem angegebenen Tier-Objekt.
- Aktualisieren Sie ein vorhandenes Tier-Objekt, das neu instanziert oder von der Operation
"getTierDetail" bzw. "createTier" zurückgegeben wurde. Im folgenden Beispiel werden der Schichtname, die Schichtbeschreibung und
alle Grenzwerte mit Ausnahme des Grenzwerts beibehalten, der aktualisiert wird:
modifiedTier.setName(tier.getName()); modifiedTier.setDescription(tier.getDescription()); Limit tModelLimit = new Limit(); tModelLimit.setId(LimitConstants.TMODEL_LIMIT); tModelLimit.setIntegerValue(50); List updatedLimits = new ArrayList(); updatedLimits.add(tModelLimit); modifiedTier.setLimits(updatedLimits);
- Rufen Sie die Operation "updateTier" auf:
uddiNode.updateTier(modifiedTier);
- Aktualisieren Sie ein vorhandenes Tier-Objekt, das neu instanziert oder von der Operation
"getTierDetail" bzw. "createTier" zurückgegeben wurde. Im folgenden Beispiel werden der Schichtname, die Schichtbeschreibung und
alle Grenzwerte mit Ausnahme des Grenzwerts beibehalten, der aktualisiert wird:
- getTierInfos
- Gibt eine Sammlung einfacher Schichtdeskriptorobjekte (TierInfo) zurück, die die Schicht-ID, den Schichtnamen, die
Schichtbeschreibung und die Angabe, ob es sich bei der Schicht um die Standardschicht handelt, enthält.
- Rufen Sie die Operation "getTierInfos" auf:
List tierInfos = uddiNode.getTierInfos();
- Ausgabe des Inhalts jedes TierInfo-Objekts:
if (tierInfos != null) { for (Iterator iter = tierInfos.iterator(); iter.hasNext();) { TierInfo tierInfo = (TierInfo) iter.next(); System.out.println(tierInfo); } }
- Rufen Sie die Operation "getTierInfos" auf:
- setDefaultTier
- Gibt an, dass die Schicht mit der angegebenen Schicht-ID die Standardschicht ist.
Die Standardschicht wird UDDI-Publishern bei aktivierter automatischer
Registrierung zugeordnet. Gewöhnlich setzen Sie diese Einstellung auf eine Schicht mit niedrigen
Veröffentlichungsgrenzwerten, um gelegentliche Benutzer daran zu hindern, zu viele Entitäten zu veröffentlichen.
- Rufen Sie die Operation "setDefaultTier" auf:
uddiNode.setDefaultTier("4");
- Rufen Sie die Operation "setDefaultTier" auf:
- deleteTier
- Entfernt die Schicht mit der angegebenen Schicht-ID.
Eine Schicht kann nur entfernt werden, wenn ihr keine UDDI-Publisher zugeordnet sind und sie nicht die
Standardschicht ist.
- Rufen Sie die Operation "deleteTier" auf:
uddiNode.deleteTier("4");
- Rufen Sie die Operation "deleteTier" auf:
- getUserCount
- Gibt die Anzahl der UDDI-Publisher an, die der durch die Schicht-ID angegebenen Schicht
zugeordnet sind.
- Rufen Sie die Operation "getUserCount" auf:
Integer userCount = uddiNode.getUserCount("4"); System.out.println("Benutzer in Schicht 4: " + userCount.intValue());
- Rufen Sie die Operation "getUserCount" auf:
- getLimitInfos
- Gibt eine Sammlung mit Limit-Objekten zurück, die die Grenzwerte für jeden Typ von UDDI-Entität zurückgibt. Die Begrenzungen werden in Tier-Objekten verwendet.
getLimitInfos:
Gibt die Limit-Objekte zurück, die die Grenzwerte für jeden UDDI-Entitätstyp
zurückgeben. Die Begrenzungen werden in Tier-Objekten verwendet.
- Rufen Sie die Operation "getLimitInfos" auf:
List limits = uddiNode.getLimitInfos();
- Geben Sie wie folgt für jedes Limit-Objekt die ID und den Grenzwert aus:
for (Iterator iter = limits.iterator(); iter.hasNext();) { Limit limit = (Limit) iter.next(); System.out.println("limit ID: " + limit.getId() + ", limit value: " + limit.getIntegerValue()); }