Gestion des diffuseurs de publications UDDI
Vous pouvez utiliser l'interface d'administration du registre UDDI pour enregistrer les diffuseurs de publications UDDI.
Gestion des diffuseurs de publications UDDI
Le bean géré UddiNode peut exécuter les actions suivantes pour contrôler les diffuseurs de publications UDDI :
- createUddiUser
- createUddiUsers
- updateUddiUser
- deleteUddiUser
- getUddiUser
- getUserInfos
- getEntitlementInfos
- assignTier
- getUserTier
Dans les modèles fournis avec WebSphere Application Server, la classe ManagePublishersSample contenue dans les modèles de registre UDDI illustre ces opérations. Un exemple de chaque opération utilisant la classe client UddiNodeProxy est mis à disposition.
- createUddiUser
- Enregistre un publieur UDDI unique, dans un niveau donné, avec des autorisations précises. La classe UddiUser représente le publieur UDDI (elle est construite avec un ID utilisateur), un objet TierInfo indiquant l'ID de niveau à attribuer au publieur et une série d'objets Entitlement qui définissent les actions que le publieur peut exécuter.Conseil : Pour attribuer des autorisations par défaut au publieur UDDI, associez la valeur null au paramètre des autorisations.
- Créez l'objet UddiUser :
UddiUser user = new UddiUser("user1", new TierInfo("3"), null);
- Pour appeler l'opération createUddiUser, procédez comme suit :
uddiNode.createUddiUser(user);
- Créez l'objet UddiUser :
- createUddiUsers
- Enregistre plusieurs publieurs UDDI. L'exemple suivant montre comment enregistrer sept diffuseurs de publications UDDI avec les droits par défaut en un seul appel.
- Créez les objets TierInfo correspondant aux niveaux affectés aux diffuseurs de publications :
TierInfo tier1 = new TierInfo("1"); TierInfo tier4 = new TierInfo("4");
- Créez des objets UddiUser pour chaque diffuseur de publications UDDI en spécifiant le niveau à lui associer :
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);
- Ajoutez les objets UddiUser à la liste :
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);
- Pour appeler l'opération createUddiUsers, procédez comme suit :
uddiNode.createUddiUsers(uddiUsers);
- Créez les objets TierInfo correspondant aux niveaux affectés aux diffuseurs de publications :
- updateUddiUser
- Met à jour un publieur UDDI avec les détails figurant dans l'objet UddiUser fourni. En général, vous utilisez cette opération pour modifier le niveau associé à un publieur UDDI ou pour mettre à jour ses autorisations.
Indiquez uniquement les droits que vous voulez mettre à jour (les autres droits disponibles conservent leurs valeurs actuelles).
- Créez des objets Entitlement avec les droits appropriés. Les ID d'autorisation se trouvent dans les objets EntitlementConstants.
Entitlement publishUuiDKeyGenerator = new Entitlement(PUBLISH_UUID_KEY_GENERATOR, true); Entitlement publishWithUuidKey = new Entitlement(PUBLISH_WITH_UUID_KEY, true);
- Ajoutez les objets Entitlement à la liste :
List entitlements = new ArrayList(); entitlements.add(publishUuiDKeyGenerator); entitlements.add(publishWithUuidKey);
- Mettez à jour un objet UddiUser avec les autorisations mises à jour :
user.setEntitlements(entitlements);
- Pour appeler l'opération updateUddiUser, procédez comme suit :
uddiNode.updateUddiUser(user);
- Créez des objets Entitlement avec les droits appropriés. Les ID d'autorisation se trouvent dans les objets EntitlementConstants.
- getUddiUser
- Extrait les détails relatifs à un publieur UDDI sous la forme d'un objet UddiUser. Cet objet indique l'ID du publieur UDDI, les informations sur le niveau associé et les autorisations qui lui sont accordées.
- Pour appeler l'opération getUddiUser, procédez comme suit :
UddiUser user1 = uddiNode.getUddiUser("user1");
- Envoyez le contenu de l'objet UddiUser vers la sortie :
System.out.println("retrieved user: " + user1);
- Pour appeler l'opération getUddiUser, procédez comme suit :
- getUserInfos
- Renvoie une série d'objets UserInfo. Chaque objet UserInfo représente un publieur UDDI connu du noeud UDDI et le nom du niveau auquel il est associé. Pour obtenir des détails sur un publieur UDDI, y compris l'ID de niveau et les autorisations, utilisez l'opération getUddiUser.
- Pour appeler l'opération getUserInfos, procédez comme suit :
List registeredUsers = uddiNode.getUserInfos();
- Envoyez les objets UserInfo vers la sortie :
System.out.println("retrieved registered users: "); System.out.println(registeredUsers);
- Pour appeler l'opération getUserInfos, procédez comme suit :
- getEntitlementInfos
- Renvoie une série d'objets Entitlement Chaque autorisation est une propriété qui détermine si le droit est accordé à un publieur UDDI pour l'exécution d'une action donnée.
- Pour appeler l'opération getEntitlementInfos, procédez comme suit :
List entitlementInfos = uddiNode.getEntitlementInfos();
- Spécification de l'emplacement des ressources de messages :
String messages = "com.ibm.uddi.v3.management.messages"; ResourceBundle bundle = ResourceBundle.getBundle(messages, Locale.ENGLISH);
- Procédez à l'itération de tous les objets Entitlement, en affichant l'ID, le nom et la description :
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("Entitlement id: "); entitlementOutput.append(entitlementId); entitlementOutput.append("\n name: "); entitlementOutput.append(entitlementName); entitlementOutput.append("\n description: "); entitlementOutput.append(entitlementDescription); System.out.println(entitlementOutput.toString()); }
- Pour appeler l'opération getEntitlementInfos, procédez comme suit :
- deleteUddiUser
- Supprime le publieur UDDI associé à l'ID utilisateur spécifié dans le registre UDDI.
- Pour appeler l'opération deleteUddiUser, procédez comme suit :
uddiNode.deleteUddiUser("user1");
- Pour appeler l'opération deleteUddiUser, procédez comme suit :
- assignTier
- Affecte le niveau indiqué aux diffuseurs de publications UDDI correspondant aux ID fournis. Cette opération permet de limiter les droits de plusieurs publieurs, en les associant par exemple tous à un niveau qui n'autorise pas la publication des entités.
- Créez une liste d'ID de publieur :
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");
- Pour appeler l'opération assignTier, procédez comme suit :
uddiNode.assignTier(uddiUserIds, "0");
- Créez une liste d'ID de publieur :
- getUserTier
- Renvoie des informations sur le niveau affecté à un publieur UDDI. L'objet TierInfo renvoyé possède des méthode d'accès get pour l'extraction de l'ID de niveau, du nom du niveau, de la description du niveau, et pour déterminer s'il s'agit du niveau par défaut.
- Pour appeler l'opération getUserTier, procédez comme suit :
TierInfo tierInfo = getUserTier("Publisher3");
- Sortie du contenu de l'objet TierInfo :
System.out.println(tierInfo);
- Pour appeler l'opération getUserTier, procédez comme suit :