カスタム・ポリシーの開発

カスタム・ポリシー・レビュー API を使用してポリシーを開発するには、最初にポリシー管理プログラムを作成する必要があります。 カスタム・ポリシーを追加するには、ポリシー管理プログラムにそれぞれのカスタム・ポリシーへの参照を組み込む必要があります。ポリシー管理プログラム・クラスとポリシー実装をセットアップしてから、 ポリシー管理プログラムをリポジトリーに追加します。

始める前に

手順

  1. プロジェクトをセットアップします。
    1. カスタム・ポリシーの Java プロジェクトを作成します。 SampleGovernor.jar 内に含まれているサンプル・ポリシー管理プログラムとポリシーをプロジェクトにインポートして、変更を加えることで、カスタム・ポリシーを作成することができます。
    2. プロジェクトを右クリックし、「インポート」を選択して、プロジェクトの /src サブディレクトリーにサンプル・ポリシー管理プログラムをインポートします。
    3. 「アーカイブ・ファイル」を選択し、「次へ」をクリックします。
    4. 「参照」をクリックして、SampleGovernor アーカイブ・ファイルを選択します。
    5. 「完了」をクリックします。 内容が新規プロジェクトに追加されます。
  2. 依存関係をビルド・パスに追加します。 RAM Java API (ramclient.zip ファイル内) に含まれている JAR ファイルを 1 つずつクラスパス内で指定する必要があります。クラスパス内の JAR ファイル名は、完全な名前でなければなりません。例えば、org.eclipse.emf.ecore.xmi_2.4.1.v200902171115.jar です。
    1. ramclient アーカイブからファイルをインポートするには、 このアーカイブを「拡張」ページからダウンロードします。このページを開くには、「ヘルプ」アイコンを クリックし、次に「拡張」をクリックします。
    2. ram.client アーカイブの内容を解凍し、必要なファイルを新規プロジェクトに追加します。
    3. プロジェクトを右クリックし、「ビルド・パス」 > 「外部アーカイブの追加」を選択します。
    4. ramclient.zip ファイルを解凍した場所にナビゲートし、 com.ibm.ram.commonramclientjaxborg.eclipse JAR ファイルをすべて選択します。 次の JAR ファイルが含まれている必要があります。
      com.ibm.ram.common
      ramclient
      jaxb-api
      jaxb-impl
      org.eclipse.emf.common
      org.eclipse.emf.ecore.xmi
      org.eclipse.emf.ecore
      org.eclipse.equinox.common
      org.eclipse.osgi
      7.5 以前のバージョンでは、以下の JAR ファイルをクラスパスに追加する必要があります。
      • プロジェクトのインストレーション (WebSphere_INSTALL_Directory¥profiles¥<PROFILE>¥installedApps¥<APPLICATION>¥com.ibm.ram.repository.web.war¥WEB-INF¥lib) から:
        com.ibm.ram.common.jar
      • WebSphere Application Server から (WebSphere_INSTALL_Directory¥plugins):
        org.eclipse.emf.common.jar
        org.eclipse.emf.commonj.sdo.jar
        org.eclipse.emf.ecore.jar
        org.eclipse.emf.ecore.change.jar
        org.eclipse.emf.ecore.sdo.jar
        org.eclipse.emf.ecore.xmi.jar
  3. ポリシーを作成します。
    1. ポリシーは、独自に新規作成することも、提供されているポリシー (MyPolicy など) を拡張して作成することもできます。提供されているポリシー・ファイル内のメソッドを使用することや、メソッドを変更することができます。例えば、 test() メソッドでは、独自のガバナンス・モデルからの特定のアセット・タイプ詳細のセットを基準として、アセット・ポリシー・テスト合格とするかどうかを決定することができます。

      カスタム・ポリシーの作成に使用できる API について詳しくは、 カスタム・ポリシーで使用する APIを参照してください。

      注: ポリシーをマップに格納しておき、 ID を指定してポリシーを取り出すことができます。例えば、private Map policies; です。 マップからポリシーを取り出すには、getPolicies().get(id) メソッドにポリシー ID を入力します。
    2. 管理プログラム・クラスに、新しい各ポリシーへの参照を追加します。 管理プログラム・クラスには、ポリシー管理プログラム内のそれぞれのカスタム・ポリシーへの参照を含める必要があります。 例えば、MyPolicy の場合は、次の行を MyGovernor クラス (MyGovernor.java 内) に追加します。
      	//My XML Policy
      		Policy policy = new MyPolicy(this);
      		policies.put(policy.getID(), policy);

      Rational Asset Manager Java API を使用すると、現在のアセットおよび その他のアセットをカスタム・ポリシーの中で操作することができます。 この Java API の使用方法の例については、Rational Asset Manager Java API の使用を参照してください。例と、使用できる API に関する追加情報が jazz.net 上のカスタム・ポリシー wiki ページにあります。

  4. ポリシーをインストールします。 カスタム・ポリシーをパッケージするために、 プロジェクトを JAR ファイルとしてエクスポートしてから、このファイルを 新規ポリシー拡張として追加します。
    1. プロジェクトを JAR ファイルとしてエクスポートします。
      パッケージを Eclipse プロジェクトとして保存するときは、 以下の JAR ファイルも入れる必要があります。これらは、Rational Asset Manager Java API をポリシー内で使用するために必要です。
      • WebSphere Application Server 上:
        • axis.jar
        • jaxrpc.jar
        • ramclient.jar
        • saaj.jar
        • wsdl47-1.5.1.jar
      • Tomcat 上:
        • ramclient.jar
        • org.eclipse.equinox.common (IProgressMonitor 用)

      バージョン 7.5.0.1 以降では、ポリシーをアップロードする際に、 複数の JAR ファイル (ramclient.jar およびポリシー JAR など) を 1 つの .zip ファイルに入れることができます。

    2. リポジトリー管理者としてログインします。
    3. 「管理」ページで、「カスタム拡張」をクリックします。
    4. 新しいポリシー拡張を追加します。
    5. ポリシー管理プログラムの完全修飾クラス名 (パッケージおよびクラス) を入力します。
    6. ステップ 4a でエクスポートした JAR ファイルを参照して選択します。 お使いのポリシーは、ライフサイクルまたはポリシーのプロセスで使用できます。
    管理プログラムを追加する方法について詳しくは、 『外部ポリシー管理プログラムの定義』を参照してください。

次のタスク

ポリシーをテストしてデバッグします。手順については、ポリシーのテストとデバッグを参照してください。

フィードバック