Gestion des niveaux des noeuds UDDI
Vous pouvez utiliser l'interface d'administration du registre UDDI pour gérer les limites des niveaux de publication qui contrôlent le nombre d'entités UDDI de chaque type qu'un publieur peut sauvegarder dans le registre UDDI.
Un niveau est associé à un ID, une description et un nom définis par l'administrateur ainsi qu'un ensemble de limites (une pour chaque type d'entité). Le bean géré UddiNode peut exécuter les actions suivantes pour contrôler les niveaux de publication :
- createTier
- getTierDetail
- getTierInfos
- getLimitInfos
- setDefaultTier
- updateTier
- deleteTier
- getUserCount
Dans les modèles fournis avec WebSphere Application Server, la classe ManageTiersSample contenue dans les modèles de registre UDDI illustre ces opérations.
- createTier
- Crée un niveau avec les limites spécifiées pour le publieur pour chaque entité UDDI.
- Définissez la description et le nom du niveau dans un objet TierInfo :
String tierName = "Tier 100"; String tierDescription = "Niveau dont toutes les limites sont 100."; TierInfo tierInfo = new TierInfo(null, tierName, tierDescription);
- Définissez les objets Limit pour chaque entité UDDI :
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);
- Créez un objet Tier :
Tier tier = new Tier(tierInfo, limits);
- Appelez l'opération createTier et récupérez le niveau créé :
Tier createdTier = uddiNode.createTier(tier);
- Vérifiez l'ID de niveau généré pour le niveau créé :
tierId = createdTier.getId(); System.out.println("created tier has ID: " + tierId);
- Définissez la description et le nom du niveau dans un objet TierInfo :
- getTierDetail
- Renvoie l'objet Tier pour l'ID de niveau spécifié. La classe Tier possède des méthodes permettant d'obtenir l'ID de niveau, la description et le nom
du niveau (tels que définis par l'administrateur) et la liste des objets Limit qui
indiquent le nombre d'entités UDDI de chaque type que les publieurs d'un même niveau
peuvent publier. La méthode isDefault indique si le niveau est le niveau par défaut, c'est-à-dire le niveau attribué aux publieurs UDDI lorsque l'enregistrement automatique est activé.
- Pour appeler l'opération getTierDetail, procédez comme suit :
Tier tier = uddiNode.getTierDetail("2");
- Pour appeler l'opération getTierDetail, procédez comme suit :
- updateTier
- Met à jour le contenu du niveau avec l'objet Tier spécifié.
- Mettez à jour un objet Tier existant, qui vient d'être instancié ou renvoyé par les opérations getTierDetail ou createTier. L'exemple de code suivant conserve le nom et la description du niveau et toutes les valeurs des limites sauf celle de la limite explicitement mise à jour :
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);
- Pour appeler l'opération updateTier, procédez comme suit :
uddiNode.updateTier(modifiedTier);
- Mettez à jour un objet Tier existant, qui vient d'être instancié ou renvoyé par les opérations getTierDetail ou createTier. L'exemple de code suivant conserve le nom et la description du niveau et toutes les valeurs des limites sauf celle de la limite explicitement mise à jour :
- getTierInfos
- Renvoie une série d'objets descripteur de niveau simple (TierInfo) qui contiennent l'ID de niveau, la description et le nom du niveau, et qui indiquent s'il s'agit du niveau par défaut.
- Pour appeler l'opération getTierInfos, procédez comme suit :
List tierInfos = uddiNode.getTierInfos();
- Envoyez le contenu de chaque élément TierInfo vers la sortie :
if (tierInfos != null) { for (Iterator iter = tierInfos.iterator(); iter.hasNext();) { TierInfo tierInfo = (TierInfo) iter.next(); System.out.println(tierInfo); } }
- Pour appeler l'opération getTierInfos, procédez comme suit :
- setDefaultTier
- Indique si le niveau associé à l'ID de niveau donné est le niveau par défaut. Le niveau par défaut est le niveau attribué aux publieurs UDDI lorsque l'enregistrement automatique est activé. En général, il s'agit d'un niveau dont les limites de publication sont faibles pour éviter que des utilisateurs occasionnels ne publient trop d'entités.
- Pour appeler l'opération setDefaultTier, procédez comme suit :
uddiNode.setDefaultTier("4");
- Pour appeler l'opération setDefaultTier, procédez comme suit :
- deleteTier
- Supprime le niveau correspondant à l'ID de niveau donné. Un niveau ne peut être supprimé que s'il n'est associé à aucun publieur UDDI et qu'il ne s'agit pas du niveau par défaut.
- Pour appeler l'opération deleteTier, procédez comme suit :
uddiNode.deleteTier("4");
- Pour appeler l'opération deleteTier, procédez comme suit :
- getUserCount
- Renvoie le nombre de publieurs UDDI associés au niveau correspondant à l'ID de niveau.
- Pour appeler l'opération getUserCount, procédez comme suit :
Integer userCount = uddiNode.getUserCount("4"); System.out.println("users in tier 4: " + userCount.intValue());
- Pour appeler l'opération getUserCount, procédez comme suit :
- getLimitInfos
- Renvoie une série d'objets Limit représentant les valeurs des limites pour chaque type d'entité UDDI. Les limites sont utilisées dans les objets Tier.
getLimitInfos:
Renvoie une série d'objets Limit représentant les valeurs des limites pour chaque type d'entité UDDI. Les limites sont utilisées dans les objets Tier.
- Pour appeler l'opération getLimitInfos, procédez comme suit :
List limits = uddiNode.getLimitInfos();
- Sortie de l'ID et de la valeur de limite pour chaque objet Limit :
for (Iterator iter = limits.iterator(); iter.hasNext();) { Limit limit = (Limit) iter.next(); System.out.println("limit ID: " + limit.getId() + ", limit value: " + limit.getIntegerValue()); }