UDDI 发布者的管理

可以使用 UDDI 注册中心管理界面来注册 UDDI 发布者。

管理 UDDI 发布者

UddiNode MBean 提供以下操作来管理 UDDI 发布者:
  • createUddiUser
  • createUddiUsers
  • updateUddiUser
  • deleteUddiUser
  • getUddiUser
  • getUserInfos
  • getEntitlementInfos
  • assignTier
  • getUserTier

WebSphere® Application Server 的样本中,UDDI 注册中心样本中的 ManagePublishersSample 类演示这些操作。为每种操作提供利用 UddiNodeProxy 客户机类的示例。

createUddiUser
用指定的资格在指定的层中注册单个 UDDI 发布者。UddiUser 类表示 UDDI 发布者,它由用户标识、TierInfo 对象(指定分配给 UDDI 发布者的层标识)和 Entitlement 对象(指定允许 UDDI 发布者执行的操作)集合所构造。
提示: 要分配 UDDI 发布者缺省的资格,请将资格参数设为空值。
  1. 创建 UddiUser 对象:
    UddiUser user = new UddiUser("user1", new TierInfo("3"), null);
  2. 调用 createUddiUser 操作:
    uddiNode.createUddiUser(user);
createUddiUsers
注册多个 UDDI 发布者。以下示例显示如何在一个调用中使用缺省资格来注册七个 UDDI 发布者。
  1. 为发布者所分配到的层创建 TierInfo 对象:
    TierInfo tier1 = new TierInfo("1");
    TierInfo tier4 = new TierInfo("4");
  2. 为每个 UDDI 发布者创建 UddiUser 对象,并为每个发布者指定层:
    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);
  3. 将 UddiUser 对象添加到列表:
    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);
  4. 调用 createUddiUsers 操作:
    uddiNode.createUddiUsers(uddiUsers);
updateUddiUser
用提供的 UddiUser 对象中的详细信息更新 UDDI 发布者。通常,使用此操作来更改一个 UDDI 发布者的层,或更新 UDDI 发布者的资格。只提供您想要更新的资格;其他可用资格会保留其现有值。
  1. 创建具有适当许可权的 Entitlement 对象。资格标识是在 EntitlementConstants 中。
    Entitlement publishUuiDKeyGenerator = 
       new Entitlement(PUBLISH_UUID_KEY_GENERATOR, true);
    Entitlement publishWithUuidKey = 
       new Entitlement(PUBLISH_WITH_UUID_KEY, true);
  2. 将 Entitlement 对象添加到列表:
    List entitlements = new ArrayList();
    entitlements.add(publishUuiDKeyGenerator);
    entitlements.add(publishWithUuidKey);
  3. 更新具有已更新资格的 UddiUser 对象:
    user.setEntitlements(entitlements);
  4. 调用 updateUddiUser 操作:
    uddiNode.updateUddiUser(user);
getUddiUser
获取关于 UDDI 发布者(UddiUser 对象形式)的详细信息。这指定 UDDI 发布者标识、UDDI 发布者所指定给的层的信息以及 UDDI 发布者的资格。
  1. 调用 getUddiUser 操作:
    UddiUser user1 = uddiNode.getUddiUser("user1");
  2. 输出 UddiUser 对象的内容:
    System.out.println("retrieved user: " + user1);
getUserInfos
返回 UserInfo 对象的集合。每个 UserInfo 对象都表示 UDDI 节点所知道的 UDDI 发布者,以及 UDDI 发布者所分配到的层。要获取特定 UDDI 发布者的更多详细信息,其中包括层标识和资格,请使用 getUddiUser 操作。
  1. 调用 getUserInfos 操作:
    List registeredUsers = uddiNode.getUserInfos();
  2. 输出 UserInfo 对象:
    System.out.println("retrieved registered users: ");
    System.out.println(registeredUsers);
getEntitlementInfos
返回 Entitlement 对象的集合。每个资格都是属性,可控制 UDDI 发布者是否有权执行指定的操作。
  1. 调用 getEntitlementInfos 操作:
    List entitlementInfos = uddiNode.getEntitlementInfos();
  2. 指定在何处查找消息资源:
    String messages = "com.ibm.uddi.v3.management.messages";
    ResourceBundle bundle = ResourceBundle.getBundle(messages, Locale.ENGLISH);
  3. 在 Entitlement 对象中进行迭代,显示标识、名称以及描述:
    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());
    }
deleteUddiUser
从 UDDI 注册中心移除具有指定用户标识的 UDDI 发布者。
  • 调用 deleteUddiUser 操作:
    uddiNode.deleteUddiUser("user1");
assignTier
将具有所提供标识的 UDDI 发布者指定给特定的层。当要限制若干 UDDI 发布者时此操作很有用,例如,将它们都指定给不允许发布任何实体的层。
  1. 创建发布者标识列表:
    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");
  2. 调用 assignTier 操作:
    uddiNode.assignTier(uddiUserIds, "0");
getUserTier
返回有关 UDDI 发布者所指定给的层的信息。返回的 TierInfo 具有 getter 方法,可获取层标识、层名、层描述以及层是否为缺省层的信息。
  1. 调用 getUserTier 操作:
    TierInfo tierInfo = getUserTier("Publisher3");
  2. 输出 TierInfo 对象的内容:
    System.out.println(tierInfo);

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsu_ai_up
文件名:rwsu_ai_up.html