Service Registry 3 2005Q4 開発者ガイド

レジストリ内のオブジェクトの状態の変更

オブジェクトを Service Registry に発行したり、オブジェクトを何らかの形で変更したりするときは、オブジェクトの監査証跡に AuditableEvent オブジェクトを追加します。これらのイベントやこれらに関する情報の取得方法の詳細については、「オブジェクトの監査証跡の取得」を参照してください。「オブジェクトの監査証跡の取得」では、イベントやその作成方法について説明しています。

ほかのアクションの結果として多くのイベントが作成されます。


注 –

JAXR API を使って発行する場合、オブジェクトのバージョン管理はデフォルトで有効になります。Web コンソールを使って発行する場合、バージョン管理はデフォルトで無効になります。


オブジェクトの状態を明示的に変更することもできます。さまざまなバージョンのオブジェクトが混在しており、何らかのバージョン管理を行う必要がある本稼働環境においては、この機能が役立つ場合があります。たとえば、あるオブジェクトのバージョンを一般的に使用するものとして承認し、古いバージョンを非推奨にしてから削除する、といったことが可能です。オブジェクトを非推奨にしたあとで変更したくなったら、その非推奨を解除できます。登録ユーザーは、自分が所有するオブジェクトに対してのみ、このようなアクションを実行できます。

LifeCycleManagerImpl.approveObjects メソッドのシグニチャーは次のとおりです。

public BulkResponse approveObjects(java.util.Collection keys)
    throws JAXRException

オブジェクトを非推奨にするコードは通常、次のようになります。

String id = id_string;
Key key = lcm.createKey(id);
Collection keys = new ArrayList();
keys.add(key);

// deprecate the object
lcm.deprecateObjects(keys);

これらのアクションへのアクセスを、レジストリ管理者などの特定のユーザー、ユーザーロール、およびユーザーグループに制限することが可能です。「オブジェクトへのアクセスの制御」を参照してください。

RegistryObject の状態を変えないアクションに対しては、AuditableEvent は作成されません。たとえば、クエリーを実行しても AuditableEvent は生成されません。また、ある RegistryObjectRegistryPackage に追加したり、そのオブジェクトをソースまたはターゲットに持つ Association を作成したりしても、そのオブジェクトに対して AuditableEvent が生成されることはありません。

レジストリ内のオブジェクトの状態の変更: 例

オブジェクトの承認、非推奨、非推奨解除の例については、<INSTALL>/registry/samples/auditable-events/src にあるサンプル、 JAXRApproveObject.javaJAXRDeprecateObject.java、および JAXRUndeprecateObject.java を参照してください。各サンプルは、指定された一意の識別子を持つオブジェクトに対してアクションを実行したあと、そのオブジェクトの監査証跡を表示します。このため、ユーザーはサンプルの実行結果を確認できます。

すべてのサンプルについて、ユーザーが指定するオブジェクトはそのユーザーが作成したものである必要があります。

ProcedureJAXRApproveObjectJAXRDeprecateObject、および JAXRUndeprecateObject サンプルを実行するには

手順
  1. <INSTALL>/registry/samples/auditable-events ディレクトリに移動します。

  2. 次のコマンドを入力します。


    asant approve-obj -Did=id_string
    
  3. 次のコマンドを入力します。


    asant deprecate-obj -Did=id_string
    
  4. 次のコマンドを入力します。


    asant undeprecate-obj -Did=id_string