ローン処理複合アプリケーションの作成
執筆:
Sherry Barkodar
および
Bob May
、管理:
Ron Jacobus
<br>
2008 年 4 月
このページは、NetBeans IDE 6.1 リリースに適用されます
このチュートリアルでは、簡単なローン処理複合アプリケーションの概要と、複合アプリケーションの配備、実行、およびテストについて示します。
目次
ビジネスユースケース
ローン処理複合アプリケーションは、次のビジネスユースケースと、図 1 に示す場合に利用できます。
ユーザーは、個人識別情報、要望するローンの金額、クレジット履歴などの情報をローン要求に入力し、ローンを申請します。
ローン要求が受信されると、ユーザーから提供された個人情報は既存のデータベース全体にわたって検証され、その情報と要求された金額に基づいて、承認が与えられるか拒否されます。
一定の手続きが済んだあと、承認書面の形でレポートが生成され、ユーザーへ送信されてローンの承認を確認します。
ローンが何らかの理由で拒否された場合は、拒否の理由を示すレポートが生成され、表示されます。
図 1: ローン処理ユースケース
予想される所要時間: 45 分
チュートリアルの要件
次に進む前に、この節の要件を確認してください。
前提条件
このチュートリアルでは、Java 言語、Java プラットフォーム、および NetBeans IDE の基本的な知識またはプログラミング経験があることを前提としています。
このチュートリアルに必要なソフトウェア
このチュートリアルに従うには、次のソフトウェアとリソースが必要です。
ダウンロードオプション「すべて」には、このチュートリアルに必要な SOA Pack と GlassFish V2 アプリケーションサーバーが含まれています。
ページの先頭へ
GlassFish アプリケーションサーバーの構成と起動
アプリケーションを配備する前に、GlassFish アプリケーションサーバーを正しく構成し、稼動させておく必要があります。
NetBeans 6.1 のダウンロード「すべて」には、GlassFish V2 アプリケーションサーバーが含まれています。NetBeans 6.1 をインストールすると、GlassFish V2 もインストールされます。
GlassFish アプリケーションサーバーを起動するには、次の手順に従います。
「サービス」ウィンドウが表示されていない場合は、「ウィンドウ」>「サービス」を選択します。
「サービス」ウィンドウで「サーバー 」ノードを展開します。
「サーバー 」ノードに GlassFish V2 のサブノードが含まれるはずです。GlassFish アプリケーションサーバー のノードが表示されない場合は、GlassFish アプリケーションサーバーを構成する 手順へ進んでください。
GlassFish V2 のノードを右クリックし、「起動」を選択します。
「出力」ウィンドウに、アプリケーションの起動に関するログ情報が表示されます。「出力」ウィンドウが表示されていない場合は、「ウィンドウ」>「出力」>「出力」を選択します。
「Application server startup complete 」というメッセージが「出力」ウィンドウに表示されたら、アプリケーションサーバーは実行中です。
注: GlassFish アプリケーションサーバーのノードに緑色の矢印のバッジが表示されていれば、そのサーバーは実行中です。
注 : アプリケーションを GlassFish アプリケーションサーバーに配備すると、GlassFish を自動的に起動します。したがって、アプリケーションサーバーを手動で起動する必要はありません。
代替のアプリケーションサーバーを選択
次の手順は、GlassFish V2 アプリケーションサーバーの別のバージョンを使用するように NetBeans 6.1 IDE を構成する方法を示しています。アプリケーションサーバーの別のバージョンをすでにダウンロードし、インストールしてあることを前提としています。
「サービス」ウィンドウで「サーバー」ノードを右クリックし、ポップアップメニューから「サーバーを追加」を選択します。
「サーバーインスタンスの追加」ダイアログが開きます。
「サーバーを選択」ページで、「サーバー」ドロップダウンリストから「GlassFish V2」を選択します。
「次へ」をクリックします。
「プラットフォームフォルダの場所」ページが開きます。
「プラットフォームの場所」フィールドの「参照」ボタンを使用して、アプリケーションサーバーのインストール場所に移動して、選択します。
GlassFish アプリケーションサーバーをデフォルトの場所にインストールした場合、表 1 をインストール場所の参考にしてください。さもなければ、GlassFish V2 アプリケーションサーバーをインストールした場所を指定してください。
表 1: アプリケーションサーバーのデフォルトのインストールディレクトリ
Solaris OS
Linux
root
/opt/SUNWappserver
/opt/SDK
Solaris OS
Linux
user
~/SUNWappserver
~/SDK
Mac OS X
N/A
~/SUNWappserver
~/SDK
Windows
N/A
C:\Sun\AppServer
C:\Sun\SDK
「ローカルのデフォルトドメインを登録」ラジオボタンを選択し、「次へ」をクリックします。
ドメインの管理者のユーザー名とパスワードを入力します。
インストール時にデフォルト値のままにした場合、ユーザー名は admin で、パスワードは adminadmin です。
「完了」をクリックします。
BPEL モジュールプロジェクトの作成
この節では、 LoanRequestor という BPEL モジュールプロジェクトを作成します。
LoanRequestor プロジェクトを作成するには、次の手順に従います。
NetBeans のツールバーで、「ファイル 」>「新規プロジェクト 」をクリックします。
「新規プロジェクト」ウィザードが表示さます。
「カテゴリリスト」で「SOA 」ノードを選択し、「プロジェクト」リストで「BPEL モジュール 」ノードを選択します。
「次へ」をクリックします。
「プロジェクト名」フィールドに「 LoanRequestor 」と入力します。
(省略可能)「プロジェクトの場所」フィールドで、「参照」ボタンを使用して移動し、IDE がプロジェクトファイルを格納する場所を選択します。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウに、 LoanRequestor という BPEL モジュールプロジェクト用のプロジェクトノードが含まれます。
ページの先頭へ
XML スキーマの作成
この節では、BPEL モジュールプロジェクトに新しい XML スキーマファイルを追加したあと、スキーマに XML スキーマコンポーネントを追加します。
LoanRequestor.xsd を作成するには、次の手順に従います。
「プロジェクト」ウィンドウで「LoanRequestor 」プロジェクトノードを展開して、「プロセスファイル 」ノードを右クリックし、「新規 」>「その他 」をクリックします。
「新規ファイル」ウィザードが表示さます。
「新規ファイル」ウィザードで、次の手順を実行します。
「ファイルの種類を選択」ページで、カテゴリに XML 、ファイルの種類に XML スキーマ を選択します。「次へ 」をクリックします。
「ファイル名」フィールドに「 LoanRequestor 」と入力します。
「完了 」をクリックします。
この時点で、「プロジェクト」ウィンドウの「プロセスファイル 」ノードに、「LoanRequestor.xsd 」というサブノードが含まれます。ソースエディタには、XML スキーマファイル LoanRequestor.xsd のタブが含まれており、スキーマビューが開かれています。
スキーマビューで「デザイン」ボタンをクリックし、XML スキーマエディタのデザインビューを開きます。
XML スキーマに複合型を追加するには、次の手順に従います。
デザインビューの「パレット」で、「XML スキーマコンポーネント」セクションを展開し、「複合型」アイコンを選択します。
「パレット」ウィンドウが表示されていない場合は、メインメニューから「ウィンドウ」>「パレット」を選択します。
選択したアイコンを、「複合型 」ノードのスキーマデザイン領域までドラッグします。
「複合型 」ノードが追加され、その複合型の名前 (newComplexType ) が選択され、変更できるようになっています。
新しいノードに「processApplicType 」と入力し、Enter キーを押します。
この時点で、デザイン領域に processApplicType という新しい複合型が表示されます。
手順 1 から 3 を繰り返して、processApplicRespType という複合型を作成します。
processApplicType に局所要素を追加するには、次の手順に従います。
「パレット」の「XML コンポーネント」セクションで、「要素」アイコンを選択し、選択したアイコンをスキーマデザイン領域の「processApplicType 」ノード上へドラッグします。
「 newElement 」という要素ノードが追加されます。
「プロパティー」ウィンドウが表示されない場合は、「ウィンドウ」>「プロパティー」を選択します。
スキーマデザイン領域で、「 newElement 」ノードを選択します。
「プロパティー」ウィンドウで、「名前 」プロパティーの値フィールドを選択して編集可能にし、「socialSecurityNumber 」と入力します。
「プロパティー」ウィンドウで、「空を許容 」プロパティーの値フィールドを True に設定します。
「プロパティー」ウィンドウで、「 定義 」プロパティーの省略符号ボタン (...) をクリックします。
「定義」ダイアログが開きます。
リスト内で「組み込み型 」ノードを展開し、「string 」ノードを選択して「了解」をクリックします。
手順 1 ~ 7 を繰り返し、次の要素を追加します。
applicantName
True
string
applicantAddress
True
string
applicantEmailAddress
True
string
applicantAge
True
int
applicantGender
True
string
annualSalary
True
double
amountRequested
True
double
processApplicRespType に局所要素を追加するには、次の手順に従います。
「パレット」の「XML コンポーネント」セクションで、「要素」アイコンを選択し、選択したアイコンをスキーマデザイン領域の「processApplicRespType 」ノード上へドラッグします。
「 newElement 」という要素ノードが追加されます。
スキーマデザイン領域で、「 newElement 」ノードを選択します。
「プロパティー」ウィンドウで、「名前 」プロパティーの値フィールドを選択して編集可能にし、「return 」と入力します。
「プロパティー」ウィンドウで、「 定義 」プロパティーの省略符号ボタン (...) をクリックします。
「定義」ダイアログが開きます。
リスト内で「組み込み型 」ノードを展開し、「string 」ノードを選択します。
「了解」をクリックします。
複合型に局所要素をすべて追加すると、デザインビューは次のようになります。
大域要素を追加するには、次の手順に従います。
「パレット」の「XML コンポーネント」セクションで、「要素」アイコンを選択し、選択したアイコンをデザイン領域の「要素」ノード上へドラッグします。
newElement コンポーネントがスキーマデザイン領域の「 要素 」ノードの下に追加されます。
デザインビューのスキーマデザイン領域で、「 newElement 」ノードを選択します。
「プロパティー」ウィンドウで、「名前 」プロパティーの値フィールドを選択して編集可能にし、「processApplicElement 」と入力します。
「プロパティー」ウィンドウで、「 定義 」プロパティーの省略符号ボタン (...) をクリックします。
「要素の定義 - 定義」ダイアログが開きます。
型の一覧で、「複合型 」ノードを展開し、「processApplicType 」複合型ノードを選択します。
「閉じる」をクリックします。
手順 1 から 6 を繰り返して、別の processApplicRespElement という大域要素を追加し、定義として processApplicRespType 複合型を選択します。
変更を保存するには、「プロジェクト」ウィンドウで「LoanRequestor 」プロジェクトノードを選択し、メインメニューから「ファイル」>「すべてを保存」を選択します。
ページの先頭へ
WSDL ドキュメントの作成
この節では、BPEL モジュールプロジェクトに WSDL ファイルを追加したあと、WSL ドキュメントのコンポーネントを構成します。
LoanRequestor.wsdl を作成するには、次の手順に従います。
「プロジェクト」ウィンドウで「LoanRequestor 」プロジェクトノードを展開して「プロセスファイル 」ノードを右クリックし、「新規」>「WSDL ドキュメント」を選択します。
「新規 WSDL ドキュメント」ウィザードが開きます。
「名前と場所」ページで、次の操作を実行します。
「ファイル名」フィールドに「 LoanRequestor 」と入力します。
「XML スキーマファイルをインポート」チェックボックスを選択します。
「XML スキーマ」フィールドで、「参照」ボタンをクリックします。
「インポートの追加」ダイアログが開きます。このダイアログには、インポート可能な XML スキーマが表示されます。
「ファイル別 」>「LoanRequestor 」>「プロセスファイル 」を展開し、「LoanRequestor.xsd 」を選択します。
インポート列で LoanRequestor.xsd 行のチェックボックスが選択されていることを確認します。
「了解」をクリックします。
「新規 WSDL ドキュメント」ウィザードで、「次へ」をクリックします。
「抽象構成」ページが開きます。
「抽象構成」ページの「入力」領域で、次の操作を実行します。
「メッセージ部分名」列で、デフォルト値をダブルクリックし、フィールドを編集可能にします。
「 requestLoanMessage 」と入力し、Enter キーを押します。
「要素または型」列で、省略符号ボタン (...) をクリックします。
「要素または型を選択」ダイアログが開きます。
「ファイル別 」>「LoanRequestor 」>「src/LoanRequestor.xsd 」>「要素 」を展開します。
注: 「ファイル別 」ノードを参照するために、「要素または型の選択」ダイアログを一番上までスクロールする必要がある場合があります。
「要素 」ノードの下で、「processApplicElement 」ノードを選択して「了解」をクリックします。
「抽象構成」ページの「出力」領域で、次の操作を実行します。
「メッセージ部分名」列で、デフォルト値をダブルクリックし、フィールドを編集可能にします。
「 responsePart 」と入力し、Enter キーを押します。
「要素または型」列で、省略符号ボタン (...) をクリックします。
「要素または型を選択」ダイアログが開きます。
「ファイル別 」>「LoanRequestor 」>「src/LoanRequestor.xsd 」>「要素 」を展開します。
注: 「ファイル別 」ノードを参照するために、「要素または型の選択」ダイアログを一番上までスクロールする必要がある場合があります。
「要素 」ノードの下で、「processApplicRespElement 」を選択して「了解」をクリックします。
入力を完了した「抽象構成」ページは次のようになります。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウの「プロセスファイル 」ノードに、「LoanRequestor.wsdl 」というサブノードが含まれます。ソースエディタには、WSDL ファイル LoanRequestor.wsdl のタブが含まれており、WSDL ビューが開かれています。
ページの先頭へ
パートナー Web サービスの起動と配備
この「ローン申請」は、公開インタフェースを介してパートナーサービスと通信します。それらのインタフェースは、パートナー固有の WSDL ファイル内で定義されます。
このチュートリアルでは、LoanProcessor という J2EE プロジェクトを使用します。このプロジェクトは、EJB モジュールプロジェクトの作成 にある指示に従って最初から作成することも、loanprocessing-loanprocessor.zip の圧縮されたプロジェクトファイルをダウンロードすることもできます。LoanRequestor プロジェクトには、パートナーサービスの非常に基本的な EJB 実装が含まれています。
LoanRequestorCompositeApp をテスト実行するためには、前もってパートナー Web サービスを、バンドルされている GlassFish Server に配備する必要があります。
この実装は、ローンサービスプロセス用のテストハーネスとして機能することのみを意図しています。
LoanProcessor プロジェクトを開くには、次の手順に従います。
loanprocessing-loanprocessor.zip ファイルをダウンロードして、IDE の作業用ディレクトリで展開します。
「LoanProcessor 」プロジェクトディレクトリが作成されます。
IDE のメインメニューから、「ファイル」>「プロジェクトを開く」を選択します。
「プロジェクトを開く」ウィザードが開きます。
プロジェクトを展開したディレクトリに移動し、「LoanProcessor 」プロジェクトを選択して、「プロジェクトフォルダを開く」をクリックします。
進捗状況を示すダイアログが表示されたあと、「プロジェクト」ウィンドウにプロジェクトが表示されます。
LoanProcessor プロジェクト を配備するには、次の手順に従います。
「LoanProcessor 」プロジェクトノードを右クリックし、「配備の取り消しおよび配備」を選択します。
「出力」ウィンドウに「構築成功 」というメッセージが表示されるまで待ちます。
LoanProcessor エンタープライズアプリケーションが正常に配備されたことを確認するために、「サービス」ウィンドウに切り替えます。
「サービス」ウィンドウで、「サーバー 」>「GlassFish V2 」>「アプリケーション 」>「EJB モジュール 」を展開します。
「LoanProcessor 」ノードが追加されます。このノードが表示されない場合、配備は失敗です。
ページの先頭へ
BPEL プロセスの作成
LoanRequestor.bpel を作成するには、次の手順に従います。
「プロジェクト」ウィンドウで「LoanRequestor 」プロジェクトノードを展開して「プロセスファイル 」ノードを右クリックし、「新規」>「BPEL プロセス」を選択します。
「新規 BPEL プロセス」ウィザードが開きます。
「ファイル名」フィールドに「 LoanRequestor 」と入力します。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウの「プロセスファイル 」ノードに、「LoanRequestor.bpel 」というサブノードが含まれます。
ソースエディタには、BPEL プロセス LoanRequestor.bpel のタブが含まれており、BPEL Designer のデザインビューが開かれています。
パートナーリンクを追加するには、次の手順に従います。
「プロジェクト」ウィンドウで「LoanRequestor 」プロジェクトノードを展開して、「プロセスファイル 」ノードを展開し、「LoanRequestor.wsdl 」ノードを選択します。
選択した項目 (LoanRequestor.wsdl ) を、「プロジェクト」ウィンドウからデザインビューの左側へドラッグします。選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
LoanRequestor プロパティーで、「名前」フィールドの値を「BpelImplementation 」に変更します。
その他のデフォルト値 (WSDL ファイルに /LoanRequestor.wsdl 、「既存のパートナーリンク型を使用」ラジオボタン選択) を受け入れ、「了解」をクリックします。
「プロジェクト」ウィンドウで、「LoanProcessor 」EJB モジュールプロジェクトノードを展開してから「Web サービス 」ノードを展開し、「LoanProcessor 」Web サービスノードを選択します。
「プロジェクト」ウィンドウからデザインビューに、選択した項目 (「 LoanProcessor 」Web サービスノード) をドラッグします。選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
「新規作成 パートナーリンク」ダイアログが開きます。
「名前」フィールドの値を EjbImplementation に変更します。
その他のデフォルト値 (WSDL ファイルに /Partners/LoanProcessor/LoanProcessor.wsdl 、「新規作成したパートナーリンク型を使用」ラジオボタン選択) を受け入れ、「了解」をクリックします。
IDE によって「LoanRequestor 」>「プロセスファイル 」の下に「パートナー 」フォルダが追加されます。
「パートナー 」ノードを展開します。
このフォルダには、LoanProcessor.wsdl 、LoanProcessorWrapper.wsdl 、および LoanProcessor_xsd_1.xsd を含む「LoanProcessor 」ノードが含まれています。
受信アクティビティーを追加するには、次の手順に従います。
「パレット」の「Web サービス」セクションで受信アイコンを選択し、選択したアイコンをプロセス開始 (Process Start) アクティビティーとプロセス終了 (Process End) アクティビティーの間のデザイン領域までドラッグします。
選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
このアクションにより、デザインビューに Receive1 という受信アクティビティーが配置されます。
Receive1 アクティビティーの「編集 」ボタンをクリックします。
「Receive1 [受信] - プロパティーエディタ」が開きます。
「名前」フィールドの値を ReceiveFromCustomer に変更します。
「パートナーリンク」ドロップダウンリストから、「BpelImplementation」を選択します。
「操作」フィールドは IDE によって LoanRequestorOperation と記入されます。
「入力変数」フィールドの横にある「作成」ボタンをクリックし、「新規入力変数」ダイアログをデフォルト値のままにして、「了解」をクリックします。
LoanRequestorOperationIn という新規入力変数が作成されます。
「了解」をクリックして「Receive1 [受信] - プロパティーエディタ」を閉じます。
これで、デザインビューの受信アクティビティーに ReceiveFromCustomer というラベルが付き、BpelImplementation パートナーリンクと LoanRequestor プロセスの受信アクティビティー間に接続が表示されます。
呼び出しアクティビティーを追加するには、次の手順に従います。
「パレット」の「Web サービス」セクションで「呼び出し」アイコンを選択し、選択したアイコンを ReceiveFromCustomer アクティビティーの下のデザイン領域までドラッグします。
選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
このアクションにより、デザインビューに Invoke1 という呼び出しアクティビティーが配置されます。
Invoke1 アクティビティーの編集 ボタンをクリックします。
「Invoke1 [呼び出し] - プロパティーエディタ」が開きます。
「名前」フィールドの値を InvokeLoanProcessorEJB に変更します。
「パートナーリンク」ドロップダウンリストから、「EjbImplementation」を選択します。
「操作」フィールドは IDE によって processApplicOperation と記入されます。
「入力変数」フィールドの横にある「作成」ボタンをクリックし、「新規入力変数」ダイアログをデフォルト値のままにして、「了解」をクリックします。
ProcessApplicOperationIn という新規入力変数が作成されます。
「出力変数」フィールドの横にある「作成」ボタンをクリックし、「新規出力変数」ダイアログをデフォルト値のままにして、「了解」をクリックします。
ProcessApplicOperationOut という新規出力変数が作成されます。
「了解」をクリックして「Invoke1 [呼び出し] - プロパティーエディタ」を閉じます。
これで、デザインビューの呼び出しアクティビティーに InvokeLoanProcessorEJB というラベルが付き、LoanRequestor プロセスの呼び出しアクティビティーと EjbImplementation パートナーリンク間の接続が表示されます。
返信アクティビティーを追加するには、次の手順に従います。
「パレット」の「Web サービス」セクションで「返信」アイコンを選択し、選択したアイコンを InvokeLoanProcessorEJB アクティビティーの下のデザイン領域までドラッグします。
選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
このアクションにより、デザインビューに Reply1 という返信アクティビティーが配置されます。
Reply1 アクティビティーの「編集 」ボタンをクリックします。
「Reply1 [返信] - プロパティーエディタ」が開きます。
「名前」フィールドの値を ReplyToCustomer に変更します。
「パートナーリンク」ドロップダウンリストから、「BpelImplementation」を選択します。
「操作」フィールドは IDE によって LoanRequestorOperation と記入されます。
「正常応答」ラジオボタンが選択されているかを確認してください。
「出力変数」フィールドの横にある「作成」ボタンをクリックし、「新規出力変数」ダイアログをデフォルト値のままにして、「了解」をクリックします。
LoanRequestorOperationOut という新規出力変数が作成されます。
「了解」をクリックして「Reply1 [返信] - プロパティーエディタ」を閉じます。
この時点で、デザインビュー内の返信アクティビティーに ReplyToCustomer というラベルが付きます。
CopyCustomerInfo 代入アクティビティーを追加するには、次の手順に従います。
「パレット」の「基本アクティビティー」セクションで「代入」アイコンを選択し、選択したアイコンを ReceiveFromCustomer アクティビティーと InvokeLoanProcessorEJB アクティビティーの間のデザイン領域までドラッグします。
選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
このアクションにより、デザインビューに Assign1 という代入アクティビティーが配置されます。
「プロパティー」ウィンドウが表示されない場合は、メインメニューから「ウィンドウ」>「プロパティー」を選択します。
デザインビューで、「Assign1 」アクティビティーをクリックします。
「プロパティー」ウィンドウで、「名前 」プロパティーを「CopyCustomerInfo 」に変更します。
BPEL エディタで、「マッパー」ボタンを選択して「BPEL マッパー」ウィンドウを開きます。LoanRequestor.bpel タブが選択されていることを確認します。
BPEL マッパーのソース (左側) 区画で、「変数 」>「LoanRequestorOperationIn 」>「requestLoanMessage 」ノードを展開します。
スキーマの processApplicType 複合型に、以前に作成した各局所要素のノードが表示されます。
BPEL マッパーの宛先区画 (右側の区画) の「変数 」ノードで、「ProcessApplicOperationIn 」および「parameters 」ノードを展開します。
この「parameters 」ノードの下に、同じ要素がノードとして表示されます。
socialSecurityNumber を、ソース区画から宛先区画の「socialSecurityNumber 」ノードにドラッグします。
次の各変数について、手順 8 を繰り返します。
applicantName 、applicantAddress 、applicantEmailAddress 、applicantAge 、applicantGender 、annualSalary 、および amountRequested 。
変更を保存するには、「プロジェクト」ウィンドウで「LoanRequestor 」プロジェクトノードを選択し、メインメニューから「ファイル」>「すべてを保存」を選択します。
CopyLoanStatus 代入アクティビティーを追加するには、次の手順に従います。
BPEL エディタのツールバーで「デザイン 」を選択してデザインビューに切り替えます。
「パレット」の「基本アクティビティー」セクションで「代入」アイコンを選択し、選択したアイコンを InvokeLoanProcessorEJB アクティビティーと ReplyToCustomer アクティビティーの間のデザイン領域までドラッグします。
このアクションにより、デザインビューに Assign1 という代入アクティビティーが配置されます。
Assign1 アクティビティーを選択します。
「プロパティー」ウィンドウで、「名前 」プロパティーの値を「CopyLoanStatus 」に変更します。
BPEL エディタのツールバーで「マッパー 」を選択して BPEL マッパービューに切り替えます。
BPEL マッパーのソース区画で、「変数 」>「ProcessApplicOperationOut 」>「パラメータ 」ノードを展開します。
「parameters 」の下に「return 」ノードが表示されます。
BPEL マッパーの宛先区画で「変数 」>「LoanRequestorOperationOut 」>「responsePart 」を展開します。
「responsePart 」の下に「return 」ノードが表示されます。
return を、ソース区画から BPEL マッパーの宛先区画にある「return 」ノードにドラッグします。
変更を保存するには、「プロジェクト」ウィンドウで「LoanRequestor 」プロジェクトノードを選択し、メインメニューから「ファイル」>「すべてを保存」を選択します。
ページの先頭へ
BPEL モジュールプロジェクトの構築
LoanRequestor プロジェクトを構築するには、次の手順に従います。
「プロジェクト」ウィンドウで「 LoanRequestor 」ノードを右クリックし、「プロジェクトの生成物を削除して構築」を選択します。
「出力」ウィンドウに「構築成功 」のメッセージが表示されたら、構築は成功です。
ページの先頭へ
BPEL モジュールプロジェクトを配備する前に、複合アプリケーションを作成する必要があります。プロジェクトを配備すると、アプリケーションサーバーがサービスアセンブリを使用できるようになり、サービスユニットが実行可能になります。
複合アプリケーションプロジェクトを作成するには、次の手順に従います。
メインメニューから「ファイル」>「新規プロジェクト」を選択します。
「新規プロジェクト」ウィザードが開きます。
「カテゴリ」リストで「SOA 」ノードを選択します。
「プロジェクト」リストで、「複合アプリケーション」ノードを選択します。
「次へ」をクリックします。
「プロジェクト名」フィールドに「 LoanRequestorCompositeApp 」と入力します。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウに、 LoanRequestorCompositeApp という複合アプリケーションプロジェクト用のプロジェクトノードが含まれます。
ページの先頭へ
この節では、複合アプリケーション (サービスアセンブリ) エディタを使用してプロジェクトの構成を変更し、BPEL モジュールプロジェクトを構築します。WSDL 終了点および接続をそれぞれ 1 つ追加し、自動生成された WSDL 終了点のプロパティーを、妥当性検査して変更します。
複合アプリケーション (サービスアセンブリ) エディタを使用してプロジェクトの構成を変更し、BPEL モジュールプロジェクトを構築するには、次の手順に従います。
「プロジェクト」ウィンドウで、LoanRequestorCompositeApp プロジェクトノードを展開します。「サービスアセンブリ」ノードを右クリックし、ポップアップメニューから「編集」を追加します。
IDE によって、複合アプリケーション (サービスアセンブリ) エディタで「.casa 」ファイルが表示されます。エディタのデザインビューのデザイン領域には、WSDL ポート、JBI モジュール、外部モジュールの 3 つの部分があります。
注: NetBeans 6.0 で CASA エディタを呼び出すには、「プロジェクト」ウィンドウで複合アプリケーションを右クリックして「アプリケーション構成を編集 」を選択します。
「プロジェクト」ウィンドウで「LoanRequestor 」プロジェクトノードを選択し、選択した項目を「LoanRequestorCompositeApp.casa 」ファイルのデザインビューにある JBI モジュール領域にドラッグします。
エディタのツールバーで「プロジェクトを構築」ボタンをクリックし、LoanRequestor BPEL モジュールプロジェクトを構築します。
この手順が完了すると、
「出力」ウィンドウに「構築成功」のメッセージが表示されます。
LoanRequestorCompositeApp.casa ファイルのデザインビューは、次のようになります。
WSDL 終了点を作成するには、次の手順に従います。
「パレット」の「WSDL 結合」セクションで、soap アイコンを選択します。
選択した項目を、LoanRequestorCompositeApp.casa ファイルのデザインビューにある WSDL ポート領域にドラッグします。
IDE によって casaPort1 というラベルの WSDL ポートが追加されます。
接続を作成するには、次の手順に従います。
デザインビューの「casaPort1 」ポートで、消費終了点アイコンをクリックします。
選択した項目を、JBI モジュール領域の (BPEL) LoanRequestor ボックスにある LoanRequestorPortTypeRole_myRole にドラッグします。
新しい接続が作成されます。
ページの先頭へ
テストケースを追加して操作に結合し、入力を行なったあと、テスターを使用することにより、複合アプリケーションプロジェクトの機能を強化できます。
複合アプリケーションを配備するには、次の手順に従います。
「 LoanRequestorCompositeApp 」プロジェクトノードを右クリックし、「プロジェクトを配備」を選択します。
「出力」ウィンドウに「構築成功 」のメッセージが表示されたら、配備は成功です。
許可された要求に対するテストケースを追加するには、次の手順に従います。
「プロジェクト」ウィンドウで、「LoanRequestorCompositeApp 」プロジェクトノードを展開し、「テスト 」ノードを右クリックし、ポップアップメニューから「新規テストケース」を選択します。
「新規テストケース」ウィザードが開きます。
「テストケース名」フィールドに「ApprovedTestCase 」と入力し、「次へ」をクリックします。
「WSDL ドキュメントの選択」ページで、「LoanRequestorCompositeApp - プロセスファイル 」ノードを展開し、「LoanRequestorCompositeApp.wsdl 」を選択して「次へ」をクリックします。
「テストする操作を選択」ページで、「 LoanRequestorOperation 」を選択して「完了」をクリックします。
「プロジェクト」ウィンドウの「テスト 」ノードの下に、新しいノード「ApprovedTestCase 」が追加されます。このノードには「入力 」と「出力 」の 2 つのサブノードが含まれています。ソースエディタには、入力ファイル Input.xml 用のタブが含まれています。
注: ソースエディタに Input.xml のタブが含まれていない場合は、「プロジェクト」ウィンドウの「入力 」ノードをダブルクリックしてファイルを開きます。
Input.xml ファイル用の「ソースエディタ」タブで、クエスチョンマークのプレースホルダを、次のボールドの値に置き換えて変数値を定義します。
<loan:socialSecurityNumber>111-11-1111 </loan:socialSecurityNumber>
<loan:applicantName>May JavaOne </loan:applicantName>
<loan:applicantAddress>1601 Willow Road, Menlo Park, CA 94025 </loan:applicantAddress>
<loan:applicantEmailAddress>
mayj12008
@
gmail.com
</loan:applicantEmailAddress>
<loan:applicantAge>36 </loan:applicantAge>
<loan:applicantGender>female </loan:applicantGender>
<loan:annualSalary>100000 </loan:annualSalary>
<loan:amountRequested>1000000 </loan:amountRequested>
メインメニューから、「ファイル」>「すべてを保存」を選択します。
Input.xml 用の「ソースエディタ」タブを閉じます。
拒絶された要求に対するテストケースを追加するには、次の手順に従います。
「プロジェクト」ウィンドウで、「LoanRequestorCompositeApp 」プロジェクトノードを展開し、「テスト 」ノードを右クリックし、ポップアップメニューから「新規テストケース」を選択します。
「新規テストケース」ウィザードが開きます。
「テストケース名」フィールドに「RejectedTestCase 」と入力し、「次へ」をクリックします。
「WSDL ドキュメントの選択」ページで、「LoanRequestorCompositeApp - プロセスファイル 」ノードを展開し、「LoanRequestorCompositeApp.wsdl 」を選択して「次へ」をクリックします。
「テストする操作を選択」ページで、「 LoanRequestorOperation 」を選択して「完了」をクリックします。
「プロジェクト」ウィンドウの「テスト 」ノードの下に、新しいノード「RejectedTestCase 」が追加されます。このノードには「入力 」と「出力 」の 2 つのサブノードが含まれています。ソースエディタには、入力ファイル Input.xml 用のタブが含まれています。
注: ソースエディタに Input.xml のタブが含まれていない場合は、「プロジェクト」ウィンドウの「入力 」ノードをダブルクリックしてファイルを開きます。
Input.xml ファイル用の「ソースエディタ」タブで、クエスチョンマークのプレースホルダを、次のボールドの値に置き換えて変数値を定義します。
<loan:socialSecurityNumber>222-22-2222 </loan:socialSecurityNumber>
<loan:applicantName>John Smith </loan:applicantName>
<loan:applicantAddress>8888 Willow Road, Fremont, CA 94538 </loan:applicantAddress>
<loan:applicantEmailAddress>
jsmithj12007
@
gmail.com
</loan:applicantEmailAddress>
<loan:applicantAge>15 </loan:applicantAge>
<loan:applicantGender>male </loan:applicantGender>
<loan:annualSalary>100000 </loan:annualSalary>
<loan:amountRequested>1000000 </loan:amountRequested>
メインメニューから、「ファイル」>「すべてを保存」を選択します。
Input.xml 用の「ソースエディタ」タブを閉じます。
ApprovedTestCase の基準値情報を持つテストファイルを生成するには、次の手順に従います。
「プロジェクト」ウィンドウで「ApprovedTestCase 」の下の「出力 」ノードをダブルクリックして、ファイルの内容を調べます。
Output.xml は、初期状態では空です。
「プロジェクト」ウィンドウで「ApprovedTestCase 」ノードを右クリックし、ポップアップメニューから「実行」を選択します。
注: Output.xml は空であり、IDE によってテストの結果と Output.xml の内容が比較できないため、最初の実行は特別なケースです。「出力」ウィンドウに失敗のメッセージが表示されます。
「空の出力を上書きしますか?」ダイアログが開きます。
「はい」をクリックします。
IDE によって Output.xml がデフォルトの情報で作成されます。このバージョンのファイルには、後続のテスト実行で使用する基準値情報が含まれています。このバージョンのファイルは「golden」ファイルとも呼ばれます。
RejectedTestCase の基準値情報を持つテストファイルを生成するには、次の手順に従います。
「プロジェクト」ウィンドウで「RejectedTestCase 」の下の「出力 」ノードをダブルクリックして、ファイルの内容を調べます。
Output.xml は、初期状態では空です。
「プロジェクト」ウィンドウで「RejectedTestCase 」ノードを右クリックし、ポップアップメニューから「実行」を選択します。
注: Output.xml は空であり、IDE によってテストの結果と Output.xml の内容が比較できないため、最初の実行は特別なケースです。「出力」ウィンドウに失敗のメッセージが表示されます。
「空の出力を上書きしますか?」ダイアログが開きます。
「はい」をクリックします。
IDE によって Output.xml がデフォルトの情報で作成されます。このバージョンのファイルには、後続のテスト実行で使用する基準値情報が含まれています。
テストを実行するには、次の手順に従います。
「プロジェクト」ウィンドウで「ApprovedTestCase 」ノードを右クリックし、ポップアップメニューから「実行」を選択します。
Output.xml の内容は保存され、新しい結果で上書きされません。「出力 」ノードの直下にある成功したテストを示すノードをダブルクリックして、結果を確認します。
「プロジェクト」ウィンドウで「RejectedTestCase 」ノードを右クリックし、ポップアップメニューから「実行」を選択します。
成功したテストを示すノードをダブルクリックして、結果を確認します。
ソースエディタですべてのドキュメントを選択します。
ページの先頭へ
(省略可能) EJB モジュールプロジェクトの作成
このチュートリアルでは、LoanProcessor という J2EE プロジェクトを使用します。このプロジェクトは、この節にある指示に従って最初から作成することも、loanprocessing-loanprocessor.zip の圧縮されたプロジェクトファイルをダウンロードすることもできます。
EJB モジュールプロジェクトを作成するには、次の手順に従います。
メインメニューから「ファイル」>「新規プロジェクト」を選択します。
「カテゴリ」リストで「エンタープライズ 」ノードを選択し、「プロジェクト」リストで「EJB モジュール 」ノードを選択します。
「次へ」をクリックします。
「プロジェクト名」フィールドに「 LoanProcessor 」と入力します。
(省略可能)「プロジェクトの場所」フィールドの「参照」ボタンを使用して、IDE が EJB プロジェクトファイルを格納する別のフォルダに移動して選択します。
「次へ 」をクリックします。
「サーバーと設定」ページで、選択しているサーバーが GlassFish V2 であることを確認して「完了 」をクリックします。
この時点で、「プロジェクト」ウィンドウに、 LoanProcessor という EJB モジュールプロジェクト用のプロジェクトノードが含まれます。
Web サービスを作成するには、次の手順に従います。
「プロジェクト」ウィンドウで「LoanProcessor 」プロジェクトノードを右クリックし、ポップアップメニューから「新規」>「Web サービス」を選択します。
「新規 Web サービス」ウィザードが開きます。
「新規 Web サービス」ウィザードで、次の手順を実行します。
「名前と場所」ページの「Web サービス名」フィールドに、「 LoanProcessor 」と入力します。
「パッケージ」フィールドに「 com.sun.loanprocessor 」と入力します。
「完了」をクリックします。
IDE によって Web サービスが作成され、ソースエディタで LoanProcessor が表示されます。
「プロジェクト」ウィンドウで、「LoanProcessor 」プロジェクトノードを展開し、さらに「Web サービス 」ノードを展開します。
「LoanProcessor 」ノード (Web サービス) を右クリックし、「オペレーションを追加」を選択します。
「オペレーションを追加」ダイアログが開きます。
「名前」フィールドに「processApplicOperation 」と入力します。
「パラメータ」タブで、「追加」ボタンをクリックして次の 7 つのパラメータを追加し、IDE によって各パラメータに追加された行を完成させます。
socialSecurityNumber
java.lang.String
applicantName
java.lang.String
applicantAddress
java.lang.String
applicantEmailAddress
java.lang.String
applicantAge
java.lang.Integer
applicantGender
java.lang.String
annualSalary
java.lang.Double
amountRequested
java.lang.Double
「了解 」をクリックします。
ソースエディタの「ソース」ボタンをクリックし、「LoanProcessor.java 」ファイルのソースビューを表示します。
processApplicOperation メソッドのスケルトンを持つ LoanProcessor.java ドキュメントが、IDE によって更新されます。
ソースエディタの次の部分を、
//TODO write your implementation code here:
return null;
次のコードに置き換えます。
int MINIMUM_AGE_LIMIT = 18;
int MAXIMUM_AGE_LIMIT = 65;
double MINIMUM_SALARY = 20000;
int AVERAGE_LIFE_EXPECTANCY = 70;
String result = "Loan Application APPROVED.";
// Check age of applicant
// If less than min age limit, rejected
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;
}
// Check age of applicant
// If more than max age limit, rejected
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;
}
// Check annual salary
// If less than min salary, rejected
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;
}
// Calculate the years to pay off loan based on applicantAge
int yearsToRepay = AVERAGE_LIFE_EXPECTANCY - applicantAge;
// Calculate the max amount of loan based on years to pay off loan
double limit = annualSalary * yearsToRepay * 0.5;
// Check amount requested, if higher than limit, rejected
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;
変更を保存するには、メインメニューから「ファイル」>「保存」を選択します。
(省略可能) ソースエディタの「LoanProcessor 」タブを閉じます。
パートナー Web サービスの起動と配備 に戻ります。
ページの先頭へ
次の手順
関連項目
ページの先頭へ