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

今日の企業は経営効率における数々の問題に直面しています。特に、協調的な取り組みが欠けていることから、必要以上に煩雑になっているビジネス・プロセスが組織内には数多くあります。そこで、ヒューマン・タスクと自動化されたサービスを組み合わせて適切なオーケストレーションを行った一連のビジネス・プロセスを開発することで、企業は経営の合理化と無駄の削減を行い、競合他社との差別化を図れるようになるはずです。

IBM WebSphere Dynamic Process Edition バージョン 7 は、IT スペシャリストやビジネス・スペシャリストにエンドツーエンドのビジネス・プロセスを定義するために必要なツールを提供する製品です。この製品を Lotus Forms 3.5.1 と組み合わせることによって、組織は最上級のフォーム技術と堅牢なプロセス・エンジンとを組み合わせたビジネス・アプリケーションの構築を即座に開始できるようになります。

Jeff Brent, Senior Software Engineer, IBM

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



2010年 9月 23日

WebSphere BPM と Lotus Webform Server

はじめに

この連載では WebSphere Business Process Management (BPM) および Lotus のフォーム技術製品を迅速に導入できるように、主要な開発シナリオおよび本番のシナリオを定義し、開発チームと本番環境のそれぞれに必要となるインストールおよび構成の作業を順に説明していきます。環境のインストールおよび構成の手順を説明する記事では、読者の皆さんがそれぞれの環境でその手順を確認できるように実際に使用できるサンプル・アプリケーションを用意しました。WebSphere BPM と Lotus のフォーム技術を使用してアプリケーションを作成する詳細な手順については、この連載の以降の記事を読んでください。

この記事を作成するにあたって、WebSphere Process Server および WebSphere Business Monitor の既存の機能が組み込まれた WebSphere Dynamic Process Edition (WDPE) を使用したことに注意してください。

連載の第 1 回目となるこの記事では、残りの 2 回の記事の背景として、フォーム技術を使用するメリットを簡単に説明するとともに、記事で互いに組み合わせて使用する製品それぞれの概要を説明します。

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

連載第 3 回では、プロジェクト・ライフサイクルのモデル化および統合開発に焦点を絞り、ビジネス・アナリストと IT 開発者が Lotus フォームを構成および検証するための準備として、WDPE 7 に Lotus Forms のサポートを統合する方法を説明します。


BPM と Lotus のフォーム技術を使用するサンプル・ケース

WebSphere BPM は多岐にわたるビジネス問題を解決することを目的に、さまざまな機能を提供しています。これらの BPM 製品スイートを使用することで、ビジネス問題によってもたらされる負担を軽減するソリューションを構築することができます。

前のセクションで触れた記事では、商品の販売促進キャンペーンを手配中の架空の小売業者を例に取り上げています。この小売業者では、キャンペーン・マネージャーが販売促進キャンペーンを承認する責任を持ちます。承認プロセスを実装する SalesPromotion というアプリケーションは、BPEL で記述された 1 つの単純なビジネス・プロセスで構成されており、このビジネス・プロセスには「Approve Request (リクエストの承認)」という 1 つのヒューマン・タスクが含まれています。このプロセスは以下の図のとおりです。このプロセスが含まれる WebSphere Integration Developer プロジェクトは、連載の第 3 回にダウンロードとして付属しています。

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

この実装では、「Approve Request」ヒューマン・タスクはフォームとして公開されます。ヒューマン・タスクの詳細な設定内容を見るには、詳細セクションでヒューマン・タスクの名前をクリックします。すると、現在のタスクの設定が表示されます。図 2 に示す設定では、ユーザー・インターフェースとして Lotus Forms が選択されています。

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

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

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

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


WebSphere Business Process Management の概要

WebSphere Business Process Management (BPM) 製品スイートには、さまざまなニーズに合わせてビジネス・ソリューションを開発する際に必要となる主要な製品が揃っています。WDPE に付属のツールは、アプリケーションをモデル化、設計、構築するビジネス・アナリストと統合開発者に充実した開発環境を提供します。この環境で開発したアプリケーションを WebSphere Process Server にデプロイすることで、コア・ビジネスに不可欠な部分を実現することができます。このセクションでは、この連載に関連する WebSphere BPM 製品スイートのコンポーネントについて概説します。

ヒューマン・ワークフロー

WebSphere BPM には、スケーラブルなヒューマン・ワークフロー・ソリューションを作成するための機能が用意されています。BPEL 標準を使用して実装された BPM のプロセス・エンジンは、WebSphere Process Server で実行されます。WebSphere BPM では、複雑なヒューマン・ワークフローのシナリオに対処するために仕様を拡張しています。プロセス・エンジンは重要なプロセス・データに対するセキュアな (ロール・ベースの) アクセスを実現するだけでなく、さらに柔軟で堅牢なビジネス・アプリケーションを作成できるようにする、高度なエスカレーション機能および作業割り当て機能を提供します。

以下に、各業界で考えられるこの技術の適用例を説明します。

医療

  • 新しい患者情報の処理
  • 保険請求の承認/拒否

電気通信

  • 契約の審査と承認
  • 課金と徴収

小売

  • キャンペーンの管理
  • 販売促進計画

公益事業

  • 派遣および工程計画
  • 顧客管理と勘定照合

Business Space

WebSphere Business Space は、WebSphere Process Server に統合された Web 2.0 ベースのユーザー・インターフェース・フレームワークです。このフレームワークは、ビジネス・アプリケーションおよびモニタリング・ソリューション (スペースと呼ばれます) の開発基盤を提供します。スペースには 1 つ以上のページがあり、ページには 1 つ以上のウィジェットがあり、そのウィジェットのそれぞれがページの表示部分を占めます。

図 4. Business Space
Business Space

BPM 製品スイートには、事前定義された多数のスペースとウィジェットが用意されています。ウィジェットのデータは WebSphere BPM 製品のコンポーネントが提供する REST (Representational State Transfer) サービスによって入力されるので、これらのウィジェットを使用することで、企業全体からの情報を素早く簡単に集約することができます。事前定義されたスペースが提供されているだけでなく、このカスタマイズ可能なフレームワークでは、ビジネス・ユーザーが自らの変化するニーズに合わせて情報のビューをカスタマイズすることができます。Business Space は、ロール・ベースの認証とアクセスをサポートするセキュアな Web アプリケーションです。


Lotus Forms の概要

Lotus の Web フォーム技術は WebSphere BPM 製品スイートにぴったりの優れた技術で、このフォーム技術を統合すると、ユーザーが既存のデータ構造を使って最上級のフォームを作成できるようになります。ドリルダウン機能と画面フロー制御はヒューマン・ワークフローに不可欠な部分ですが、Lotus Forms 製品はデータ入力に必要なツールと変換サービスを提供することによって、ソリューションの実装およびデプロイメントを迅速化します。この製品は使い易く、ユーザーが簡単にビジネス・アプリケーションを組み立てられるため、ユーザー・インターフェース設計全体にかかるコストが節約されることになります。

Lotus Designer

Lotus Designer は、新規フォームの設計や、WID または WebSphere Business Modeler (WBM) で生成されたフォームを編集するために使用できる Eclipse ベースのツールです。プロセス設計者と IT 開発者は、このツールの設計パレット上でデータ要素とコントロールを容易にドラッグ・アンド・ドロップすることができます。

Lotus Forms Server

Lotus Forms Server は、Lotus Forms 製品のランタイム・コンポーネントです。Lotus Forms Server には、フォームを HTML に変換してブラウザーで表示可能にする Webform Server が組み込まれています。ユーザーがフォームに入力して送信すると、Webform Server は HTML を変換して XFDL に戻します。


プロセス自動化とフォーム技術の統合

プロセス自動化 (WebSphere BPM) とフォーム技術を統合すると、ヒューマン・ワークフローを必要とするビジネス・シナリオに非常に大きなメリットをもたらすことができます。この 2 つの統合により、従来の書類ベースのビジネス・タスクを自動化するときに、これらの書類を同等のフォームに置き換えることができます。その結果、エンド・ユーザーの生産性の向上を素早く効率的に実現することができます。

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

上記で挙げたユーザー・インターフェースの選択肢のうち、最後の 2 つは Business Space に統合することができますが、Lotus Forms には、フォームを表示するための追加インフラストラクチャーが必要です。ただし、Lotus Webform Server にデプロイされたフォームを表示して操作するのであれば、クライアント・マシン上にビューアーは必要ありません。この場合、ユーザーは任意のブラウザーから Lotus Forms を表示して操作することができるからです。

フォームと Business Space を統合する場合の要件は、Business Space サーバーが Lotus Webform Server と通信することです。Webform Server はフォームを HTML スニペットで表現するため、この通信で、特定のヒューマン・タスクに関連付けられたフォーム、つまり HTML スニペットを取得します。

図 5 に、Business Space と Webform Server 間のフローを示します。

Business Space は Lotus フォーム (XFDL) を検出すると同時に、そのフォームを bSpaceWebformEnabler プロキシー・サーブレット (図 5 の「Form entry」パス) に送信しようと試みます。

図 5. プロキシー・ルート URL のカスタム・プロパティー
プロキシー・ルート URL のカスタム・プロパティー

Business Space が bSpaceWebformEnabler を見つけるために使うのは、bspaceWebformsProxyRootid.url です。この URL を確認するには、管理コンソールで「Resources (リソース)」 > 「Resource Environment (リソース環境)」 > 「Resource Environment Providers (リソース環境プロバイダー)」 > 「Mashup Endpoints (マッシュアップ・エンドポイント)」 > 「Custom Properties (カスタム・プロパティー)」の順にアクセスします。

プロキシー・サーブレットの役割は、Translator アプリケーションを呼び出して XFDL を Webform Server に送信することです。このサーブレットが Webform Server を見つけるために使用する設定値は、「Applications (アプリケーション)」 > 「Enterprise Applications (エンタープライズ・アプリケーション)」 > 「BspaceWebformEnabler」 > 「Initialize parameters for servlet (サーブレットの初期パラメーター)」の順にアクセスすると確認することができます。この値は、以下の図に示すように http://<host>:<port>/translator という形式になっています。

図 6. Webform Server の URL
Webform Server の URL

Translator アプリケーションは XFDL を受信すると、Webform Server のキャッシュに同じファイルが保存されていないかどうかをチェックします。同じファイルがある場合には、そのファイルが取り出されて使用されます。同じファイルがキャッシュにない場合、ファイルは DHTML に変換されてから、プロキシー・サーブレット経由で Business Space に送信されてレンダリングされます。

フォームの送信ボタンをクリックすると、フォームの DHTML バージョンが Webform Server に送信されて、XFDL に変換されます。

生成されたフォーム (XFDL と DHTML の両方) は、Webform Server が呼び出される間に例外なくキャッシュに入れられます。キャッシュがフルになると、古いエントリーから、新しいフォームに置き換えられていきます。


プロジェクトのライフサイクル

どんなプロジェクトにも、開発段階とテスト段階があります。プロジェクトは総じて、開発組織が、反復型開発用にインストールされて構成された環境を使用するように計画されます。最終的には開発の成果物が本番環境に「プロモート」されて、実際のビジネス・トランザクションで使用されます。BPM の全体像は、以下の図のように表すことができます。

図 7. 本番環境へのプロモート
本番環境へのプロモート

モジュール/EAR ファイルという形でデプロイ可能なソリューションは、変更管理を実施するガバナンス・システムで管理することができます。このようなソリューションは、プロジェクトの進行に伴って環境を移すごとに、さまざまに異なる手法と基準でテストされ、使用されます。これらの環境は、以下のように定義することができます。

開発 – 実際の反復型開発環境です。

UAT – 機能テストを含めたユーザー・アクセプタンス・テスト。適切なビジネス機能があることを検証します。

ステージング – 本番環境で予想される条件で、スループットおよび可用性が適切なレベルに達することを検証するために、ソリューションの負荷テスト、パフォーマンス・テスト、および高可用性テストを行います。

本番 – 実際のデータを使用したビジネス・トラザクションを行うために使用される環境です。

この連載では上記の環境を、ソリューション開発環境と本番デプロイメント環境という 2 つの基本タイプに分けます。

  1. ソリューション開発 – フォームのモデル化、プロセス開発、ユニット・テストを繰り返し行うための環境です (開発環境は、このクラスの環境に属します)。
  2. 本番デプロイメント – WebSphere Process Server が提供するネットワーク・デプロイメント (ND) トポロジーを使用する環境です。このトポロジーには、高可用性を目的に構成されるクラスターも含まれます (UAT 環境、ステージング環境、本番環境は、このクラスの環境に属します)。

ソリューション開発環境クラス

ソリューションの開発段階でチームが操作するのは、BPM モデリング・ツールと開発ツールです。この連載で取り上げるシナリオでは、開発組織は以下の製品を使用します。

  • WebSphere Integration Developer に含まれる WebSphere Process Server 統合テスト環境、または WebSphere Business Modeler および対話型プロセス開発機能
  • Lotus Forms Designer
  • Lotus Forms Server

ビジネス・アナリストとサービス・アーキテクトは協力して、反復型開発手法によって信頼性の高いビジネス・ソリューションを作成します。ソリューションの各構成部分は、プロジェクト・ライフサイクルのさまざまな段階で実装されます。テスト環境は、開発チームが連携して素早くユニット・テストの反復プロセスと機能の増分検証をデプロイすることができるように構成されます。

図 8. ツール間の対話
ツール間の対話

この反復型開発手法のためのトポロジーの構成が、連載第 2 回の焦点となります。

この連載の第 3 回に、プロジェクト交換ファイルが付属しているので、アプリケーションの反復型開発を始める前に、このファイルを調べて環境の構成をよく理解してください。

本番デプロイメント環境クラス

このクラスの環境は、基本的な WebSphere Application Server Network Deployment (ND) 技術を使用して作成します。システム管理者はこの技術を使用して、複数のノード (物理マシン) およびクラスター (複数の物理リソースにまたがるアプリケーション・プロセス) を使用したデプロイメント・トポロジーを作成することができます。その結果、耐障害性に優れ、物理リソースを BPM 環境に追加することによって簡単にスケーリングすることができる環境が完成します。

典型的な本番トポロジーは、以下のように表すことができます。

図 10. 典型的な本番トポロジー
典型的な本番トポロジー

典型的な本番環境は、以下の共通の基準に従ってインストールおよび構成されます。

  • 高可用性
  • スケーラビリティー
  • 管理の容易性

第 2 回の記事では、このような環境をインストールするために必要な手順を紹介するとともに、Lotus Forms Server を組み込む方法を含め、デプロイメントの選択肢について説明します。手順のすべてが完了したら、連載第 3 回に付属のモジュール/EAR ファイルを使用して、インストール済み環境を検証することができます。

参考文献

学ぶために

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

  • ご自分に最適な方法で 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, Lotus
ArticleID=556083
ArticleTitle=BPM と Webform の統合: Lotus Webform Server を使用したビジネス・スペースでのヒューマン・タスク (第 1 回)
publish-date=09232010