[SOA/BPM] BPM 11g ADF Task Form Versioning

原文はこちら。
https://blogs.oracle.com/bpmbestpractice/entry/bpm_11g_adf_task_form

最近お客様からBPMで使うADFタスクフォームのバージョニング方法についてたくさんお問い合わせを頂いています。BPM 11g(PS4 Feature Pack以後)では、バージョンの扱いがかなり柔軟になっており、現在では同一バージョンのプロセスの実行中のインスタンスを新しいバージョンに移行することができます。同僚のMark Fosterがこのコンセプトを説明した素晴らしいエントリをUpしています。
BPM 11g Deployment & Instance Migrationhttps://blogs.oracle.com/ateamsoab2b/entry/bpm_11g_deployment_instance_migration
http://orablogs-jp.blogspot.jp/2012/05/bpm-11g-deployment-instance-migration.html(ロジ子訳)
同じバージョンのプロセスを移行するのに加え、あるインスタンスでは、例えばそれぞれのプロセスフローを終了するように、同時に複数のバージョンを実行しているプロセスがあります。
しかしこれらのプロセスにヒューマンタスクが含まれている場合はどうなるでしょうか。プロセスのバージョン毎にタスクフォームが異なるような要件があった場合、どうしましょうか。

Application Version Approaches

ADF Task FormプロジェクトはエンタープライズアプリケーションとしてWebLogic Serverにデプロイされます。一般に設計時は、開発プロセスの間subversionのようなソースコードリポジトリを使ってあらゆる設計時のファイルをバージョニングしています。
しかし、実行時には、同時に利用できる同じTask Formに2個のバージョンがあって、各々が異なるバージョンの同一BPMプロセスから呼ばれる場合、バージョニングが必要です。

Enterprise Application Naming

この問題を回避するため、命名規則を使って2個の異なるタスクフォームアプリケーションを2個の異なるエンタープライズアプリケーションとしてデプロイし、各BPMプロセスが正しいフォームを呼び出していることを確認することができます。

Simple Test Case

以下のテストケースでは、SimpleProcessというBPMプロセスがあり、その中にSimpleTaskという1つのヒューマンタスクが含まれています。タスクにはSimpleTaskViewというADF Form Viewプロジェクトがあります。

BPM Studioでタスクフォームプロジェクトを開き、アプリケーションメニューからアプリケーションプロパティを開きます。デプロイメントをクリックし、デプロイメントプロファイルを編集します。
ApplicationProperties


アプリケーション名をバージョンを含むものに変更します。


UIプロジェクトを右クリックしてプロジェクトプロパティを選択します。デプロイメントをクリックしてデプロイメントプロファイルを編集しましょう。



新バージョンをWebコンテキストルートに追加します。




アプリケーションメニューから、ADF Task Formをサーバへデプロイします。



アプリケーションがデプロイされていることをコンソールで確認して下さい。WebLogic Server管理コンソールの[デプロイメント]でコンテキストルートを確認できればOKです。


ではEnterprise ManagerでHumanTaskのURIを編集して正しいTask Formを使うように指定しましょう。まずSimpleProcessをクリックします。




SimpleHumanTaskをクリックします。



[管理]タブでURIを変更しTask Formのバージョン1.1を使うように指定できます。値が先ほど指定したWebコンテキストルートに似ていることを確認して下さい。

これでSimpleProcessのバージョン1.1はTask Formのバージョン1.1を使い、オリジナルのプロセスはオリジナルのTask Formを使うことになります。

0 件のコメント:

コメントを投稿