BPM と Webform の統合: Lotus Webform Server を使用したビジネス・スペースでのヒューマン・タスク (第 2 回)

この記事では、標準フォーム・ユーザー・インターフェース技術の 1 つとして選ばれている Lotus Webform Server を BPM 製品スイートに統合する方法を説明します。

また、Webform Server の分散トポロジーおよびローカル・トポロジーを構築する方法について詳しく説明するとともに、Webform Server のクラスターを作成し、統合ソリューションに高可用性をもたらす方法についても説明します。

Jeff Brent, Senior Software Engineer, IBM

Jeff Brent は、WebSphere BPM 開発組織のシニア・エンジニアです。2005年から WebSphere Process Server SWAT チームに参加し、顧客の問題とクレームの解決を担当しています。



2010年 9月 23日

WebSphere BPM と Lotus Webform Server

HTML とフォームの操作について

長期間実行される BPEL にヒューマン・タスクが含まれる場合、そのタスクをレンダリングするためにどの技術を使用するかについて必ず決定を下さなければなりません。WebSphere BPM 製品スイートではそのための技術を、いくつかのユーザー・インターフェース (UI) 技術のなかから選択することができます。選択肢には JSF と単純な HTML があり、現在 Lotus Forms の密接な統合もその仲間に加わっています。

これらのユーザー・インターフェースはそれぞれ Business Space に統合され、Business Space 内から使用することができますが、Lotus Forms を統合する場合、フォームを実装して表示するためには、ユーザーは新しくサポートする Lotus Forms 製品の基盤となるものを実装する必要があります。

Lotus Forms の以前のバージョンでは、ユーザーがエンド・ユーザーのマシンごとにクライアント・アプリケーション (Lotus Viewer) をインストールしなければなりませんでした。そのため、ユーザーがヒューマン・タスクを操作するために使用できるプラットフォームの数が (Lotus Viewer でサポートされるプラットフォームのみに) 限られていただけでなく、さらに重要な点として、Lotus Viewer がインストールされたマシンでしか、ヒューマン・タスクを操作することができませんでした。

Lotus Webform Server は、これらの制約を取り除くように設計された技術です。Lotus Webform Server によって、ユーザーはブラウザー内で Lotus Forms を表示し、フォームを操作できるようになります。

SalesPromotion アプリケーション

SalesPromotion というアプリケーションは、BPEL で記述された 1 つの単純なビジネス・プロセスで構成されており、このビジネス・プロセスには 1 つのヒューマン・タスクが含まれています。

図 1. StorePromotion の単純な BPEL
StorePromotion の単純な BPEL

「Approve Request (リクエストの承認)」ヒューマン・タスク用のフォームはすでに作成されており、詳細セクションでヒューマン・タスクの名前をクリックすると、このフォームを表示することができます。フォームに表示されるのは、このヒューマン・タスクの現在の設定です。図 1 に示す設定では、ユーザー・インターフェースとして Lotus Forms が選択されています。

図 2. ヒューマン・タスクの設定内容
ヒューマン・タスクの設定内容

モジュールのコンテキスト・メニューから「Generate Human Task Interface (ヒューマン・タスク・インターフェースの生成)」を選択すると、「Approve Request」用のフォームが生成されます。その際に生成される「xfdl」(Extensible Forms Description Language) ファイルは、モジュール・フォルダーに配置されます。このフォーム・ファイル (xfdl) は、デプロイされると WebContent (または選択した Web プロジェクト) フォルダーに格納されます。

図 3. 物理リソースでの NewPromotionForm xfdl ファイル
物理リソースでの NewPromotionForm xfdl ファイル

NewPromotion.xfdl ファイルには、必須のフォーム (複数のフォームからなるアプリケーションの場合には必須フォームのすべて) が保管されていて、これらのフォームが Webform Server に送信されます。フォームを受信した Webform Server の役割は、「フォーム」を HTML に変換し、Business Space に返して表示させることです。Lotus Forms Designer がインストールされていれば、NewPromotionForm を開くと、このフォームの編集およびカスタマイズが可能になります。


Lotus Webform Server のデプロイメント

デプロイメントの選択肢

Business Process Management トポロジー用に Lotus Webform Server (WFS) をデプロイするには、事実上、2 つの選択肢があります。

1 つは、ローカル・デプロイメントです。ローカル・デプロイメントでは、既存の BPM セルに Webform Server をインストールします。bSpaceWebformEnabler プロキシー・アプリケーションのインストール・ロケーションを考えると、このシナリオでは Business Space アプリケーションが含まれるクラスターと同じ物理ノードに Webform Server をインストールするのが最も簡単です。

表 1. Webform Server ロケーションと参照クラスター・タイプ
クラスター・タイプロケーション
リモート・メッセージング/リモート・サポート (ゴールド)サポート・クラスター・メンバー
リモート・メッセージング (シルバー)アプリケーション/サポート・クラスター
単一のクラスター (ブロンズ)使用可能な単一のクラスター

ローカル・デプロイメントの場合、プロキシー・アプリケーションを再配置する必要がないため、これが最も簡単なインストール・タイプとなりますが、ノード上で発生する負荷が原因で、適切な選択肢にはならない場合があります。ハイパフォーマンス・システムには、Webform Server を別個のノード上の独自のセルにインストールしたほうが賢明です。このインストール・タイプは、分散デプロイメントと呼ばれます。

ローカル・デプロイメント – 同一セル

図 4. リモート・メッセージング/リモート・サポート・クラスターでのローカル・デプロイメント
リモート・メッセージング/リモート・サポート・クラスターでのローカル・デプロイメント

分散デプロイメント – リモート・セル

図 5. HTTP サーバーを使用した分散 Webform Server クラスター
HTTP サーバーを使用した分散 Webform Server クラスター

Webform Server のクラスタリング

この 2 つのデプロイメント・タイプに共通して、単一の Webform Server にするか、サーバーのクラスターを作成するかを選択することできます。

サーバーを 1 つだけにすると、アプリケーションにボトルネックが生じ、それがすなわち単一障害点となるリスクがあります。Webform Server なしでは、ヒューマン・タスクはレンダリングされません。ヒューマン・タスクがレンダリングされなければ、BPC エンジン自体には影響がないとしても、事実上、ユーザーはプロセスと対話することができなくなります。ボトルネックの可能性を減らし、単一障害点を排除するには、Webform Server をクラスタリングするのが効果的です。

Webform Server クラスターを作成するには、1 台のマシンに通常のインストール手順に従って Translator Server アプリケーションをインストールする必要があります。この場合、Translator Server アプリケーションおよび付属の Application Server をデプロイするという方法、またはデプロイ済みの Application Server に Translator Server アプリケーションをデプロイするという方法のいずれかを採ることができます。

Translator Server アプリケーションをホストする Application Server は、Webform セルに統合してください。

2 つ目のノード (Webform セルに統合済みの Application Server ノード) には、Webform Server のバイナリーをインストールします。この時点ではまだ、Translator Server アプリケーションはこの Application Server にデプロイされません (図 4 を参照)。Translator Server アプリケーションは、クラスターを作成することによってデプロイされます。

図 6. Translator Server のデプロイメント
Translator Server のデプロイメント

サーバーをクラスタリングするには、管理コンソールで「Servers (サーバー)」 > 「Clusters (クラスター)」 > 「WebSphere Application Server Cluster (WebSphere Application Server クラスター)」の順に選択し、新しいクラスターを作成します (図 7 を参照)。

図 7. Webform Server クラスターの作成
Webform Server クラスターの作成

クラスターの名前を入力したら、あとはデフォルト設定のままにします。次の画面 (図 8) では、「Create the member using an existing Application Server as a template (既存の Application Server をテンプレートとして使用してメンバーを作成する)」を選択し、作成した Translator Server を選択します。

このオプションを選択すると、既存の Application Server がクラスター内の他のノードのベースとして使用されます。クラスターに新しいメンバーが追加されると、既存の Application Server に構成されているアプリケーションやその他のリソースがすべてクラスター上に作成されて、その新しいメンバーに転送されることになります。

図 8. 既存のサーバーを使用したクラスターの作成
既存のサーバーを使用したクラスターの作成

メンバーの追加画面 (図 9) では、Translator Server アプリケーションがデプロイされてない、2 つ目の Application Server を選択し、「Next (次へ)」をクリックします。すると、新しいクラスター・メンバーが作成され、既存の Application Server にデプロイされたアプリケーションとリソースが新規メンバーに転送されます。

図 9. メンバーの追加
メンバーの追加

この時点で、2 つの Application Server からなるクラスターが出来上がりました。それぞれの Application Server には Translator Server がデプロイされているため、このサーバーによってフォームをレンダリングすることができます。

bspaceWebformEnabler サーブレット

bSpaceWebFormEnabler サーブレットは、Business Space と Lotus WebForm Server との間の通信を中継するプロキシーです。この単純なアプリケーションは、WebForm Server のライブラリーを利用する必要があるため、WebForm Server のバイナリーがインストールされているノードには必ずデプロイしなければなりません。

Business Space が WFS と通信できるようにするには、以下の 2 つを構成します。

  • bSpaceWebformEnabler のロケーションを構成します。
  • WebForm Server のロケーションを指すように bSpaceWebformEnabler を構成します。

bSpaceWebformEnabler 用に定義されたデフォルト URL では、ホスト名に localhost を使用します。そのため、bSpacewebformEnabler がインストールされたクラスター・メンバーのローカルに WFS がインストールされている場合には、変更する必要はありません。

値を変更するには、「Resource Environment Provider (リソース環境プロバイダー)」 > 「Mashup EndPoints (マッシュアップ・エンドポイント)」 > 「Custom Properties (カスタム・プロパティー)」の順に選択し、{com.ibm.bspace}bspaceWebformProxyRootId.url のエントリーを変更します (図 10 を参照)。

図 10. プロキシー・ルート URL の変更
プロキシー・ルート URL の変更

bSpaceWebformEnabler が Webform Server とは異なるサーバーにインストールされている場合は、bSpaceWebformEnabler サーブレットのパラメーター TranslatorLocation を変更して、そのサーバーのロケーションを反映する必要があります (図 11 を参照)。注意する点として、通常はポートをデフォルトの 8085 から変更する必要はありません。

図 11. Webform プロキシー・イネーブラーの構成
Webform プロキシー・イネーブラーの構成

TranslatorLocation の構成には、1 つの URL しか構成されません。つまり、Translator Server アプリケーションのクラスターが構成されているとしても、プロキシー・サーブレットはそのうちの 1 つにしかアクセスしないため、真の高可用性 (HA) 機能は有効にならないということです。

この事態を改善するには、HTTP サーバーまたは IBM Proxy Server を構成して、クラスターの前に配置してください。その上で、このサーバーとそれに関連するポートを指すように TranslatorLocation の URL を構成します。

Proxy Server は Application Server に組み込まれることから、構成するには最も簡単です。HTTP サーバーとは異なり、Proxy Server には動的なアプリケーション・リストがあるため、プラグインを生成して手作業で配布する必要がありません。


まとめ

WebForm Server に適用するインストール・パターンは、プロジェクトの要件、そして必要なリソースの可用性によって変わってきます。

Lotus Webform Server がリモートに位置することになる分散環境は、懸念事項を切り離すには最適で、単独の保守スケジュールが可能になります。

ローカル・インストールでは WebForm Server が WPS クラスターのローカルにインストールされるため、サーバーに余計な負荷がかかり、WPS クラスターに悪い影響を及ぼします。また、ローカル・インストールの場合には、Application Server での保守実行時に、WebForm Server が影響を受けることにもなります。

高可用性が要件となっている場合には、WebForm Server のクラスターをデプロイし、クラスター・メンバー全体でロード・バランシングを行えるように HTTP サーバーまたは IBM Proxy Server を構成してください。

参考文献

学ぶために

製品や技術を入手するために

  • ご自分に最適な方法で IBM 製品を評価してください。評価の方法としては、製品の試用版をダウンロードすることも、オンラインで製品を試してみることも、クラウド環境で製品を使用することもできます。また、SOA Sandbox では、数時間でサービス指向アーキテクチャーの実装方法を効率的に学ぶことができます。

議論するために

  • My developerWorks コミュニティーに加わってください。ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者が主導するブログ、フォーラム、グループ、ウィキを調べることができます。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=SOA and web services, WebSphere
ArticleID=556112
ArticleTitle=BPM と Webform の統合: Lotus Webform Server を使用したビジネス・スペースでのヒューマン・タスク (第 2 回)
publish-date=09232010