WebSphere Application Server for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

UDDI レジストリー管理 (JMX) インターフェース

UDDI レジストリー管理インターフェースを使用すると、UDDI アプリケーションのランタイム構成を検査および管理できます。 UDDI ノードについての情報と活動化状態の管理、プロパティーとポリシーの更新、公開層の制限の設定、UDDI パブリッシャーの登録、および値セット・サポートの制御が可能です。

標準 JMX (Java Management Extensions) インターフェースを使用して、UDDI レジストリー管理インターフェースの操作を読み取ったり、呼び出したりすることができます。JMX の使用法は、 管理プログラム (JMX) の使用に説明されています。

個々の WebSphere UDDI レジストリー・アプリケーションは、MBean を 「UddiNode」という MBean ID で登録します。この MBean は、UDDI アプリケーションのランタイム構成の検査および管理のために、 クライアント・アプリケーションによって使用されることがあります。 これには、UDDI ノードの活動化状態と UDDI ノードに関する情報の管理、 プロパティーおよびポリシーの更新、公開層の限界設定、UDDI パブリッシャーの登録、 値セット・サポートの制御などが含まれます。

標準的な JMX インターフェースを使用すると、 UddiNode 属性および操作を読み取ったり呼び出したりすることができます。 クライアント・ユーティリティー・クラス UddiNodeProxy.java は、 UddiNode MBean に接続して使用可能なすべての操作を実行するための、既製のアプリケーションを提供します。 UddiNodeProxy を実行し、さまざまな UDDI 管理データ型の使用方法を示すクラス例も提供されています。

WebSphere Application Server の ・セキュリティーが使用可能になっている場合、 管理役割のユーザーのみが UddiNode MBean の操作を呼び出すことが できます。更新を行う操作にはアドミニストレーターまたはオペレーターの役割が必要ですが、 取得操作はアドミニストレーター、オペレーター、コンフィギュレーター、およびモニターの各役割で 実行できます。

UddiNodeProxy の使用法

コンパイルには以下の .jar ファイルが 必要です。
UddiNodeProxy クラスは、UddiNode MBean をプログラマチックに呼び出し、 使用可能な属性、操作および通知をすべて System.out に出力するユーティリティー・メソッドを提供します。 操作ごとに、戻りの型、操作名、およびパラメーター型が、操作が UddiNode MBean (および UDDI ノード) の状態を変更する方法を示すインパクト・プロパティーとともに出力されます。すべての MBean で、インパクト・プロパティーの値は次のいずれかです。
ACTION:
MBean の状態が変更されます
INFO:
MBean の状態は未変更で、情報が戻されます。
ACTION_INFO:
MBean の状態が変更され、一定の情報が戻されます。
UNKNOWN:
操作呼び出しの影響が不明です。
  1. outputMBeanInterface の呼び出し: uddiNode.outputMBeanInterface();
    予想される出力:
    java.lang.String getNodeID() [INFO] 
    (getter for attribute nodeID)
    java.lang.String getNodeState() [INFO] 
    (getter for attribute nodeState)
    java.lang.String getNodeDescription() [INFO] 
    (getter for attribute nodeDescription)
    java.lang.String getNodeApplicationName() [INFO] 
    (getter for attribute nodeApplicationName)
    void activateNode() [ACTION] 
    (activates UDDI node)
    void deactivateNode() [ACTION] 
    (deactivates UDDI node)
    void initNode() [ACTION] 
    (initializes Uddi node)
    com.ibm.uddi.v3.management.Property getProperty(java.lang.String propertyId) [INFO] 
    (returns UDDI Property)
    com.ibm.uddi.v3.management.PolicyGroup getPolicyGroup(java.lang.String policyGroupId) [INFO] 
    (returns UDDI PolicyGroup)
    com.ibm.uddi.v3.management.Policy getPolicy(java.lang.String policyId) [INFO] 
    (returns UDDI Policy)
    void updatePolicy(com.ibm.uddi.v3.management.Policy policy) [ACTION] 
    (updates UDDI Policy)
    void updateProperty(com.ibm.uddi.v3.management.ConfigurationProperty property) [ACTION] 
    (updates UDDI Property)
    void updateProperties(java.util.List properties) [ACTION] 
    (updates collection of UDDI properties)
    void updatePolicies(java.util.List policies) [ACTION] 
    (updates collection of UDDI policies)
    java.util.List getProperties() [INFO] 
    (returns the collection of UDDI properties)
    java.util.List getPolicyGroups() [INFO] 
    (returns collection of policy groups (note that the policies are not populated))
    java.util.List getValueSets() [INFO] 
    (returns collection of value set status objects)
    com.ibm.uddi.v3.management.ValueSetStatus getValueSetDetail(java.lang.String tModelKey) [INFO] 
    (returns status for a value set)
    com.ibm.uddi.v3.management.ValueSetProperty getValueSetProperty(java.lang.String tModelKey,java.lang.String valueSetPropertyId) [INFO] 
    (returns a property of a value set)
    void updateValueSet(com.ibm.uddi.v3.management.ValueSetStatus valueSet) [ACTION] 
    (updates value set status)
    void updateValueSets(java.util.List valueSets) [ACTION] 
    (updates multiple value sets)
    void loadValueSet(java.lang.String filePath,java.lang.String tModelKey) [ACTION] 
    (loads values for a value set from a UDDI registry V3/V2 taxonomy data file.)
    void loadValueSet(com.ibm.uddi.v3.management.ValueSetData valueSetData) [ACTION] 
    (loads values for a value set with the given tModel key.)
    void changeValueSetTModelKey(java.lang.String oldTModelKey,java.lang.String newTModelKey) [ACTION] 
    (replaces all occurrences of values belonging to original tModelKey to new tModelKey.)
    void unloadValueSet(java.lang.String tModelKey) [ACTION] 
    (unloads values for a value set with the given tModel key.)
    java.lang.Boolean isExistingValueSet(java.lang.String tModelKey) [INFO] 
    (Determine if Value Set data exists for the given tModel key.)
    java.util.List getTierInfos() [INFO] 
    (returns the collection of UDDI tier descriptions.)
    java.util.List getLimitInfos() [INFO] 
    (returns the collection of UDDI limit descriptions.)
    java.util.List getEntitlementInfos() [INFO] 
    (returns the collection of UDDI entitlements.)
    com.ibm.uddi.v3.management.Tier getTierDetail(java.lang.String tierId) [INFO] 
    (returns UDDI Tier detail, specifying limits to the number of entities that can be published.)
    com.ibm.uddi.v3.management.Tier createTier(com.ibm.uddi.v3.management.Tier tier) [ACTION] 
    (creates a UDDI Tier, specifying limits to the number of entities that can be published. Returns the new tier ID.)
    com.ibm.uddi.v3.management.Tier updateTier(com.ibm.uddi.v3.management.Tier tier) [ACTION] 
    (updates UDDI Tier details. Returns the updated Tier.)
    void deleteTier(java.lang.String tierId) [ACTION] 
    (deletes the UDDI Tier, if it not in use.)
    void setDefaultTier(java.lang.String tierId) [ACTION] 
    (Specifies the tier that auto registered UDDI publishers are assigned to.)
    java.lang.Integer getUserCount(java.lang.String tierId) [INFO] 
    (returns the number of UDDI publisher within the specified tier.)
    com.ibm.uddi.v3.management.TierInfo getUserTier(java.lang.String userId) [INFO] 
    (returns UDDI Tier information, specifying the tier this user belongs to.)
    com.ibm.uddi.v3.management.UddiUser getUddiUser(java.lang.String userId) [INFO] 
    (returns UDDI user details, including tier and entitlements details.)
    java.util.List getUserInfos() [INFO] 
    (returns the collection of UDDI user names and the tier they belong to.)
    void createUddiUser(com.ibm.uddi.v3.management.UddiUser user) [ACTION] 
    (creates a new UDDI user.)
    void createUddiUsers(java.util.List users) [ACTION] 
    (creates the collection of new UDDI users.)
    void updateUddiUser(com.ibm.uddi.v3.management.UddiUser user) [ACTION] 
    (updates UDDI user details.)
    void deleteUddiUser(java.lang.String userId) [ACTION] 
    (deletes UDDI publisher.)
    void assignTier(java.util.List userIds,java.lang.String tierId) [ACTION] 
    (sets the tier for a List of users.)
    notificationInfo: description=default UDDI event,descriptorType=notification,severity=(6),name=uddi.node.event
    notificationInfo: description=null,descriptorType=notification,severity=(6),name=jmx.attribute.changed
    

このセクションで取り上げる属性および操作の実例となるサンプル・コードについては、 ManageNodeInfoSample クラスを参照してください。

UDDI ノードの状態および属性の管理

UDDI ノードにはいくつかの状態があり、 UDDI アプリケーションのインストール方法 (デフォルト構成としてインストールされているか、 初期設定時に管理者が制御する構成になっているか) によって、そのいずれかの状態になります。 UddiNode MBean では、4 つの読み取り専用属性 (nodeID、nodeState、nodeDescription、 および nodeApplicationName) が提供されます。さらに、次の MBean 操作で、 UDDI ノードの状態 (activateNode、deactivateNode、および initNode) が変わります。

nodeID

ノード ID は、 UDDI ノードの固有 ID です。UDDI アプリケーションがデフォルト構成としてインストールされていると、 ノード ID は自動的に生成されます。UDDI アプリケーションが手動でセットアップされる場合は、 ノード ID は管理者によって設定されます。ノード ID は、有効な UDDI キーである必要があります。
      String nodeID = uddiNode.getNode();

      System.out.println("node ID: " + nodeId);

nodeState

nodeState 属性は、 以下の値のうちのいずれかをとることができます。
nodeState の値 状態の説明
node.state.uninitialized 初期化されていない
node.state.initialized 初期化済み
node.state.initPending 初期化保留
node.state.initInProgress 初期化進行中
node.state.initMigrationPending マイグレーション保留
node.state.initMigration マイグレーション進行中
node.state.initValueSetCreationPending 値セットの作成保留
node.state.initValueSetCreation 値セットの作成進行中
node.state.activated 活動化済み
node.state.deactivated 非活動状態
node.state.unknown 不明

デフォルト構成を使用して UDDI アプリケーションをインストールした後は、 UDDI ノードは活動化済み、すなわち UDDI API 要求の受信および処理が可能な状態にあります。 ノード ID とルート・キー・ジェネレーター、および他のいくつかのプロパティーは、 生成はされますが変更はできません。 手動でインストールした UDDI アプリケーションで UDDI のノード ID とルート・キー・ジェネレーターの値を指定する場合、 UDDI アプリケーションを開始すると UDDI ノードの状態は initPending になります。 この状態では、書き込み可能なすべての値を、initNode 操作を呼び出すポイントまで更新することができます。 initNode 操作では、基本の tModel と値セットのデータがロードされ、 すべての構成データが UDDI ノードのデータベースに書き込まれます。 初期化の時の状態は initInProgress です。初期化が完了すると、 状態は一瞬「初期化済み」に変わり、続いて「活動化済み」になります。この時点では、 deactivateNode および activateNode の MBean 操作により、状態を「活動化済み」と「非活動状態」の間でのみ切り替えることができます。

ノード状態の個々の値は、実際はメッセージ・キーであり、 messages.properties リソース・バンドルで調べることができます。 属性値は、UddiNodeProxy の getNodeState メソッドで取得できます。
  1. 次のようにして、getNodeState を呼び出します。
          String nodeStateKey = uddiNode.getNodeState();
  2. ResourceBundle から変換済みのテキストを検索し、次のように出力します。
          String messages = "com.ibm.uddi.v3.management.messages";
            
        ResourceBundle bundle = ResourceBundle.getBundle(messages, 
                                                          Locale.ENGLISH);
    
        String nodeStateText =  bundle.getString(nodeStateKey);
    
        System.out.println("node state: " + nodeStateText);
    

nodeDescription

UddiNodeProxy の getNodeDescription メソッドで、 管理者が UDDI ノードに割り当てた説明が取得できます。
  1. getNodeDescription を呼び出すと、次のように出力されます。
          String nodeDescription = uddiNode.getNodeDescription();
        System.out.println("node description: " + nodeDescription);
    

nodeApplicationName

nodeApplicationName 属性は、 UDDI ノードに対応する UDDI アプリケーションのインストール場所を見つけるのに役立ちます。 この属性の値は、セル名、ノード名、サーバー名を連結してコロンで区切ったものです。 UddiNodeProxy の getApplicationId メソッドを使用して、アプリケーションの場所を検索します。
  1. getApplicationId を呼び出すと、次のように出力されます。
          String nodeApplicationId = uddiNode.getApplicationId();
    
          System.out.println("node application location: " + 
                                                  nodeApplicationId);
    

activateNode

UDDI ノードが以前に非活動状態にされていた場合に、 その状態を活動化済みに変更します。
  1. . 次のようにして、activateNode を呼び出します。
          uddiNode.activateNode();

deactivateNode

UDDI ノードが以前に活動化済みにされていた場合に、 その状態を非活動状態に変更します。
  1. 次のようにして、deactivateNode を呼び出します。
          uddiNode.deactivateNode();

initNode

UDDI ノードを初期化します。これが完了すると、 UDDI ノードの状態は「活動化済み」になります。
  1. 次のようにして、initNode を呼び出します。
          uddiNode.initNode();

構成プロパティーの管理

UDDI ノードのランタイムの振る舞いは、 いくつかの構成プロパティーの設定で決まります。UddiNode MBean では、getProperties、getProperty、updateProperty、 updateProperties のように、それぞれの値を検査したり更新したりする操作を提供しています。

このセクションで取り上げる操作の実例となるサンプル・コードについては、ManagePropertiesSample クラスを参照してください。

getProperties

すべての構成プロパティーの集合を、 ConfigurationProperty オブジェクトとして戻します。
  1. getProperties を呼び出します。
          List properties = uddiNode.getProperties();
  2. Cast each collection member to ConfigurationProperty:
          if (properties != null) {
            for (Iterator iter = properties.iterator(); iter.hasNext();) {
                 ConfigurationProperty property =
                                  (ConfigurationProperty) iter.next();
                 System.out.println(property);
            }
         }
    
ConfigurationProperty オブジェクトが戻されれば、ID、値、型などの属性や、 そのプロパティーが読み取り専用かどうか、初期化が必要かどうかを検査して、 名前や説明のメッセージ・キーを取得することができます。例えば、 toString メソッドを呼び出すと、次のような結果が戻されます。
      ConfigurationProperty
      id: operatorNodeIDValue
      nameKey: property.name.operatorNodeIDValue
      descriptionKey: property.desc.operatorNodeIDValue
      type: java.lang.String
      value: uddi:capnscarlet:capnscarlet:server1:default
      unitsKey: 
      readOnly: true
      required: true
      usingMessageKeys: false
      validValues: none

nameKey 値 および descriptionKey 値を使用すると、サンプル・パッケージ内の messages.properties リソースから、 指定するロケール用に変換された名前と説明を検索することが できます。

getProperty

指定した ID の ConfigurationProperty オブジェクトを戻します。 有効なプロパティー ID が、それに対応するプロパティーの目的の説明とともに、 PropertyConstants で指定されます。
  1. getProperty を呼び出します。
          ConfigurationProperty property =
        uddiNode.getProperty(PropertyConstants.DATABASE_MAX_RESULT_COUNT);
    
  2. プロパティーの値を取得するには、オブジェクトを戻す getValue メソッドが使用できますが、 この場合は、プロパティーの型が整数であるため、getIntegerValue メソッドで値を取得する方が簡単です。
          int maxResults = property.getIntegerValue();

updateProperty

指定した ID の ConfigurationProperty オブジェクトの値を更新します。 有効なプロパティー ID が、それに対応するプロパティーの目的の説明とともに、 PropertyConstants で指定されます。ConfigurationProperty オブジェクトで setter メソッドを呼び出すことはできますが、 UDDI ノードでは、この値だけが更新されます。したがって、プロパティーを更新するステップは、 通常は次のようになります。
  1. ConfigurationProperty オブジェクトを作成し、その ID を設定します。
          ConfigurationProperty defaultLanguage = new ConfigurationProperty();
      defaultLanguage.setId(PropertyConstants.DEFAULT_LANGUAGE);
    
  2. 値を設定します。
          defaultLanguage.setStringValue("ja");
  3. updateProperty を呼び出します。
          uddiNode.updateProperty(defaultLanguage);

updateProperties

一度の要求で複数の ConfigurationProperty オブジェクトを更新します。 updateProperty 操作で、ConfigurationProperty オブジェクトをセットアップします。
  1. 更新済みのプロパティーをリストに追加します。
          List updatedProperties = new ArrayList();
                    
          updatedProperties.add(updatedProperty1);
          updatedProperties.add(updatedProperty2);
    
  2. updateProperties を呼び出します。
          uddiNode.updateProperties(updatedProperties);

ポリシーの管理

UDDI API の振る舞いに影響を与えるポリシーは、getPolicyGroups、 getPolicyGroup、getPolicy、updatePolicy、updatePolicies などの UddiNode 操作を使用して管理されます。

このセクションで取り上げる属性および操作の実例となるサンプル・コードについては、ManagePoliciesSample クラスを参照してください。

getPolicyGroups

すべてのポリシー・グループの集合を、 PolicyGroup オブジェクトとして戻します。
  1. getPolicyGroups を呼び出します。
          List policyGroups = uddiNode.getPolicyGroups();
  2. 各コレクション・メンバーを PolicyGroup にキャストします。
          if (policyGroups != null) {
          for (Iterator iter = policyGroups.iterator(); iter.hasNext();) {
            PolicyGroup policyGroup = (PolicyGroup) iter.next();
            System.out.println(policyGroup);
          }
        }
    

各ポリシー・グループには、 ID、名前、および説明キーがあります (これらは、サンプル・パッケージ内の messages.properties リソースで 検索できます)。PolicyGroup クラスには getPolicies メソッドが 含まれていますが、getPolicyGroups 操作で戻される PolicyGroup オブジェクトには、 どのような Policy オブジェクトも含まれていません。この振る舞いにより、 クライアントは、1 つの要求に含まれるポリシー・セット全体を検索しなくても、 既知のポリシー・グループ (およびその ID) を判別することができます。ポリシー・グループ内のポリシーを検索する場合は、getPolicyGroup 操作を使用します。

getPolicyGroup

指定した ID の PolicyGroup オブジェクトを戻します。
  1. ポリシー・グループ ID をストリングに変換します。
          String groupId = Integer.toString(PolicyConstants.REG_APIS_GROUP);
  2. getPolicyGroup を呼び出します。
          PolicyGroup policyGroup = uddiNode.getPolicyGroup(groupId);

getPolicy

指定した ID の Policy オブジェクトを戻します。 ConfigurationProperty と同様、Policy オブジェクトにも、ID、名前と説明のキー、 型、値、およびそのポリシーが読み取り専用か、ノードの初期化に必要かを指定する指標があります。
  1. ポリシー ID をストリングに変換します。
          String policyId = Integer.toString( 
                      PolicyConstants.REG_AUTHORIZATION_FOR_INQUIRY_API);
    
  2. getPolicy を呼び出します。
          Policy policy = uddiNode.getPolicy(policyId);

updatePolicy

指定した ID の Policy オブジェクトの値を更新します。 有効なポリシー ID が、それに対応するポリシーの目的説明とともに、 PolicyConstants で指定されます。Policy オブジェクトで setter メソッドを呼び出すことはできますが、 UDDI ノードでは、この値だけが更新されます。したがって、ポリシーを更新するステップは、 通常は次のようになります。
  1. Policy オブジェクトを作成し、その ID を設定します。
          Policy updatedPolicy = new Policy();
          String policyId = 
                Integer.toString(PolicyConstants.REG_SUPPORTS_UUID_KEYS); 
          updatedPolicy.setId(policyId);
    
  2. 値を設定します。
          updatedPolicy.setBooleanValue(true);
  3. updatePolicy を呼び出します。
          uddiNode.updatePolicy(updatedPolicy);

updatePolicies

一度の要求で複数の Policy オブジェクトを更新します。 updatePolicy 操作の場合と同様、Policy オブジェクトをセットアップします。
  1. 更新済みのポリシーをリストに追加します。
          List updatedPolicies = new ArrayList();
                    
          updatedPolicies.add(updatedPolicy1);
          updatedPolicies.add(updatedPolicy2);
    
  2. updatePolicies を呼び出します。
         uddiNode.updatePolicies(updatedPolicies);

層の管理

パブリッシャーが UDDI レジストリー内に保管できる UDDI エンティティーのタイプごとの数は、 層が制御します。 層には、ID、管理者が定義する名前と説明、および限界セットが、 エンティティーのタイプごとに 1 つずつあります。 層を管理する UddiNode 操作は次のとおりです。 createTier、getTierDetail、getTierInfos、getLimitInfos、setDefaultTier、updateTier、 deleteTier、および getUserCount。

このセクションで取り上げる属性および操作の実例となるサンプル・コードについては、 ManageTiersSample クラスを参照してください。

createTier

各 UDDI エンティティーに対する公開限界を指定した新しい層を作成します。
  1. TierInfo オブジェクトで層の名前と説明を設定します。
        String tierName = "Tier 100";
        String tierDescription = "A tier with all limits set to 100.";
    
        TierInfo tierInfo = new TierInfo(null, tierName, tierDescription);
    
  2. 各 UDDI エンティティーの Limit オブジェクトを定義します。
         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);
    
  3. Tier オブジェクトを作成します。
          Tier tier = new Tier(tierInfo, limits);
  4. createTier を呼び出し、作成した層を取得します。
        Tier createdTier = uddiNode.createTier(tier);
  5. 作成した層の生成済み層 ID を検査します。
        tierId = createdTier.getId();
        System.out.println("created tier has ID: " + tierId);
    

getTierDetail

指定した層 ID の Tier オブジェクトを戻します。 Tier クラスには、層 ID、層名および説明に対する getter メソッド (管理者により設定) と、 その層に割り振られた UDDI パブリッシャーが公開できる各 UDDI エンティティー・タイプの数を指定する Limit オブジェクトの集合があります。 isDefault メソッドは、その層がデフォルト層、 すなわち自動登録が使用可能になっている場合に UDDI パブリッシャーに割り振られる層であるかどうかを示します。
  1. getTierDetail を呼び出します。
         Tier tier = uddiNode.getTierDetail("2");

updateTier

提供された Tier オブジェクトで層の内容を更新します。
  1. 既存の Tier オブジェクトを更新します (このオブジェクトは新しくインスタンス化することも、 getTierDetail 操作または createTier 操作で戻すこともできます)。次の例では、 層の名前と説明、および更新される限界を除くすべての限界値が保存されます。
         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);
    
  2. updateTier を呼び出します。
         uddiNode.updateTier(modifiedTier);

getTierInfos

軽量の層記述子オブジェクト (TierInfo) の集合を戻します。 このオブジェクトには、層 ID、層の名前と説明の値、およびその層がデフォルト層かどうかという情報が含まれます。
  1. getTierInfos を呼び出します。
        List tierInfos = uddiNode.getTierInfos();
  2. 各 TierInfo の内容を出力します。
         if (tierInfos != null) {
    
           for (Iterator iter = tierInfos.iterator(); iter.hasNext();) {
              TierInfo tierInfo = (TierInfo) iter.next();
              System.out.println(tierInfo);
           }
         } 
    

setDefaultTier

任意の ID の層をデフォルト層に指定します。 デフォルト層とは、自動登録が使用可能になっている場合に UDDI パブリッシャーに割り振られる層です。 通常、これは公開限界の低い層に設定され、 ユーザーが不注意で多数のエンティティーを公開するのを防ぎます。
  1. setDefaultTier を呼び出します。
         uddiNode.setDefaultTier("4");

deleteTier

指定した ID の層を除去します。 層を除去できるのは、その層に UDDI パブリッシャーが割り当てられておらず、 その層がデフォルト層ではない場合に限られます。
  1. deleteTier を呼び出します。
         uddiNode.deleteTier("4");

getUserCount

層 ID で指定した層に割り当てられている UDDI パブリッシャーの数を戻します。
  1. getUserCount を呼び出します。
         Integer userCount = uddiNode.getUserCount("4");
         System.out.println("users in tier 4: " + userCount.intValue());
    

getLimitInfos

各タイプの UDDI エンティティーのしきい値を表す Limit オブジェクトの集合を戻します。 Limit は、Tier オブジェクト内で使用されます。
  1. getLimitInfos を呼び出します。
         List limits = uddiNode.getLimitInfos();
  2. 各 Limit オブジェクトの ID およびしきい値を出力します。
         for (Iterator iter = limits.iterator(); iter.hasNext();) {
           Limit limit = (Limit) iter.next();
    
           System.out.println("limit ID: " 
                             + limit.getId() 
                             + ", limit value: " 
                             + limit.getIntegerValue());
         }
    

UDDI パブリッシャーの管理

UDDI パブリッシャーの管理には、 UddiNode MBean 操作 (createUddiUser、createUddiUsers、updateUddiUser、 deleteUddiUser、getUddiUser、getUserInfos、getEntitlementInfos、assignTier、 getUserTier) を使用します。各操作には、UddiNodeProxy クライアント・クラスを利用する例が提供されています。

このセクションで取り上げる属性および操作の実例となるサンプル・コードについては、 ManagePublishersSample クラスを参照してください。

createUddiUser

指定した層で、 指定した資格を持つ単一の UDDI パブリッシャーを登録します。UddiUser クラスは UDDI パブリッシャーを表し、ユーザー ID、TierInfo オブジェクト (UDDI パブリッシャーの 割り振り先になる層の ID を指定します)、および Entitlement オブジェクトの集合 (UDDI パブリッシャーに許可されている操作を指定します) によって 構成されます。

ヒント: UDDI パブリッシャーにデフォルトの資格を割り振るためには、 資格のパラメーターをヌルに設定します。
  1. UddiUser オブジェクトを作成します。
          UddiUser user = new UddiUser("user1", new TierInfo("3"), null);
  2. createUddiUser を呼び出します。
          uddiNode.createUddiUser(user);

createUddiUsers

複数の UDDI パブリッシャーを登録します。 次の例では、一度の呼び出しで、 デフォルトの資格を持つ 7 つの 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

UDDI パブリッシャーを、 提供された UddiUser オブジェクト内の詳細情報で更新します。これは通常、1 つの UDDI パブリッシャーの層を変更する場合、 あるいは UDDI パブリッシャーの資格を更新する場合に使用されます。ヒント: 更新を行いたい資格のみを 指定してください。その他の使用可能な資格では、既存の値が保存されます。
  1. 適切な許可を有する Entitlement オブジェクトを作成します。資格 ID は、 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 パブリッシャー ID、 そのパブリッシャーが割り当てられる層に関する情報、およびそのパブリッシャーが有する資格が指定されます。
  1. getUddiUser を呼び出します。
          UddiUser user1 = uddiNode.getUddiUser("user1");
  2. UddiUser の内容を出力します。
          System.out.println("retrieved user: " + user1);

getUserInfos

UserInfo オブジェクトの集合を戻します。 個々の UserInfo は、UDDI ノードに既知の UDDI パブリッシャーと、 そのパブリッシャーが割り振られる層の名前を表します。特定の UDDI パブリッシャーの詳細 (層 ID や資格など) を取得するには、 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 オブジェクトを繰り返して、その 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());
          }
    

deleteUddiUser

指定したユーザー名 (ID) の UDDI パブリッシャーを、 UDDI レジストリーから除去します。
  1. deleteUddiUser を呼び出します。
          uddiNode.deleteUddiUser("user1");

assignTier

特定 ID の UDDI パブリッシャーを、 指定した層に割り当てます。これは、すべての UDDI パブリッシャーを、 エンティティーの公開を許可しない層に割り当てることにより、一部の UDDI パブリッシャーを制限する際に役に立ちます。
  1. パブリッシャー 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");
    
  2. assignTier を呼び出します。
          uddiNode.assignTier(uddiUserIds, "0");

getUserTier

UDDI パブリッシャーを割り当てる層の情報を戻します。 戻された TierInfo には getter メソッドがあり、 それによって層 ID、層名、層の説明、およびその層がデフォルトの層かどうかがわかります。
  1. getUserTier を呼び出します。
          TierInfo tierInfo = getUserTier("Publisher3");
  2. TierInfo オブジェクトの内容を出力します。
          System.out.println(tierInfo);

値セットの管理

値セットは、UDDI レジストリーで値セット tModel として表され、 UDDI タイプ keyedReference の値は「categorization」です。このような値セットは、 有効な値のセットによって元に戻されます。ユーザー定義の値セットでは、 このデータは UddiNode MBean 操作によって UDDI レジストリーにロードされます (ただし、 この目的にはユーザー定義の値セット・ツールを使用する方が便利です)。 個々の値セットは、ポリシーによってサポートまたは非サポートとして制御できます。 値セットがポリシーによってサポートされる場合は、 UDDI 公開要求内で参照できます。値セットとそのデータの管理に使用できる UddiNode 操作は次のとおりです。 getValueSets、getValueSetDetail、getValueSetProperty、updateValueSet、updateValueSets、loadValueSet、 changeValueSetTModelKey、unloadValueSet、および isExistingValueSet。

このセクションで取り上げる属性および操作の実例となるサンプル・コードについては、ManageValueSetsSample クラスを参照してください。

getValueSets

ValueSetStatus オブジェクトの集合を戻します。
  1. getValueSets を呼び出します。
          List valueSets = uddiNode.getValueSets();
  2. 各エレメントを ValueSetStatus にキャストし、内容を出力します。
          for (Iterator iter = valueSets.iterator(); iter.hasNext();) {
    
            ValueSetStatus valueSetStatus = (ValueSetStatus) iter.next();
            System.out.println(valueSetStatus);
          }
    

getValueSetDetail

指定した値セットの tModel キーに対して、 ValueSetStatus オブジェクトを戻します。
  1. getValueSetDetail を呼び出します。
          uddiNode.getValueSetDetail(
                         "uddi:uddi.org:ubr:categorization:naics:2002");
    
  2. 詳細を取得して表示します。
          String name = valueSetStatus.getName();
          String displayName = valueSetStatus.getDisplayName();
          boolean supported = valueSetStatus.isSupported();
                    
          System.out.println("name: " + name);
          System.out.println("display name: " + displayName);
          System.out.println("supported: " + supported);
    
  3. 値セットのプロパティーを表示します。
          List properties = valueSetStatus.getProperties();
                    
          for (Iterator iter = properties.iterator(); iter.hasNext();) {
          
            ValueSetProperty property = (ValueSetProperty) iter.next();
            System.out.println(property);
          }
    

getValueSetProperty

値セットのプロパティーを、 ValueSetProperty オブジェクトとして戻します。これは、主として、管理コンソールが値セットのプロパティーを 表の行としてレンダリングする際に使用されます。例えば、そのようなプロパティーの 1 つが keyedReference で、 これはその値セットが検査済みかどうかを示します。
  1. getValueSetProperty を呼び出します。
           uddiNode.getValueSetProperty(
                          "uddi:uddi.org:ubr:categorization:naics:2002", 
                          ValueSetPropertyConstants.VS_CHECKED);
    
  2. プロパティーのブール値を読み取り、表示します。
           boolean checked = valueSetProperty.getBooleanValue();
                    
           System.out.println("checked: " + checked);
    

updateValueSet

値セットの状況を更新します。更新できるのは、 サポートされている属性のみです (その他の setter メソッドはすべて、UDDI アプリケーションで使用されます)。
  1. tModel キーと更新済みのサポートされる値を指定して、ValueSetStatus オブジェクトを作成します。
          ValueSetStatus updatedStatus = new ValueSetStatus();
          updatedStatus.setTModelKey(
                         "uddi:uddi.org:ubr:categorization:naics:2002");
          updatedStatus.setSupported(true);
    
  2. updateValueSet を呼び出します。
          uddiNode.updateValueSet(updatedStatus);

updateValueSets

複数の値セットについて、値セットの状況を更新します。 updateValueSet 操作に関しては、サポートされている属性のみが更新されます。
  1. 更新済みの ValueSetStatus オブジェクトをリストに取り込みます。
           List valueSets = new ArrayList();
    
           ValueSetStatus valueSetStatus = new ValueSetStatus();
           valueSetStatus.setTModelKey(
                         "uddi:uddi.org:ubr:categorization:naics:2002");
           valueSetStatus.setSupported(false);
           valueSets.add(valueSetStatus);
    
           valueSetStatus = new ValueSetStatus();
            valueSetStatus.setTModelKey(
                          "uddi:uddi.org:ubr:categorizationgroup:wgs84");
           valueSetStatus.setSupported(false);
           valueSets.add(valueSetStatus);
    
           valueSetStatus = new ValueSetStatus();
           valueSetStatus.setTModelKey(
                          "uddi:uddi.org:ubr:identifier:iso6523:icd");
           valueSetStatus.setSupported(false);
           valueSets.add(valueSetStatus);
    
  2. updateValueSets を呼び出します。
           uddiNode.updateValueSets(valueSets);

loadValueSet

ローカル・ファイル・システム上の UDDI レジストリー V3/V2 分類法データ・ファイルから、 値セットの値をロードします。注: ValueSetData オブジェクトを取る loadValueSet 操作もありますが、 これは、ユーザー定義の値セット・ツールで使用するためのものです。
  1. loadValueSet を呼び出します。
         uddiNode.loadValueSet(
                               "/valuesets/myvalueset.txt", 
                               "uddi:cell:node:server:myValueSet");
    

changeValueSetTModelKey

1 つの値セット tModel に割り振られた値セットの値がすべて、 新規の値セット tModel に割り振られます。
  1. 新旧の tModel キーで、changeValueSetTModelKey を呼び出します。
         uddiNode.changeValueSetTModelKey(
                      "uddi:cell:node:server:myValueSet", 
                      "uddi:cell:node:server:myNewValueSet");
    

unloadValueSet

値セットの値を、 指定した tModel キーでアンロードします。
  1. unloadValueSet を呼び出します。
         uddiNode.unloadValueSet("uddi:myValueSet");

isExistingValueSet

指定した tModel キーに対して、 値セットのデータが存在するかどうかを判別します。
  1. isExistingValueSet を呼び出して、結果を表示します。
         boolean exists = uddiNode.isExistingValueSet(
                          "uddi:uddi.org:ubr:categorization:naics:2002");
         System.out.println("NAICS 2002 is a value set: " + exists);
    



関連タスク
UDDI レジストリーの使用
関連情報
UDDI レジストリー管理インターフェース
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:46:14 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.iseries.doc/info/iseries/ae/rwsu_ai.html