ヘッダーをスキップ
Oracle Web Services Manager拡張ガイド
10g(10.1.3.1.0)
B31908-01
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

1 カスタム・ステップの開発とデプロイ

この章では、カスタム・ポリシー・ステップの作成方法の概要を示し、カスタム・ポリシー・ステップを作成、開発、およびデプロイする方法について説明します。

この章の内容は次のとおりです。

ポリシー・ステップ作成の概要

Oracle Web Services Manager(Oracle WSM)では、カスタム・ステップの作成のために次のツールを提供しています。

カスタム・ステップを開発するには、次のタスクを完了します。

開発するカスタム・ステップがWebサービスの規格に準拠することを確認します。

カスタム・ステップの開発

カスタム・ステップは、com.cfluent.policysteps.sdk.AbstractStepクラスを拡張し、executeメソッドを実装します。次に、executeメソッドについて説明します。

executeメソッドについて

executeメソッドの基本的な特性と機能は次のとおりです。

  • カスタム・ステップのプログラム・エントリ・ポイントを提供します。

  • com.cfluent.policysteps.sdk型の例外をスローできます。

    例外処理時にexecuteメソッドがフォルトをスローした場合、このフォルトはクライアント・アプリケーションにカスケードされます。

  • IResult型のオブジェクトを返します。

IResultの状態について

カスタム・ステップでは、createResultメソッドを使用して結果オブジェクトを生成します。createResultメソッドのint引数により、結果の状態が提供されます。これらの状態は、executeメソッドの結果を次のように示します。

  • IResult.FAILED: executeメソッドが失敗しました。

  • IResult.SUCCEEDED: executeメソッドが成功しました。

  • IResult.SUSPENDED: executeメソッドの実行が一時停止されました。


注意:

executeメソッドはマルチスレッド化される(つまり、複数のスレッドによる同時実行が可能である)ため、executeメソッドはスレッド・セーフな実装になっている必要があります。

デフォルトのinitメソッドをオーバーライドするには、該当するカスタム・ステップに固有の初期化コードを追加します。また、destroyメソッドのコードを追加すると、カスタム・ステップのライフサイクルを確実にクリーンな状態で終了することができます。

AbstractStepインタフェースには、次のデフォルトのメソッドがあります。

public final void setEnabled(boolean);
public final boolean getEnabled();
public final void setStepName(java.lang.String);
public final java.lang.String getStepName();
public final com.cfluent.policysteps.sdk.AgentContext getAgentContext();
public final void setAgentContext(com.cfluent.policysteps.sdk.AgentContext);
public void init() throws java.lang.IllegalStateException;
protected void generateFault(com.cfluent.policysteps.sdk.Fault) throws com.cfluent.policysteps.sdk.Fault;
protected com.cfluent.policysteps.sdk.IResult createResult(int);

ステップ・テンプレートの定義

Oracle WSMポリシー・ステップ・フレームワークでは、各Oracle WSMステップがステップ・テンプレートを参照する必要があります。ステップ・テンプレートは、ステップIDとステップ・プロパティを定義し、各プロパティの簡単な説明を提供します。

Oracle WSMフレームワークにステップ・テンプレートを追加するには、整形式のXML文書を作成する必要があります。XMLでサンプルのステップ・テンプレートを作成する場合は、「サンプルのステップ・テンプレート」を参照してください。ステップ・テンプレート・スキーマは、「ステップ・テンプレート・スキーマ」を参照してください。

次の表に、典型的なステップ・テンプレートの一連のタグとその説明を示します。

表1-1 ステップ・テンプレートのタグ

タグ 説明

csw:StepTemplate name=Step_Name id=XYZA123

ステップ名と一意のIDを定義するXML文書の開始タグ。一意のIDは、OracleWSMシステムによって割り当てられないため、自分で割り当てる必要があります。割り当てたIDがシステム内で重複する場合、Oracle WSMから例外がスローされます。

csw:Description

ステップの簡単な説明を指定します。

Csw:Implementation

ステップの実装を含むクラスを指定します。フレームワークは、このステップの起動時にステップによって定義されるクラスを、実行時にreflectionによってロードします。

Csw:Property name=?...? type=?...?

ステップ・プロパティの名前およびデータ型に使用できるプロパティを定義します。データ型は次のいずれかです。

boolean、string、boolean、int、long、float、short、string[]、boolean[]、int[]、long[]、short[]、string[]

Property/Csw:Description

前のタグで定義されるプロパティの簡単な説明を指定します。定義されるプロパティに関連する説明は、ステップ開発者が指定することになっています。

Property/csw:Value/Absolute

定義されるプロパティのデフォルト値を定義します。値は、AbsoluteまたはPropertyRefです。

PropertyRefとは、${<property_key>}によって定義される環境プロパティをフレームワークで引き継ぐことを指します。


カスタム・ステップのデプロイ

カスタム・ステップをデプロイするには、次のタスクを完了します。

カスタム・ステップを追加する手順

  1. Web Services Manager Controlにログインし、ナビゲーション・バーから「ポリシー・マネージャ」を選択します。

    Web Services Manager Controlに、現在定義されているコンポーネントのリストが表示されます。

  2. カスタム・ステップを追加するコンポーネントの行で、「ステップ」をクリックします。

    ステップ管理ウィンドウに、既存のステップのリストが表示されます(図1-1)。

    図1-1 ポリシー・ステップのリスト

    図1-1の説明が続きます
    「図1-1 ポリシー・ステップのリスト」の説明

  3. 「新規ステップの追加」をクリックします。

    Web Services Manager Controlに「ステップ管理/ステップの追加」ページが表示されます(図1-2)。

    図1-2 「ステップ管理/ステップの追加」ページ

    図1-2の説明が続きます
    「図1-2 「ステップ管理/ステップの追加」ページ」の説明

  4. 「参照」をクリックし、新規に作成したXMLステップ・テンプレートを選択します。

  5. 「アップロード」をクリックします。

    「ステップ管理」画面の現在使用できるステップのリストが更新され、新たに追加されたステップがリストに表示されます。


    注意:

    各カスタム・ステップに削除ボタンが表示されますが、デフォルトのステップは削除できません。

jarファイルの追加方法

ゲートウェイ・コンポーネントまたはエージェント・コンポーネントがインストールされたマシンに、カスタム・ステップの実装クラスを含むJavaアーカイブ(jar)をコピーする必要があります。次の場所にjarファイルをコピーします。

ORACLE_HOME/owsm/lib/custom

ポリシー強制ポイントにステップを追加する手順

  1. Web Services Manager Controlから「ポリシー・マネージャ」を選択します。

    Web Services Manager Controlに、登録されているOracle WSMコンポーネントのリストが表示されます。

  2. ポリシーを変更するコンポーネントを選択し、「ポリシー」をクリックします。

    Web Services Manager Controlに、コンポーネントのデフォルトのポリシーが表示されます。

  3. ステップを追加するポリシーの行で、「編集」をクリックします。

    ページに、既存のポリシー・パイプラインが表示されます。

  4. ステップを追加する場所のすぐ上のパイプラインのセクションで、「以下にステップを追加」をクリックします。

    リストに、新しいカスタム・ステップも含め、選択したコンポーネントで使用できるステップが表示されます。

  5. 新しいステップを選択し、「OK」をクリックします。

  6. ステップを構成します。

  7. 「次へ」をクリックします。

    ステップがサービスのパイプラインに追加されます。

  8. 「保存」をクリックします。

  9. 「ポリシーのコミット」をクリックしてポリシーへの変更をコミットします。


    注意:

    デフォルトのポーリング頻度を使用する場合、新しいポリシーは10秒で有効になります。ゲートウェイ・コンポーネントとエージェント・コンポーネントは、更新されたポリシーをOracle WSM Policy Managerから自動的に取得します。