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 パブリッシャーを表し、ユーザー ID、TierInfo オブジェクト (UDDI パブリッシャーの
割り振り先になる層の ID を指定します)、および Entitlement オブジェクトの集合
(UDDI パブリッシャーに許可されている操作を指定します) を使用して構成されます。ヒント: UDDI パブリッシャーにデフォルトの資格を割り振るには、 資格のパラメーターをヌルに設定します。
- UddiUser オブジェクトを作成します。
UddiUser user = new UddiUser("user1", new TierInfo("3"), null);
- createUddiUser 操作を呼び出します。
uddiNode.createUddiUser(user);
- UddiUser オブジェクトを作成します。
- createUddiUsers
- 複数の UDDI パブリッシャーを登録します。
以下の例は、デフォルトの資格を持つ 7 つの UDDI パブリッシャーを 1 回の呼び出しで登録する方法を示しています。
- パブリッシャーの割り振り先の層に TierInfo オブジェクトを作成します。
TierInfo tier1 = new TierInfo("1"); TierInfo tier4 = new TierInfo("4");
- 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);
- 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);
- createUddiUsers 操作を呼び出します。
uddiNode.createUddiUsers(uddiUsers);
- パブリッシャーの割り振り先の層に TierInfo オブジェクトを作成します。
- updateUddiUser
- UDDI パブリッシャーを、
提供された UddiUser オブジェクト内の詳細情報で更新します。通常、この操作は、1 つの UDDI パブリッシャーの層を変更する場合、または UDDI パブリッシャーの資格を更新する場合に使用します。
更新する資格のみを指定してください。その他の使用可能な資格については、既存の値が保持されます。
- 適切な許可を有する Entitlement オブジェクトを作成します。資格 ID は、EntitlementConstants にあります。
Entitlement publishUuiDKeyGenerator = new Entitlement(PUBLISH_UUID_KEY_GENERATOR, true); Entitlement publishWithUuidKey = new Entitlement(PUBLISH_WITH_UUID_KEY, true);
- Entitlement オブジェクトをリストに追加します。
List entitlements = new ArrayList(); entitlements.add(publishUuiDKeyGenerator); entitlements.add(publishWithUuidKey);
- UddiUser オブジェクトを、更新済みの資格で更新します。
user.setEntitlements(entitlements);
- updateUddiUser 操作を呼び出します。
uddiNode.updateUddiUser(user);
- 適切な許可を有する Entitlement オブジェクトを作成します。資格 ID は、EntitlementConstants にあります。
- getUddiUser
- UDDI パブリッシャーの詳細を、
UddiUser オブジェクトの形式で取得します。これによって、UDDI パブリッシャー ID、UDDI パブリッシャーが割り当てられる層に関する情報、およびその UDDI パブリッシャーの資格が指定されます。
- getUddiUser 操作を呼び出します。
UddiUser user1 = uddiNode.getUddiUser("user1");
- UddiUser オブジェクトの内容を出力します。
System.out.println("retrieved user: " + user1);
- getUddiUser 操作を呼び出します。
- getUserInfos
- UserInfo オブジェクトの集合を戻します。
各 UserInfo オブジェクトは、UDDI ノードに認識されている UDDI パブリッシャーと、その UDDI パブリッシャーが割り振られる層を表します。特定の UDDI パブリッシャーの詳細 (層 ID や資格など) を取得するには、getUddiUser 操作を使用します。
- getUserInfos 操作を呼び出します。
List registeredUsers = uddiNode.getUserInfos();
- UserInfo オブジェクトを出力します。
System.out.println("retrieved registered users: "); System.out.println(registeredUsers);
- getUserInfos 操作を呼び出します。
- getEntitlementInfos
- Entitlement オブジェクトの集合を戻します。
各資格は、指定したアクションを実行する許可を UDDI パブリッシャーに与えるかどうかを制御するプロパティーです。
- getEntitlementInfos 操作を呼び出します。
List entitlementInfos = uddiNode.getEntitlementInfos();
- メッセージ・リソースを検索する場所を指定します。
String messages = "com.ibm.uddi.v3.management.messages"; ResourceBundle bundle = ResourceBundle.getBundle(messages, Locale.ENGLISH);
- Entitlement オブジェクトを繰り返して、その ID、名前、および説明を表示します。
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()); }
- getEntitlementInfos 操作を呼び出します。
- deleteUddiUser
- 指定したユーザー ID の UDDI パブリッシャーを、
UDDI レジストリーから除去します。
- deleteUddiUser 操作を呼び出します。
uddiNode.deleteUddiUser("user1");
- deleteUddiUser 操作を呼び出します。
- assignTier
- 特定 ID の UDDI パブリッシャーを、
指定した層に割り当てます。この操作は、一部の UDDI パブリッシャーを、例えば、エンティティーの公開を許可しない層に割り当てることにより、制限する際に役立ちます。
- パブリッシャー ID のリストを作成します。
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");
- assignTier 操作を呼び出します。
uddiNode.assignTier(uddiUserIds, "0");
- パブリッシャー ID のリストを作成します。
- getUserTier
- UDDI パブリッシャーを割り当てる層の情報を戻します。
戻された TierInfo には getter メソッドがあり、
それによって、層 ID、層の名前、層の説明、およびその層がデフォルトの層かどうかがわかります。
- getUserTier 操作を呼び出します。
TierInfo tierInfo = getUserTier("Publisher3");
- TierInfo オブジェクトの内容を出力します。
System.out.println(tierInfo);
- getUserTier 操作を呼び出します。