WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 オペレーティング・システム: AIX, HP-UX, Linux, Solaris, Windows

イベント・インスタンス・メタデータへのアクセス

イベント・インスタンス・メタデータへのアクセスは、Java ベースの Eclipse Modeling Framework を介して実行されます。

イベント・オブジェクトを使用する作業に必要なクラスおよびインターフェースを提供する org.eclipse.hyades.logging.events.cbe パッケージは、Eclipse Modeling Framework (EMF) を基にしています。EMF は、構造化データ・モデルを基にしたアプリケーション・コードの生成に使用される Java フレームワークで、そのデータ・モデルを記述するメタデータへのアクセスに使用可能な生成済みコード内のインターフェースも提供します。(EMF について詳しくは、http://www.eclipse.org/emf にある Eclipse Modeling Framework ドキュメンテーションを参照してください。)

これらのインターフェースを使用することで、EMF 互換ツールは、データ・モデルに関する予備知識や実装へのアクセスなしに、CommonBaseEvent イベント・データと対話することができます。 これにより、開発ツールは、データ・モデルから CommonBaseEvent モデルへデータを転送するコードを生成できるようになります。 そのため、アプリケーション開発者は、データを作成するコードではなく、データを使用するコードの作成に集中することができます。

例えば、ネットワーク・イベントをモニターし、独自のデータ・モデルを EMF で記述するイベント・ソースについて考えてみましょう。 両方のデータ・モデルにアクセスすることで、開発ツールは CommonBaseEvent データ・モデルのフィールドとともに、イベント・ソース・データ・モデルのフィールドを表示することができます。 それにより、開発者は、グラフィカル・インターフェースを使用して、イベント・ソース・モデル内のフィールドを CommonBaseEvent モデル内のフィールドにマップする方法を示すことができます。 例えば、イベント・ソース・データ・モデル内の Workstation.name というフィールドが、CommonBaseEvent データ・モデル内の CommonBaseEvent.sourceComponentId.location フィールドに対応しているとします。 どちらのデータ・モデルも標準 EMF インターフェースを使用して記述されるため、ツールはこの 2 つのモデル間のデータ転送を処理するコードを生成することができます。

以下のコード・フラグメントは、開発ツールが EMF インターフェースを使用して CommonBaseEvent データ・モデルに関する情報を照会し、その後、その情報を使用してイベント・インスタンスと対話する方法を示した単純な例です。 この例は、単純なイベント・コンシューマーの一部となる場合があります。 これは、イベント・インスタンスのすべてのフィールドで繰り返され、その各々でフィールドの名前と値を表示します。

// event is a valid CommonBaseEvent instance

// Get list of event instance structural features (fields)
List features = event.eClass().getEAllStructuralFeatures();

// iterate through list; print names and values
for (int i = 0 ; i < features.size() ; i++)
  {
    EStructuralFeature feature = (EStructuralFeature)features.get(i);
    Object value = eObj.eGet(feature);
    System.out.println(feature.getName() + ":" + value);
  }

CommonBaseEvent データ・モデルは、EMF ファイル cbe.ecore および cbe.genmodel で記述されます。これらのファイルは 共通イベント・インフラストラクチャー SDK とともに組み込まれます。これらのファイルを Eclipse ベースの開発環境にインポートしてから、EMF を使用して、CommonBaseEvent オブジェクトと対話するコードを生成することができます。


Concept topic

ご利用条件 | フィードバック (英語のみ)

Timestamp icon最終更新: 5 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\ccei_dev_eventMetadata.html

(C) Copyright IBM Corporation 2005. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)