FeaturesPluginsDocs & SupportCommunityPartners

ローン処理複合アプリケーションの作成


このチュートリアルでは、単純なローン要求複合アプリケーションの概要を説明し、NetBeans Enterprise Pack 5.5 バンドルと必要なすべての実行環境を使用して、複合アプリケーションを配備、実行、およびテストする例を示します。

このローン要求複合アプリケーションは、次のビジネス用途の事例に利用できます。

  • ユーザーは、個人識別情報、要望するローンの金額、クレジット履歴などの情報をローン要求に入力し、ローンを申請します。
  • ローン要求が受信されると、ユーザーから提供された個人情報は既存のデータベース全体にわたって検証され、その情報と要求された金額に基づいて、承認が与えられるか拒否されます。
  • 一定の手続きが済んだあと、承認書面の形でレポートが生成され、ユーザーへ送信されてローンの承認を確認します。
  • ローンが何らかの理由で拒否された場合は、拒否の理由を示すレポートが生成され、表示されます。

Loanprocessing 図
(表示を拡大)

前提条件

このチュートリアルは、Java の言語とプラットフォーム、および NetBeans IDE についての基本的な知識またはプログラミング経験を持つユーザーを想定しています。

システム要件

このチュートリアルでは、ユーザーのシステムが、『NetBeans Enterprise Pack 5.5 リリースノート』の「システム要件」の項で指定された要件を満たしていることを想定しています。

このチュートリアルに必要なソフトウェア

開始する前に、コンピュータに次のソフトウェアをインストールしておく必要があります。

  • NetBeans IDE 5.5 と NetBeans Enterprise Pack 5.5 (ダウンロード)
  • このチュートリアルの配備の手順を実行するには、Sun Java System Application Server Platform Edition 9 Update 1 が必要です。 この Application Server は、NetBeans Enterprise Pack 5.5 のダウンロードに付属しています。

目次

ページの先頭へ

チュートリアル環境の構成

アプリケーションを配備できるよう、前もって Sun Java System Application Server および JBI 実行環境を正しく構成し、稼動させておく必要があります。

チュートリアル環境を構成するには、次の手順に従います。

  1. 「実行時」タブをクリックして「実行時」ウィンドウを開きます。
  2. 「実行時」ウィンドウで「サーバー」ノードを展開します。
  3. 「サーバー」ノードにすでに「Sun Java System Application Server 9」ノードが含まれている場合は、手順 5 へ進みます。
  4. 「サーバー」ノードに「Sun Java System Application Server 9」ノードが含まれていない場合は、次のようにしてアプリケーションサーバーを追加します。
    1. 「サーバー」ノードを右クリックし、ポップアップメニューから「サーバーを追加」を選択します。
      「サーバーインスタンスを追加」ダイアログが開きます。
    2. 「サーバーを選択」ページで、「サーバー」ドロップダウンリストから「Sun Java System Application Server」を選択します。
    3. (省略可能)「名前」フィールドで、IDE 内でこのサーバーを識別するために使用する任意の名前を入力するか、デフォルト値のままにします。
    4. 「次へ」をクリックします。
      「プラットフォームフォルダの場所」ページが開きます。
    5. 「プラットフォームの場所」フィールドの「参照」ボタンを使用して、Application Server のインストール場所に移動して選択します。
      インストール時にデフォルト値のままにした場合、インストール場所は C:\Sun\Appserver です。
    6. 「ローカルのデフォルトドメインを登録」オプションを選択します。
    7. 「次へ」をクリックします。
    8. ドメインの管理者のユーザー名とパスワードを入力します。
      インストール時にデフォルト値のままにした場合、ユーザー名は admin で、パスワードは adminadmin です。
    9. 「完了」をクリックします。
  5. 「実行時」ウィンドウで、「Sun Java System Application Server 9」ノードを右クリックし、「起動」を選択します。
    開始オプションが使用可能でない場合、サーバーはすでに稼動しており、次の手順は省略できます。
  6. 「出力」ウィンドウに次のメッセージが表示されるまで待ちます。
    アプリケーションサーバーの起動は完了しました。
    サーバーが稼動している場合は、「Sun Java System Application Server 9」ノード上に緑色の矢印が表示されます。

アプリケーションサーバー稼動中
(表示を拡大)

ページの先頭へ

BPEL プロジェクトの作成

この節では、LoanRequestor という BPEL モジュールプロジェクトを作成します。

LoanRequestor プロジェクトを作成するには、次の手順に従います。

  1. IDE のメインメニューから、「ファイル」>「新規プロジェクト」を選択します。
    「新規プロジェクト」ウィザードが開きます。
  2. 「カテゴリ」リストで、「サービス指向アーキテクチャー」ノードを選択します。
  3. 「プロジェクト」リストで、「BPEL モジュール」ノードを選択します。
  4. 「次へ」をクリックします。
  5. 「プロジェクト名」フィールドに「LoanRequestor」と入力します。
  6. (省略可能)「プロジェクトの場所」フィールドの「参照」ボタンを使用して、IDE がプロジェクトファイルを格納する別のフォルダに移動して選択します。
  7. 「完了」をクリックします。
    この時点で、「プロジェクト」ウィンドウに、LoanRequestor という BPEL モジュールプロジェクト用のプロジェクトノードが含まれます。

LoanRequestor プロジェクト

ページの先頭へ

XML スキーマの作成

この節では、BPEL モジュールプロジェクトに新しい XML スキーマファイルを追加したあと、スキーマに XML スキーマコンポーネントを追加します。

LoanRequestor.xsd を作成するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで「LoanRequestor」プロジェクトノードを展開して「プロセスファイル」ノードを右クリックし、「新規」>「ファイル/フォルダ」を選択します。
    「新規ファイル」ウィザードが開きます。
  2. 「新規ファイル」ウィザードで、次の手順を実行します。
    1. 「ファイルの種類を選択」ページの「カテゴリ」リストで「XML」 ノードを選択してから、「ファイルの種類」リストで「XML スキーマ」ノードを選択し、「次へ」をクリックします。
    2. 「ファイル名」フィールドに「LoanRequestor」と入力します。
    3. 「完了」をクリックします。
    この時点で、「プロジェクト」ウィンドウの「プロセスファイル」ノードに、「LoanRequestor.xsd」というサブノードが含まれます。ソースエディタには、XML スキーマファイル LoanRequestor.xsd のタブが含まれており、スキーマビューが開かれています。
  3. スキーマビューで「デザイン」ボタンをクリックし、XML スキーマエディタのデザインビューを開きます。

XML スキーマエディタのデザインビュー

XML スキーマに複合型を追加するには、次の手順に従います。

  1. デザインビューの「パレット」で、「XML スキーマコンポーネント」セクションを展開し、「複合型」アイコンを選択します。
    「パレット」ウィンドウが表示されない場合は、メインメニューから「ウィンドウ」>「パレット」を選択します。
  2. 選択したアイコンを、「複合型」ノードの直下のスキーマデザイン領域までドラッグします。
    「複合型」ノードが追加され、その複合型の名前 (newComplexType) が選択され、変更できるようになっています。
  3. 新しいノードに「processApplication」と入力し、Enter キーを押します。
    この時点で、デザイン領域に processApplication という新しい複合型が表示されます。
  4. 手順 1 〜 3 を繰り返し、別の新しい複合型に processApplicationResponse という名前を付けます。

XML スキーマに追加された複合型

processApplication および processApplicationResponse にローカル要素を追加するには、次の手順に従います。

  1. 「パレット」の「XML コンポーネント」セクションで、「要素」アイコンを選択し、選択したアイコンをスキーマデザイン領域の「processApplication」ノード上へドラッグします。
    newElement」という要素ノードが追加されます。
  2. 「プロパティー」ウィンドウが表示されない場合は、「ウィンドウ」>「プロパティー」を選択します。
  3. スキーマデザイン領域で、「newElement」ノードを選択します。
  4. 「プロパティー」ウィンドウで、「名前」プロパティーの値フィールドを選択して編集可能にし、「socialSecurityNumber」と入力します。
  5. 「プロパティー」ウィンドウで、「nil 化可能」プロパティーの値フィールドを True に設定します。
  6. 「プロパティー」ウィンドウで、「定義」プロパティーの省略符号ボタン (...) をクリックします。
    「定義」ダイアログが開きます。
  7. リスト内で「組み込み型」ノードを展開し、「string」ノードを選択します。
  8. 「了解」をクリックします。
  9. 手順 1 〜 8 を繰り返し、次の要素を追加します。
    名前 nil 化可能 定義
    applicantName True string
    applicantAddress True string
    applicantEmailAddress True string
    applicantAge True int
    applicantGender True string
    annualSalary True double
    amountRequested True double
  10. 「パレット」の「XML コンポーネント」セクションで、「要素」アイコンを選択し、選択したアイコンをスキーマデザイン領域の「processApplicationResponse」ノード上へドラッグします。
    newElement」という要素ノードが追加されます。
  11. スキーマデザイン領域で、「newElement」ノードを選択します。
  12. 「プロパティー」ウィンドウで、「名前」プロパティーの値フィールドを選択して編集可能にし、「return」と入力します。
  13. 「プロパティー」ウィンドウで、「定義」プロパティーの省略符号ボタン (...) をクリックします。
    「定義」ダイアログが開きます。
  14. リスト内で「組み込み型」ノードを展開し、「string」ノードを選択します。
  15. 「了解」をクリックします。

複合型に追加されたローカル要素

大域要素を追加するには、次の手順に従います。

  1. 「パレット」の「XML コンポーネント」セクションで、「要素」アイコンを選択し、選択したアイコンを「要素」ノードの直下のデザイン領域までドラッグします。
    newElement コンポーネントがスキーマデザイン領域の「要素」ノードの下に追加されます。
  2. デザインビューのスキーマデザイン領域で、「newElement」ノードを選択します。
  3. 「プロパティー」ウィンドウで、「名前」プロパティーの値フィールドを選択して編集可能にし、「processApplication」と入力します。
  4. 「プロパティー」ウィンドウで、「定義」プロパティーの省略符号ボタン (...) をクリックします。
    「要素の定義 - 定義」ダイアログが開きます。
  5. 型の一覧で、「複合型」ノードを展開し、「processApplication」複合型ノードを選択します。
  6. 「了解」をクリックします。
  7. 手順 1 〜 6 を繰り返し、次の要素を追加します。
    名前 複合型
    processApplicationResponse processApplicationResponse
  8. 変更を保存するには、「プロジェクト」ウィンドウで「LoanRequestor」プロジェクトノードを選択し、IDE のメインメニューから「ファイル」>「すべてを保存」を選択します。

XML スキーマに追加された大域要素

ページの先頭へ

WSDL ドキュメントの作成

この節では、BPEL モジュールプロジェクトに WSDL ファイルを追加したあと、WSL ドキュメントのコンポーネントを構成します。

LoanRequestor.xsd を作成するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで「LoanRequestor」プロジェクトノードを展開して「プロセスファイル」ノードを右クリックし、「新規」>「WSDL ドキュメント」を選択します。
    「新規 WSDL ドキュメント」ウィザードが開きます。
  2. 「名前と場所」ページで、次の操作を実行します。
    1. 「ファイル名」フィールドに「LoanRequestor」と入力します。
    2. 「XML スキーマファイルをインポート」チェックボックスを選択します。
    3. 「XML スキーマ」フィールドで、「参照」ボタンをクリックします。
      「スキーマを選択」ダイアログが開きます。このダイアログには、プロジェクト内の XML スキーマが表示されます。
    4. src/LoanRequestor.xsd」を選択し、「了解」をクリックします。
    5. 「次へ」をクリックします。
    「抽象構成」ページが開きます。
  3. 「抽象構成」ページの「入力」領域で、次の操作を実行します。
    1. 「メッセージ部分名」列で、デフォルト値をダブルクリックし、フィールドを編集可能にします。
    2. requestLoanMessage」と入力し、Enter キーを押します。
    3. 「要素または型」列で、省略符号ボタン (...) をクリックします。
      「要素または型を選択」ダイアログが開きます。
    4. LoanRequestor」ノード、「src/LoanRequestor.xsd」ノード、「要素」ノードを順に展開します。
    5. 「要素」ノードの下で、「processApplication」ノードを選択して「了解」をクリックします。
  4. 「抽象構成」ページの「出力」領域で、次の操作を実行します。
    1. 「メッセージ部分名」列で、デフォルト値をダブルクリックし、フィールドを編集可能にします。
    2. responsePart」と入力し、Enter キーを押します。
    3. 「要素または型」列で、省略符号ボタン (...) をクリックします。
      「要素または型を選択」ダイアログが開きます。
    4. LoanRequestor」ノード、「src/LoanRequestor.xsd」ノード、「要素」ノードを順に展開します。
    5. 「要素」ノードの下で、「processApplicationResponse」を選択して「了解」をクリックします。
  5. 「次へ」をクリックします。
    「具象構成」ページが開きます。
    注:次の手順を実行すると、ページ下部のエラーメッセージの表示が消えます。
  6. 「結合サブタイプ」で、「DOCUMENT リテラル」オプションを選択します。
  7. 「完了」をクリックします。この時点で、「プロジェクト」ウィンドウの「プロセスファイル」ノードに、「LoanRequestor.wsdl」というサブノードが含まれます。ソースエディタには、WSDL ファイル LoanRequestor.wsdl のタブが含まれており、新しい「WSDL」ビューが開かれています。

作成された LoanRequestor.wsdl
(表示を拡大)

ページの先頭へ

パートナーサービス

この「ローン申請」は、公開インタフェースを介してパートナーサービスと通信します。それらのインタフェースは、パートナー固有の WSDL ファイル内で定義されます。
このチュートリアルには、zip 形式で圧縮した LoanProcessor という J2EE プロジェクトと、EJB を新規に作成するための説明が「付録」に含まれています。LoanRequestor プロジェクトには、パートナーサービスの非常に基本的な EJB 実装が含まれています。
LoanRequestorCompositeApp をテスト実行するためには、前もってパートナー Web サービスを、バンドルされている Sun Java Application Server に配備する必要があります。

この実装は、ローンサービスプロセス用のテストハーネスとして機能することのみを意図しています。

LoanProcessor プロジェクトを開くには、次の手順に従います。

  1. ファイルシステム内に LoanTut という名前のディレクトリを作成します。
  2. loanejb.zip ファイルをダウンロードし、LoanTut ディレクトリの中へ抽出します。
  3. IDE のメインメニューから、「ファイル」>「プロジェクトを開く」を選択します。
    「プロジェクトを開く」ウィザードが開きます。
  4. 作成したばかりの「LoanTut」ディレクトリに移動し、「LoanProcessor」プロジェクトを選択して「プロジェクトフォルダを開く」をクリックします。
    進捗状況を示すダイアログが表示されたあと、「プロジェクト」ウィンドウにプロジェクトが表示されます。

追加された LoanProcessor プロジェクト

LoanProcessor プロジェクトを配備するには、次の手順に従います。

  1. LoanProcessor」を右クリックし、「プロジェクトを配備」を選択します。
  2. 「出力」ウィンドウに「構築成功」というメッセージが表示されるまで待ちます。
  3. LoanProcessor エンタープライズアプリケーションが正常に配備されたことを確認するために、「実行時」ウィンドウに切り替えます。
  4. Sun Java System Application Server」ノード、「アプリケーション」ノード、「EJB モジュール」ノードを順に展開します。
    LoanProcessor」ノードが追加されています。

配備された LoanProcessor プロジェクト

ページの先頭へ

BPEL プロセスの作成

LoanRequestor.bpel を作成するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで「LoanRequestor」プロジェクトノードを展開して「プロセスファイル」ノードを右クリックし、「新規」>「BPEL プロセス」を選択します。
    「新規 BPEL プロセス」ウィザードが開きます。
  2. 「ファイル名」フィールドに「LoanRequestor」と入力します。
  3. 「完了」をクリックします。
    この時点で、「プロジェクト」ウィンドウの「プロセスファイル」ノードに、「LoanRequestor.bpel」というサブノードが含まれます。
    ソースエディタには、BPEL プロセス LoanRequestor.bpel のタブが含まれており、BPEL Designer のデザインビューが開かれています。

作成された LoanRequestor.bpel

パートナーリンクを追加するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで「LoanRequestor」プロジェクトノードを展開して、「プロセスファイル」ノードを展開し、「LoanRequestor.wsdl」ノードを選択します。
  2. 選択した項目 (LoanRequestor.wsdl) を、「プロジェクト」ウィンドウからデザインビューまでドラッグします。
    「Partnerlink1 [パートナーリンク] - プロパティーエディタ」が開きます。
  3. 「名前」フィールドに「BpelImplementation」と入力します。
  4. デフォルト値のままにして、「了解」をクリックします。
  5. 「プロジェクト」ウィンドウで、「LoanProcessor」プロジェクトノードを展開してから「Web サービス」ノードを展開し、「LoanProcessor」Web サービスノードを選択します。
  6. 「プロジェクト」ウィンドウからデザインビューに、選択した項目 (「LoanProcessor」Web サービスノード) をドラッグします。
    「Partnerlink1 [パートナーリンク] - プロパティーエディタ」が開きます。
  7. 「名前」フィールドに「EjbImplementation」と入力します。
  8. デフォルト値のままにして、「了解」をクリックします。
  9. 「プロジェクト」ウィンドウで、「プロセスファイル」の下に「Partners」フォルダが作成されます。
  10. Partners」ノードを展開します。このフォルダには、LoanProcessor.wsdl ファイルと LoanProcessorService_schema1.xsd ファイルを含む「LoanProcessor」ノードがあります。

追加されたパートナーリンク

受信アクティビティーを追加するには、次の手順に従います。

  1. 「パレット」の「Web サービス」セクションで受信アイコンを選択し、選択したアイコンをプロセス開始 (Process Start) アクティビティーと空アクティビティーの間のデザイン領域までドラッグします。
    選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
    このアクションにより、デザインビューに Receive1 という受信アクティビティーが配置されます。
  2. Receive1 アクティビティーをダブルクリックします。
    「Receive1 [受信] - プロパティーエディタ」が開きます。
  3. 「名前」フィールドの値を ReceiveFromCustomer に変更します。
  4. 「パートナーリンク」ドロップダウンリストから、「BpelImplementation」を選択します。
    「操作」フィールドは IDE によって記入されます。
  5. 次の手順に従って、新しい入力変数を作成します。
    1. 「入力変数」フィールドの隣の「作成」ボタンをクリックします。
      「新規入力変数」ダイアログが開きます。
    2. 「名前」フィールドの値を requestLoanInput に変更します。
    3. 「了解」をクリックします。
  6. 「了解」をクリックして「Receive1 [受信] - プロパティーエディタ」を閉じます。
    この時点で、デザインビュー内の受信アクティビティーに ReceiveFromCustomer というラベルが付きます。

追加された ReceiveFromCustomer アクティビティー

呼び出しアクティビティーを追加するには、次の手順に従います。

  1. 「パレット」の「Web サービス」セクションで Invoke アイコンを選択し、選択したアイコンを受信アクティビティーの後ろの「デザイン」領域までドラッグします。
    選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
    このアクションにより、デザインビューに Invoke1 という呼び出しアクティビティーが配置されます。
  2. Invoke1 アクティビティーをダブルクリックします。
    「Invoke1 [呼び出し] - プロパティーエディタ」が開きます。
  3. 「名前」フィールドの値を InvokeLoanProcessorEJB に変更します。
  4. 「パートナーリンク」ドロップダウンリストから、「EjbImplementation」を選択します。
    「操作」フィールドは IDE によって記入されます。
  5. 次の手順に従って、新しい入力変数を作成します。
    1. 「入力変数」フィールドの隣の「作成」ボタンをクリックします。
      「新規入力変数」ダイアログが開きます。
    2. 「名前」フィールドの値を processApplicationInput に変更します。
    3. 「了解」をクリックします。
  6. 次の手順に従って、新しい出力変数を作成します。
    1. 「出力変数」フィールドの隣の「作成」ボタンをクリックします。
      「新規出力変数」ダイアログが開きます。
    2. 「名前」フィールドの値を processApplicationOutput に変更します。
    3. 「了解」をクリックします。
  7. 「了解」をクリックして「Invoke1 [呼び出し] - プロパティーエディタ」を閉じます。
    この時点で、デザインビュー内の呼び出しアクティビティーに InvokeLoanProcessorEJB というラベルが付きます。

追加された InvokeLoanProcessorEJB アクティビティー

返信アクティビティーを追加するには、次の手順に従います。

  1. 「パレット」の「Web サービス」セクションで返信アイコンを選択し、選択したアイコンを呼び出しアクティビティーの後ろの「デザイン」領域までドラッグします。
    選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
    このアクションにより、デザインビューに Reply1 という返信アクティビティーが配置されます。
  2. Reply1 アクティビティーをダブルクリックします。
    「Reply1 [返信] - プロパティーエディタ」が開きます。
  3. 「名前」フィールドの値を ReplyToCustomer に変更します。
  4. BpelImplementation へのパートナーリンクを設定します。
  5. 次の手順に従って、新しい出力変数を作成します。
    1. 「正常応答」オプションが選択されているかを確認してください。
    2. 「出力変数」フィールドの隣の「作成」ボタンをクリックします。
      「新規出力変数」ダイアログが開きます。
    3. 「名前」フィールドの値を requestLoanOutput に変更します。
    4. 「了解」をクリックします。
  6. 「了解」をクリックして「Reply1 [返信] - プロパティーエディタ」を閉じます。
    この時点で、デザインビュー内の返信アクティビティーに ReplyToCustomer というラベルが付きます。

追加された ReplyToCustomer アクティビティー

最初の代入アクティビティーを追加するには、次の手順に従います。

  1. デザイン領域で、空アクティビティーを選択し、右クリックしてポップアップメニューから「削除」を選択します。
  2. 「パレット」の「基本アクティビティー」セクションで代入アイコンを選択し、選択したアイコンを受信アクティビティーと呼び出しアクティビティーの間のデザイン領域までドラッグします。
    選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
    このアクションにより、デザインビューに Assign1 という代入アクティビティーが配置されます。
  3. Assign1 アクティビティーを選択します。
  4. 「Assign1 [代入] - プロパティー」ウィンドウで、「名前」プロパティーの値フィールドを選択して編集可能にし、「AssignReceiveToEJBInput」と入力して「了解」をクリックします。
  5. 「BPEL マッパー」ウィンドウが表示されない場合は、メインメニューから「ウィンドウ」>「BPEL マッパー」を選択します。
  6. BPEL マッパーの左区画で、「変数」の下の「requestLoanInput」ノードおよび「requestLoanMessage」ノードを展開します。
    requestLoanMessage の下に、socialSecurityNumberapplicantNameapplicantAddressapplicantEmailAddressapplicantAgeapplicantGenderannualSalaryamountRequested が表示されます。
  7. BPEL マッパーの右区画で、「変数」の下の「processApplicationInput」ノードおよび「parameters」ノードを展開します。
    パラメータの下に、socialSecurityNumberapplicantNameapplicantAddressapplicantEmailAddressapplicantAgeapplicantGenderannualSalaryamountRequested が表示されます。
  8. BPEL マッパーの左区画からBPEL マッパーの右区画の「socialSecurityNumber」ノードまで、socialSecurityNumber をドラッグします。
  9. 次の各変数について、手順 7 を繰り返します。
    applicantNameapplicantAddressapplicantEmailAddressapplicantAgeapplicantGenderannualSalary、および amountRequested
  10. 変更を保存するには、「プロジェクト」ウィンドウで「LoanRequestor」プロジェクトノードを選択し、IDE のメインメニューから「ファイル」>「すべてを保存」を選択します。

追加された AssignReceiveToEJBInput アクティビティー

2 番目の代入アクティビティーを追加するには、次の手順に従います。

  1. 「パレット」の「基本アクティビティー」セクションで代入アイコンを選択し、選択したアイコンを呼び出しアクティビティーと返信アクティビティーの間のデザイン領域までドラッグします。
    このアクションにより、デザインビューに Assign1 という呼び出しアクティビティーが配置されます。
  2. Assign1 アクティビティーを選択します。
  3. 「Assign1 [代入] - プロパティー」ウィンドウで、「名前」プロパティーの値フィールドを選択して編集可能にし、「AssignEJBOutputToReply」と入力して「了解」をクリックします。
  4. 「BPEL マッパー」ウィンドウが表示されない場合は、メインメニューから「ウィンドウ」>「BPEL マッパー」を選択します。
  5. BPEL マッパーの左区画で、「変数」の下の「processApplicationOutput」ノードと「parameters」ノードを展開します。
    return」が「parameters」の下に表示されます。
  6. BPEL マッパーの右区画で、「変数」の下の「requestLoanOutput」ノードと「responsePart」ノードを展開します。
    return」が「responsePart」の下に表示されます。
  7. BPEL マッパーの左区画から BPEL マッパーの右区画の「return」ノードまで、return をドラッグします。
  8. 変更を保存するには、「プロジェクト」ウィンドウで「LoanRequestor」プロジェクトノードを選択し、IDE のメインメニューから「ファイル」>「すべてを保存」を選択します。

追加された AssignEJBOutputToReply アクティビティー
(表示を拡大)

LoanRequestor BPEL プロジェクトを構築するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで「LoanRequestor」ノードを右クリックし、「プロジェクトの生成物を削除して構築」を選択します。
  2. 「出力」ウィンドウに「構築成功」のメッセージが表示されたら、構築は成功です。

LoanRequestorBPEL プロジェクトの「構築成功」メッセージ
(表示を拡大)

ページの先頭へ

複合アプリケーションの作成と配備

BPEL モジュールプロジェクトを配備する前に、JBI モジュールを配備プロジェクトに追加する必要があります。プロジェクトを配備すると、サービスアセンブリがアプリケーションサーバーで使用可能になり、したがって、そのサービスユニットを実行できるようになります。

複合アプリケーションプロジェクトを作成し、JBI モジュールを追加するには、次の手順に従います。

  1. IDE のメインメニューから、「ファイル」>「新規プロジェクト」を選択します。
    「新規プロジェクト」ウィザードが開きます。
  2. 「カテゴリ」リストで、「サービス指向アーキテクチャー」ノードを選択します。
  3. 「プロジェクト」リストで、「複合アプリケーション」ノードを選択します。
  4. 「次へ」をクリックします。
  5. 「プロジェクト名」フィールドに「LoanRequestorCompositeApp」と入力します。
  6. 「完了」をクリックします。
    この時点で、「プロジェクト」ウィンドウに、LoanRequestorCompositeApp という複合アプリケーションプロジェクト用のプロジェクトノードが含まれます。
  7. 「プロジェクト」ウィンドウで「LoanRequestorCompositeApp」プロジェクトノードを右クリックし、ポップアップメニューから「JBI モジュールを追加」を選択します。
    「プロジェクトの選択」ダイアログが開きます。
  8. このチュートリアルですでに作成した LoanRequestor プロジェクトを選択し、「プロジェクト JAR ファイルを追加」をクリックします。
    「プロジェクトの選択」ダイアログが閉じます。
  9. 「プロジェクト」ウィンドウで、「LoanRequestorCompositeApp」プロジェクトノードを展開し、さらに「JBI モジュール」ノードを展開します。
    LoanRequestor.jar」ノードが追加されたことを確認してください。

追加された「LoanRequestor.jar」ノード

複合アプリケーションを配備するには、次の手順に従います。

  • LoanRequestorCompositeApp」プロジェクトノードを右クリックし、「プロジェクトを配備」を選択します。
    「出力」ウィンドウに「構築成功」のメッセージが表示されたら、配備は成功です。

LoanRequestorCompositeApp プロジェクトの「構築成功」メッセージ
(表示を拡大)

ページの先頭へ

複合アプリケーションのテスト

テストケースを追加して操作に結合し、入力を行なったあと、テスターを使用することにより、複合アプリケーションプロジェクトの機能を強化できます。

LoanRequestorCompositeApp をテストするには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで、「LoanRequestorCompositApp」プロジェクトノードを展開し、「テスト」ノードを右クリックし、ポップアップメニューから「新規テストケース」を選択します。
    「新規テストケース」ウィザードが開きます。
  2. 「テストケース名」に「successTest」と入力し、「次へ」をクリックします。
  3. 「WSDL ドキュメントの選択」ページで、「LoanRequestor - プロセスファイル」ノードを展開し、「LoanRequestor.wsdl」を選択して「次へ」をクリックします。
  4. 「テストする操作を選択」ページで、「LoanRequestorOperation」を選択して「完了」をクリックします。
    「プロジェクト」ウィンドウで、「テスト」の下に新しい「successTest」ノードが追加されました。
    このノードには「入力」と「出力」の 2 つのサブノードが含まれています。
    ソースエディタには、入力ファイル Input.xml 用のタブが含まれています。
  5. ソースエディタに Input.xml のタブが含まれていない場合は、「プロジェクト」ウィンドウの「入力」ノードをダブルクリックしてファイルを開きます。
  6. ソースエディタの Input.xml ファイル用のタブで、次の操作を実行します。
    1. 次の行を探します。
      <loan:socialSecurityNumber>?string?</loan:socialSecurityNumber>.
    2. ?string?123-45-6789 に置き換えます。
      この行は次のようになります。
      <loan:socialSecurityNumber>123-45-6789</loan:socialSecurityNumber>.
    3. 手順 a と b を繰り返し、次の各行の要素を置き換えます。
      行の内容 置換前 置換後 結果としての行
      applicantName ?string? Gopalan <loan:applicantName>Gopalan</loan:applicantName>
      applicantAddress ?string? 507 Alberta <loan:applicantAddress>507 Alberta</loan:applicantAddress>
      applicantEmailAddress ?string? <loan:applicantEmailAddress></loan:applicantEmailAddress>
      applicantAge ?3? 36 <loan:applicantAge>36</loan:applicantAge>
      applicantGender ?string? male <loan:applicantGender>male</loan:applicantGender>.
      annualSalary ?1.051732E7? 100000 <loan:annualSalary>100000</loan:annualSalary>
      amountRequested ?1.051732E7? 1000000 <loan:amountRequested>1000000</loan:amountRequested>.
    4. IDE のメインメニューから、「ファイル」>「すべてを保存」を選択します。
  7. 「出力」をダブルクリックして、内容を調べます。
    最初は、output.xml は空です。したがって、最初のテスト実行によって output.xml に実際の出力が生成されます。それ以降のテスト実行では、実際の出力が output.xml の内容と比較されます。
  8. 「プロジェクト」ウィンドウで「successTest」ノードを右クリックし、ポップアップメニューから「実行」を選択します。
    注:最初の実行は特殊なケースで、これは、Output.xml は空であり、出力は Output に書き込まれるためです。
    「JUnit テスト結果」ウィンドウ内の失敗したとのメッセージを確認してください。
    「空の出力を上書きしますか?」ダイアログが開きます。
  9. 「はい」をクリックします。
  10. 「プロジェクト」ウィンドウで「successTest」ノードを右クリックし、ポップアップメニューから「実行」を選択します。
    初回の実行のあとは、Output は、空白ではありません。ファイルの内容は保存され、新しい結果によって上書きされません。

成功した successTest
(表示を拡大)

ページの先頭へ

 

BPEL Web サービスクライアントの作成

顧客は、Web サービスクライアントを介して必要な情報を送信します。

LoanApplicationWebclient Web サービスクライアントアプリケーションを作成するには、次の手順に従います。

  1. IDE のメインメニューから、「ファイル」>「新規プロジェクト」を選択します。
    「新規プロジェクト」ウィザードが開きます。
  2. 「カテゴリ」リストで「Web」ノードを選択します。
  3. 「プロジェクト」リストで、「Web アプリケーション」ノードを選択します。
  4. 「次へ」をクリックします。
  5. 「名前と場所」ページの「プロジェクト名」フィールドに、「LoanApplicationWebclient」と入力します。
  6. 「完了」をクリックします。
    この時点で、「プロジェクト」ウィンドウに、LoanApplicationWebclient という Web サービスクライアント用のプロジェクトノードが含まれます。
  7. 「プロジェクト」ウィンドウで「LoanApplicationWebclient」プロジェクトノードを右クリックし、「新規」>「ファイル/フォルダ」を選択します。
    「新規ファイル」ウィザードが開きます。
  8. 「新規ファイル」ウィザードで、次の手順を実行します。
    1. 「ファイルの種類を選択」ページの「カテゴリ」リストで、「Web サービス」ノードを選択します。
    2. 「ファイルの種類」リストで「Web サービスクライアント」ノードを選択します。.
    3. 「次へ」をクリックします。
    4. 「WSDL およびクライアントの場所」ページで、「ローカルファイル」オプションを選択します。
    5. 「参照」ボタンをクリックします。
    6. 「開く」ダイアログで、LoanRequestor.wsdl ファイルまで移動して選択します。
    7. 「開く」をクリックします。
    8. 「パッケージ」フィールドに「loanprocesswsclient」と入力します。
    9. 「完了」をクリックします。

LoanApplicationWebclient の構築成功

loanclient.jsp ページを作成するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで「LoanApplicationWebclient」プロジェクトノードを右クリックし、「新規」>「ファイル/フォルダ」を選択します。
  2. 「新規ファイル」ウィザードで、次の手順を実行します。
    1. 「ファイルの種類を選択」ページの「カテゴリ」リストで、「Web」ノードを選択します。
    2. 「ファイルの種類を選択」ページの「ファイルの種類」リストで、「JSP」ノードを選択します。
    3. 「次へ」をクリックします。
    4. 「JSP ファイル名」フィールドに「loanclient」と入力し、デフォルト値のままにします。
    5. 「完了」をクリックします。
  3. 「プロジェクト」ウィンドウで、「LoanApplicationWebclient」ノードを展開し、さらに「Web ページ」ノードを展開します。
    loanclient.jsp」ノードが追加され、ソースエディタに loanclient.jsp ファイルが開かれていることに注意してください。
  4. ソースエディタの loanclient.jsp ファイル用のタブで、右クリックしてポップアップメニューを表示し、「Web サービスクライアントのリソース」>「Web サービスオペレーションを呼び出す」を選択します。
  5. 「呼び出すオペレーションを選択」ダイアログで、「LoanApplicationWebClient」ノードを展開し、さらに「LoanRequestor」ノードを展開します。
  6. LoanRequestorService」ノードを展開し、さらに「LoanRequestorPort」ノードを展開します。
  7. LoanRequestorOperation」を選択し、「了解」をクリックします。

作成された loanclient.jsp
(表示を拡大)

loanclient.jsp ページを変更するには、次の手順に従います。

  1. ソースエディタの loanclient.jsp ファイル用のタブで、次のコード行を // TODO process result here の下に追加します。
    requestLoanMessage.setSocialSecurityNumber(request.getParameter("ssn"));
         requestLoanMessage.setApplicantName(request.getParameter("name"));
         requestLoanMessage.setApplicantAddress(request.getParameter("address"));
         requestLoanMessage.setApplicantEmailAddress(request.getParameter("email"));
         requestLoanMessage.setApplicantAge(Integer.parseInt(request.getParameter("age")));
         requestLoanMessage.setApplicantGender(request.getParameter("gender"));
         requestLoanMessage.setAnnualSalary(Double.parseDouble(request.getParameter("salary")));
         requestLoanMessage.setAmountRequested(Double.parseDouble(request.getParameter("loanamount")));
  2. ソースエディタの loanclient.jsp ファイル用のタブで、次の操作を実行します。
    1. 次の行を探します。
      out.println("Result = "+result);
    2. "+result」を「"+result.getReturn()」に置き換えます。
      この行は次のようになります。
      out.println("Result = "+result.getReturn());
    3. 次のコード行を // TODO handle custom exceptions here の下に追加します。
      out.println("===>>>Exception :" + ex.toString());
    4. 次のコード行を // <%-- end web service invocation --%><hr/> の下に追加します。
      <form action="index.jsp"> <input type="submit" value="Back To Loan Application"/> </form>
    5. 変更を保存するには、「プロジェクト」ウィンドウで「loanclient.jsp」ノードを選択し、IDE のメインメニューから「ファイル」>「保存」を選択します。

変更された loanclient.jsp
(表示を拡大)

index.jsp ファイルを変更するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで、「LoanApplicationWebclient」プロジェクトノードを展開し、さらに「Web ページ」ノードを展開します。
  2. index.jsp」ノードをダブルクリックします。
    ソースエディタに index.jsp ファイルが表示されます。
  3. 次のコード行を </body> の前に追加します。
    <form action="loanclient.jsp">
        <table>
            <tr>
               <td>SSN</td>
               <td><input type="text" name="ssn" value="123456789"/></td>
               <td></td>
            </tr>
            <tr>
               <td>Name</td>
               <td><input type="text" name="name" value="ORCHBank User"/></td>
                  <td></td>
            </tr>
            <tr>
               <td>Address</td>
               <td><input type="text" name="address" value="16 Network Circle, Menlo Park,CA" /></td>
               <td></td>
            </tr>
            <tr>
               <td>Email</td>
               <td><input type="text" name="email" value="orchbankuser@bankmail.com" /></td>
                  <td></td>
            </tr>
            <tr>
               <td>Age</td>
               <td><input type="text" name="age" value="27" /></td>
               <td>Age Limit :Min = 18, Max = 65, (If age exceeds 60 BPEL engine's rule rejects the application)</td>
            </tr>
            <tr>
               <td>Gender</td>
               <td><input type="text" name="gender" value="male" /></td>
                  <td></td>
            </tr>
            <tr>
               <td>Salary</td>
               <td><input type="text" name="salary" value="56789.10" /></td>
               <td>Minimum Salary = 20000.00</td>
            </tr>
            <tr>
               <td>Loan Amount</td>
               <td><input type="text" name="loanamount" value="19500.00" /></td>
                  <td></td>
            </tr>
            <tr>
               <td></td>
               <td><input type="submit" value="submit" name="Submit Application" /></td>
            </tr>
               <td></td>
        </table>
    </form>
  4. 変更を保存するには、「プロジェクト」ウィンドウで「index.jsp」ノードを選択し、IDE のメインメニューから「ファイル」>「保存」を選択します。

index.jsp ファイルを実行するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで、「LoanApplicationWebclient」ノードを展開し、さらに「Web ページ」ノードを展開します。
  2. WEB-INF」ノードを展開し、「index.jsp」を選択します。
  3. index.jsp ファイルを右クリックし、ポップアップメニューから「ファイルを実行」を選択します。
  4. 「出力」ウィンドウに、index.jsp が参照している URL と、構築が成功した場合は「構築成功」のメッセージが表示されます。
  5. ブラウザが表示されます。表示されない場合は、ブラウザを起動し、「出力」ウィンドウの「LoanApplicationWebclient (実行)」タブに示されている URL を入力してください。
    「JSP ページ」が表示されます。

    JSP ページ
    (表示を拡大)

  6. ブラウザで、「JSP Page」内のsubmit ボタンをクリックします。
    ローン申請の状態が表示されます。

    ローン申請の状態

ページの先頭へ

----------------------------------------

付録

EJB プロジェクトの作成

EJB モジュールを作成するには、次の手順に従います。

  1. IDE のメインメニューから、「ファイル」>「新規プロジェクト」を選択します。
  2. 「カテゴリ」で「エンタープライズ」ノードを選択します。
  3. 「プロジェクト」で、「EJB モジュール」ノードを選択します。
  4. 「次へ」をクリックします。
  5. 「プロジェクト名」フィールドに「LoanProcessor」と入力します。
  6. (省略可能)「プロジェクトの場所」フィールドの「参照」ボタンを使用して、IDE が EJB プロジェクトファイルを格納する別のフォルダに移動して選択します。
  7. 「完了」をクリックします。
    この時点で、「プロジェクト」ウィンドウに、LoanProcessor という EJB モジュールプロジェクト用のプロジェクトノードが含まれます。

新規 Web サービスを作成するには、次の手順に従います。

  1. 「プロジェクト」ウィンドウで「LoanProcessor」ノードを右クリックし、コンテキストメニューから「新規」>「Web サービス」を選択します。
    「新規 Web サービス」ウィザードが開きます。
  2. 「新規 Web サービス」ウィザードで、次の手順を実行します。
    1. 「名前と場所」ページの「Web サービス名」フィールドに、「LoanProcessor」と入力します。
    2. 「パッケージ」フィールドに「com.sun.loanprocessor」と入力します。
    3. 「完了」をクリックします。
  3. 「プロジェクト」ウィンドウで、「LoanProcessor」プロジェクトノードを展開し、さらに「Web サービス」ノードを展開します。
  4. LoanProcessor」ノードを右クリックし、「オペレーションを追加」を選択します。
    「オペレーションを追加」ダイアログが開きます。
  5. 「名前」フィールドに「processApplication」と入力します。
  6. 「追加」ボタンをクリックします。
    「メソッドのパラメータを入力」ダイアログが開きます。
  7. 「型」ドロップダウンリストから、「String」を選択します。
  8. 「名前」フィールドに、「socialSecurityNumber」と入力します。
  9. 「了解」をクリックします。
  10. 手順 6 〜 8 を繰り返して、他の 6 つのパラメータを次の説明を使用して作成します。
    名前
    String applicantName
    String applicantAddress
    String applicantEmailAddress
    int applicantAge
    String applicantGender
    double annualSalary
    double amountRequested
  11. 「了解」をクリックします。
  12. 「プロジェクト」ウィンドウで、「LoanProcessor」プロジェクトノードを展開し、さらに「Web サービス」ノードを展開します。
  13. LoanProcessor」Web サービスを展開し、「processApplication」ノードをダブルクリックします。
    ソースエディタに processApplication メソッド LoanProcessor.java 用のスケルトンを持つタブが含まれていることを確認してください。
  14. 次のメソッドの本体をコピーし、自動的に生成されたメソッドの直下にある、ソースエディタの LoanProcessor.java ファイル用のタブの中にペーストし、後述のように processApplication 操作を変更します。
    public String processApplication(@WebParam(name = "socialSecurityNumber") String socialSecurity,
    @WebParam(name = "applicantName")String applicantName, @WebParam(name = "applicantAddress") String applicantAddress,
    @WebParam(name = "applicantEmailAddress")String applicantEmailAddress,
    @WebParam(name = "applicantAge") int applicantAge, @WebParam(name = "applicantGender")String applicantGender,
    @WebParam(name = "annualSalary") double annualSalary, @WebParam(name = "amountRequested")double amountRequested) {
    int MINIMUM_AGE_LIMIT = 18;
    int MAXIMUM_AGE_LIMIT = 65;
    double MINIMUM_SALARY = 20000;
    int AVERAGE_LIFE_EXPECTANCY = 70;

    String result = "Loan Application APPROVED.";

    if(applicantAge < MINIMUM_AGE_LIMIT) {
    result = "Loan Application REJECTED - Reason:Under-aged "+applicantAge+".Age needs to be over "+MINIMUM_AGE_LIMIT+" years to qualify.";
    System.out.println(result);
    return result;
    }

    if(applicantAge > MAXIMUM_AGE_LIMIT) {
    result = "Loan Application REJECTED - Reason:Over-aged "+applicantAge+".Age needs to be under "+MAXIMUM_AGE_LIMIT+" years to qualify.";
    System.out.println(result);
    return result;
    }

    if(annualSalary < MINIMUM_SALARY) {
    result = "Loan Application REJECTED - Reason:Annual Salary $"+annualSalary+" too low.Annual Salary needs to be over $"+MINIMUM_SALARY+" to qualify.";
    System.out.println(result);
    return result;
    }

    int yearsToRepay = AVERAGE_LIFE_EXPECTANCY-applicantAge;
    double limit = annualSalary*yearsToRepay*0.5;
    if(amountRequested > limit) {
    result = "Loan Application REJECTED - Reason:You are asking for too much $"+amountRequested+". Annual Salary $"+annualSalary+", Age "+applicantAge+" years. Your limit is $"+limit;
    System.out.println(result);
    return result;
    }
    System.out.println(result);
    return result;
    }
  15. 変更を保存するには、IDE のメインメニューから「ファイル」>「保存」を選択します。


ページの先頭へ

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by