本文へジャンプ

WebSphere Developer Domain > テクノロジー > 

みて・さわって・わかる!楽しいSOA

第4回 さらに進んだIT実装を体験しよう

レベル: 初級・中級者向け
掲載日:2006年9月13日 (水)
日本アイ・ビー・エム株式会社
本間 由紀子

第3回では、WebSphere Business ModelerからエクスポートされたBPELを利用し、WebSphere Integration Developer(以下、WID)によってIT的な実装を行ってみました。今回はいよいよ最終回。前回に引き続きWIDを使った作業となります。さらに一歩進んだIT的実装を行うとともに、テスト・サーバーを使って実際にビジネス・プロセスを動かし、どのようにプロセスが実行されるのか体験してみましょう。


ベーシックなBPELにプラスαの要素を

前回の手順を終えた時点で、ModelerからエクスポートされたBPELのビジネス・プロセスをそのまま使い、呼び出される各サービスにどのような実装をするかを定義した状態になっているはずです。アセンブリー・エディターで見てみると、以下のようになっているでしょう。



図1 前回までの内容で出来たアセンブリー・エディター
拡大図

また、BPELのプロセスは、Modelerでエクスポートしたものから全く手を入れていない状態です。
この状態でも最低限の実装は完了していますので、様々なサービスを組み合わせたコンポジット・アプリケーションとしてサーバー上で動かすことは可能ですが、ここではさらにいくつかの実装を加えることにしましょう。
BPELエディター上で一次審査の後の条件分岐を見てみると、「ゴールドカード(Gold Card)」を指定してあるか、「一般カード(Ordinary Card)」を指定してあるかによって、次に呼び出すサービスが変わってきます。しかし、上記の2つ以外を指定した場合はエラーとなってしまいます。このようなエラーハンドリングの部分などは、ITの実装時点で考えなくてはいけない部分です。そこで、プロセスに少し手を入れて、ゴールドカードか一般カード以外を指定した場合には、例外をThrowし、その例外を、BPELの「フォールト・ハンドラー」というアクティビティによってキャッチするような形にしてみます。
エディター上にThrowアクティビティーを置き、それに対して「カード種類?」アクティビティよりリンクを追加します。「二次審査」にも「カード発行」にも行かない時、このThrowアクティビティーに入るような設定をしておきます。
次は、例外をThrowした後、キャッチする部分が必要です。これには「フォールト・ハンドラー」アクティビティーを使用します。本来はこのアクティビティーで、例外の種類によってどのような処理をするかを細かく指定することができますが(例外をキャッチした時点で、他のサービスを呼び出すといった処理も可能です)、今回の例では、JavaSnippetを使ってメッセージを表示させるだけとします。できあがりは以下のような形になります。




図2 要素を追加したBPEL
拡大図

上に戻る

ヒューマン・タスクをさらに使いやすく~カスタムJSP

このまま実行をしても、付属のBPCエクスプローラーを使用してテストを行えば、自動的に入力・出力画面を生成してくれます。ただ、すべてテキストでの入力となるため、ユーザーインターフェースとしては少し使いづらいものになるかもしれません。その対策として、ヒューマン・タスクでは、自分で作ったJSPファイル(通称カスタムJSP)を入出力画面として定義できる仕組みが存在します。
 まず、ヒューマン・タスクでは入力メッセージJSP(前のプロセスから受け取った値を表示させる画面)と、出力メッセージJSP(次のプロセスに渡す値を表示させる画面)の2つのJSPファイルを用意する必要があります。使用するJSPファイルをワークスペース内にインポートし、ヒューマン・タスク・エディター上の設定画面よりそれらのJSPファイルを指定する形になります。



図3 ヒューマン・タスク・エディターでのカスタムJSP設定
拡大図

上に戻る

テスト・サーバーでテストをしてみよう

WIDには、作成したモジュールのテストができるように、WebSphere ESB(WESB)とWebSphere Process Server(WPS)2種類のテスト・サーバーが付属しています。これらのサーバーはスタンドアロンのサーバーとして、WESB、WPSそれぞれの製品版と全く同じように使うことが出来ますので、テストには非常に便利です。また、モジュールのテスト・サーバーへのデプロイは、簡単に行うことができるようになっています。




図4 WID上のサーバー・ペイン
拡大図

ここではWebSphere Process Serverのテスト・サーバーを選択し、起動させます。起動には数分間かかります。起動した後は、サーバー名を右クリックすると出るメニューの中から、「プロジェクトの追加と削除」を選択。ここで出来たモジュールのEARファイルをデプロイできるようになっています。
できあがったコンポジット・アプリケーションのテストを行うため、WPSでは「BPCエクスプローラー」というWebクライアントが用意されています。これを起動すると、以下のような画面が表示されます。




図5 BPCエクスプローラーの初期画面

プロセスを起動するためには「1.ユーザーのプロセス・テンプレート」から起動するビジネス・プロセスを選択します。また、プロセスがヒューマン・タスクに到達すると、「2.ユーザーのタスク」から操作が出来るようになります。このとき、カスタムJSPを設定した部分には、JSPの画面が反映されていることに注目してください。今回の事例では、ヒューマン・タスクに対して権限を設定していません(特定のユーザーのみ実行できるというような設定)が、通常は権限を設定し、BPCエクスプローラーを使用するに際して、ログインを行う形になります。




図6 エクスプローラーで表示させたカスタムJSP
拡大図

上に戻る

まとめ

このように、BPELプロセスをさらに加工したり、カスタムJSPのようなユーザー・インターフェースを定義していくことで、SOAでのプロセスを目に見える形で使いやすく実装していくことが可能となります。詳しくは、添付のFlashムービーにて、どのように行うかを確認してみてください。
今まで第1回~第4回まで、ビジネス・プロセスのモデリングからWIDへのエクスポート、ITの実装とテストまでを行ってきました。このシリーズでは、初めての方でもわかりやすいように、簡略化されたプロセスを使い、簡単な実装のみを行ってきましたが、実際の場でも考え方は同じです。ぜひこれを機会に、身近なところからビジネス・プロセスを見直し、SOA化への一歩を踏み出してみてはいかがでしょうか。

WIDによる一歩すすんだ実装とテスト (4.07MB)

上に戻る

前頁へ
レベルマークについて

このページで紹介されている情報はレベル別にカテゴライズされています。

上級者向け
中級者向け
初級者向け
入門者向け

SOAポータル
詳細はこちら  

IBM SOA認定試験
日本語で提供開始!
ビジネスの方もITの方も貴方の「SOA度」を試してみませんか?
詳細はこちら