執筆:
Sherry Barkodar
および
Bob May
、管理:
Ron Jacobus
2008 年 10 月
このページは、NetBeans IDE 6.1 リリースに適用されます。
このチュートリアルでは、単純な SOA プロジェクトを作成します。次にこのプロジェクトに WSDL ドキュメントを追加し、WSDL エディタのパートナービューを使用してメッセージ、パートナーリンク型、ポート型、および操作を追加します。複合アプリケーションプロジェクトを作成し、複合アプリケーション (サービスアセンブリ) エディタを使用してプロジェクト構成を変更します。
GlassFish アプリケーションサーバーの構成と起動
NetBeans 6.1 ダウンロードの「すべて」をインストールすると、GlassFish アプリケーションサーバーが含まれます。NetBeans は、必要なときに、自動的に 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 モジュールプロジェクトの作成
この節では、 SynchronousSample という BPEL モジュールプロジェクトを作成します。
SynchronousSample プロジェクトを作成するには、次の手順に従います。
メインメニューから「ファイル」>「新規プロジェクト」を選択します。
「新規プロジェクト」ウィザードが開きます。
「カテゴリ」リストで「SOA 」ノードを選択し、「プロジェクト」リストで「BPEL モジュール 」ノードを選択します。
「次へ」をクリックします。
「プロジェクト名」フィールドに「 SynchronousSample 」と入力します。
(省略可能)「プロジェクトの場所」フィールドで、「参照」ボタンを使用して移動し、IDE がプロジェクトファイルを格納する別のフォルダを選択します。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウに、 SynchronousSample という BPEL モジュールプロジェクト用のプロジェクトノードが含まれます。
ページの先頭へ
XML スキーマの作成
この節では、BPEL モジュールプロジェクトに新しい XML スキーマファイルを追加したあと、スキーマに XML スキーマコンポーネントを追加します。
SynchronousSample.xsd を作成するには、次の手順に従います。
「プロジェクト」ウィンドウで「SynchronousSample 」プロジェクトノードを展開して「プロセスファイル 」ノードを右クリックし、「新規」>「その他」を選択します。
「新規ファイル」ウィザードが開きます。
「新規ファイル」ウィザードで、次の手順を実行します。
「ファイルの種類を選択」ページの「カテゴリ」リストで、「XML 」ノードを選択してから「ファイルの種類」リストで「XML スキーマ 」ノードを選択し、「次へ」をクリックします。
「ファイル名」フィールドに「 SynchronousSample 」と入力します。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウの「プロセスファイル 」ノードに、「SynchronousSample.xsd 」というサブノードが含まれます。ソースエディタには、XML スキーマファイル SynchronousSample.xsd のタブが含まれており、スキーマビューが開かれています。
スキーマビューで「デザイン」ボタンをクリックし、XML スキーマエディタのデザインビューを開きます。
XML スキーマに複合型を追加するには、次の手順に従います。
デザインビューの選択時に右側に表示される「パレット」で、「XML スキーマコンポーネント」セクションを展開し、「複合型」アイコンを選択します。
「パレット」ウィンドウが表示されていない場合は、メインメニューから「ウィンドウ」>「パレット」を選択します。
選択したアイコンを、「 複合型 」ノードの直下のスキーマデザイン領域までドラッグします。
1 つの複合型ノードが追加され、その複合型の名前 ( newComplexType ) が選択され、変更できるようになっています。
新しいノードに「 simpleProcess 」と入力し、Enter キーを押します。
この時点で、デザイン領域に simpleProcess という新しい複合型が表示されます。
simpleProcess に局所要素を追加するには、次の手順に従います。
「パレット」の「XML コンポーネント」セクションで、「要素」アイコンを選択し、選択したアイコンをスキーマデザイン領域の「 simpleProcess 」ノード上へドラッグします。
「 newElement 」という要素ノードが追加されます。
「プロパティー」ウィンドウが表示されない場合は、「ウィンドウ」>「プロパティー」を選択します。
スキーマデザイン領域で、「 newElement 」ノードを選択します。
「プロパティー」ウィンドウで、「名前 」プロパティーの値フィールドを選択して編集可能にし、「paramA 」と入力します。
「プロパティー」ウィンドウで、「 定義 」プロパティーの省略符号ボタン (...) をクリックします。
「定義」ダイアログが開きます。
リスト内で「組み込み型 」ノードを展開し、「string 」ノードを選択します。
「了解」をクリックします。
デザインビューが更新されます。
大域要素を追加するには、次の手順に従います。
「パレット」の「XML コンポーネント」セクションで、「要素」アイコンを選択し、選択したアイコンを「要素」ノードの直下のデザイン領域までドラッグします。
newElement コンポーネントがスキーマデザイン領域の「 要素 」ノードの下に追加されます。
デザインビューのスキーマデザイン領域で、「 newElement 」ノードを選択します。
「プロパティー」ウィンドウで、「名前 」プロパティーの値フィールドを選択して編集可能にし、「typeA 」と入力します。
「プロパティー」ウィンドウで、「 定義 」プロパティーの省略符号ボタン (...) をクリックします。
「要素の定義 - 定義」ダイアログが開きます。
型の一覧で、「複合型 」ノードを展開し、「simpleProcess 」複合型ノードを選択します。
「閉じる」をクリックします。
デザインビュー内で、選択した simpleProcess 複合型が typeA 要素ノードの隣に表示されます。
変更を保存するには、「プロジェクト」ウィンドウで「SynchronousSample 」プロジェクトノードを選択し、メインメニューから「ファイル」>「すべてを保存」を選択します。
ページの先頭へ
WSDL ドキュメントの作成
この節では、BPEL モジュールプロジェクトに WSDL ファイルを追加したあと、WSL ドキュメントのコンポーネントを構成します。
SynchronousSample.wsdl を作成するには、次の手順に従います。
「プロジェクト」ウィンドウで「SynchronousSample 」プロジェクトノードを展開して「プロセスファイル 」ノードを右クリックし、「新規」>「WSDL ドキュメント」を選択します。
「新規 WSDL ドキュメント」ウィザードが開きます。
「名前と場所」ページで、次の操作を実行します。
「ファイル名」フィールドに「 SynchronousSample 」と入力します。
「XML スキーマファイルをインポート」チェックボックスを選択します。
「XML スキーマ」フィールドで、「参照」ボタンをクリックします。
「インポートの追加」ダイアログが開きます。このダイアログには、インポート可能な XML スキーマが表示されます。
「ファイル別 」>「SynchronousSample 」>「プロセスファイル 」を展開し、「SynchronousSample.xsd 」を選択します。
「インポート」列で SynchronousSample.xsd のチェックボックスが選択されていることを確認します。
「了解」をクリックします。
「次へ」をクリックします。
「抽象構成」ページが開きます。
「抽象構成」ページの「入力」領域で、次の操作を実行します。
「メッセージ部分名」列で、デフォルト値 (part1 ) をダブルクリックし、フィールドを編集可能にします。
「 inputType 」と入力し、Enter キーを押します。
「要素または型」列で、省略符号ボタン (...) をクリックします。
「要素または型を選択」ダイアログが開きます。
「ファイル別 」>「SynchronousSample 」>「src/SynchronousSample.xsd 」>「要素 」を展開します。
注: 「ファイル別 」ノードを参照するために、「要素または型の選択」ダイアログを一番上までスクロールする必要がある場合があります。
「要素 」ノードの下で、「typeA 」ノードを選択して「了解」をクリックします。
「抽象構成」ページの「出力」領域で、次の操作を実行します。
「メッセージ部分名」列で、デフォルト値 (part1 ) をダブルクリックし、フィールドを編集可能にします。
「 resultType 」と入力し、Enter キーを押します。
「要素または型」列で、省略符号ボタン (...) をクリックします。
「要素または型を選択」ダイアログが開きます。
「ファイル別 」>「SynchronousSample 」>「src/SynchronousSample.xsd 」>「要素 」を展開します。
注: 「ファイル別 」ノードを参照するために、「要素または型の選択」ダイアログを一番上までスクロールする必要がある場合があります。
「要素 」ノードの下で、「typeA 」を選択して「了解」をクリックします。
入力を完了した「抽象構成」ページは次のようになります。
「次へ」をクリックします。
「具象構成」ページが開きます。
「結合サブタイプ」の下の「DOCUMENT リテラル」ラジオボタンを選択します。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウの「プロセスファイル 」ノードに、「SynchronousSample.wsdl 」というサブノードが含まれます。
ソースエディタには、WSDL ファイル SynchronousSample.wsdl のタブが含まれており、「WSDL」ビューが開かれています。
ページの先頭へ
BPEL プロセスの作成
この節では、BPEL プロセスの .bpel ファイルを作成します。次にパートナーリンク 1 つとアクティビティー 3 つをプロセスに追加します。
SynchronousSample.bpel を作成するには、次の手順に従います。
「プロジェクト」ウィンドウで「プロセスファイル 」ノードを右クリックし、「新規」>「BPEL プロセス」を選択します。
「新規 BPEL プロセス」ウィザードが開きます。
「ファイル名」フィールドに「 SynchronousSample 」と入力します。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウの「プロセスファイル 」ノードに、「SynchronousSample.bpel 」というサブノードが含まれます。
ソースエディタには、BPEL プロセス SynchronousSample.bpel のタブが含まれており、BPEL Designer のデザインビューが開かれています。
パートナーリンクを追加するには、次の手順に従います。
SynchronousSample.bpel のデザインビューがソースエディタ内でアクティブになっていることを確認します。
「プロジェクト」ウィンドウで、「SynchronousSample 」プロジェクトノード、「プロセスファイル 」ノードを順に展開し、「SynchronousSample.wsdl 」ノードを選択します。
選択した項目 ( SynchronousSample.wsdl ) を「プロジェクト」ウィンドウからデザインビューまでドラッグします。
パートナーリンクのボックスがデザイン領域に追加されます。
受信アクティビティーを追加するには、次の手順に従います。
SynchronousSample.bpel のデザインビューがソースエディタ内でアクティブになっていることを確認します。
「パレット」の「Web サービス」セクションで、「受信」アイコンを選択します。
選択項目を、デザイン領域の、Process Start アクティビティーと Process End アクティビティーの間にある「SynchronousSample」プロセスボックスまでドラッグします。
選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
このアクションにより、デザインビューに Receive1 という受信アクティビティーが配置されます。
Receive1 アクティビティーの「編集」ボタンをクリックします。
「Receive1 [受信] - プロパティーエディタ」が開きます。
「主」タブで「名前」フィールドの値を start に変更します。
「パートナーリンク」ドロップダウンリストから、「PartnerLink1」を選択します。
「操作」フィールドには IDE によって SynchronousSampleOperation と入力されます。
次の手順に従って、新しい入力変数を作成します。
「入力変数」フィールドの隣の「作成」ボタンをクリックします。
「新規入力変数」ダイアログが開きます。
「名前」フィールドの値を inputVar に変更します。
「了解」をクリックします。
「了解」をクリックして「Receive1 [受信] - プロパティーエディタ」を閉じます。
デザインビューに、PartnerLink1 と、SynchronousSample プロセスボックス内の start アクティビティーの接続が表示されます。
返信アクティビティーを追加するには、次の手順に従います。
SynchronousSample.bpel のデザインビューがソースエディタ内でアクティブになっていることを確認します。
「パレット」の「Web サービス」セクションで、「返信」アイコンを選択します。
選択項目を、デザイン領域内の、start アクティビティーと Process End アクティビティーの間までドラッグします。
選択項目をドロップできる場所を示す視覚的な手がかりが表示されます。
このアクションにより、デザインビューに Reply1 という返信アクティビティーが配置されます。
Reply1 アクティビティーの「編集 」ボタンをクリックします。
「Reply1 [返信] - プロパティーエディタ」が開きます。
「主」タブで「名前」フィールドの値を end に変更します。
「パートナーリンク」ドロップダウンリストから、「PartnerLink1」を選択します。
「操作」フィールドには IDE によって SynchronousSampleOperation と入力されます。
次の手順に従って、新しい出力変数を作成します。
「正常応答」ラジオボタンが選択されているかを確認してください。
「出力変数」フィールドの隣の「作成」ボタンをクリックします。
「新規出力変数」ダイアログが開きます。
「名前」フィールドの値を outputVar に変更します。
「了解」をクリックします。
「了解」をクリックして「Reply1 [返信] - プロパティーエディタ」を閉じます。
デザインビューに、「SynchronousSample 」プロセスボックス内の end アクティビティーと PartnerLink1 の間の接続が表示されます。
代入アクティビティーを追加するには、次の手順に従います。
SynchronousSample.bpel のデザインビューがソースエディタ内でアクティブになっていることを確認します。
「パレット」の「基本アクティビティー」セクションで、「代入」アイコンを選択します。
選択項目を、デザイン領域内の、start アクティビティーと end アクティビティーの間までドラッグします。
このアクションにより、デザインビューに Assign1 という代入アクティビティーが配置されます。
Assign1 アクティビティーを選択します。
エディタのツールバーで、「マッパー」ボタンをクリックします。
BPEL マッパーが表示されます。
BPEL マッパーの出力ツリー区画 (左区画) で「変数」の下の「inputVar 」>「inputType 」を展開します。
「inputVar 」ノードの下に「paramA 」ノードが表示されます。
BPEL マッパーの入力ツリー区画 (右区画) で、「変数」の下の「outputVar 」>「resultType 」を展開します。
「resultType 」ノードの下に「paramA 」ノードが表示されます。
出力ツリー区画で「paramA 」ノードを選択し、入力区画の「paramA 」ノードまでドラッグします。
この割り当てにより、入力文が出力へコピーされます。
変更を保存するには、「プロジェクト」ウィンドウで「SynchronousSample 」プロジェクトノードを選択し、メインメニューから「ファイル」>「すべてを保存」を選択します。
ページの先頭へ
複合アプリケーションの作成と配備
BPEL モジュールプロジェクトを配備する前に、JBI モジュールを配備プロジェクトに追加する必要があります。プロジェクトを配備すると、アプリケーションサーバーがサービスアセンブリを使用できるようになり、サービスユニットが実行可能になります。
複合アプリケーションプロジェクトを作成し、JBI モジュールを追加するには、次の手順に従います。
メインメニューから「ファイル」>「新規プロジェクト」を選択します。
「新規プロジェクト」ウィザードが開きます。
「カテゴリ」リストで「SOA 」ノードを選択し、「プロジェクト」リストで「複合アプリケーション 」ノードを選択します。
「次へ」をクリックします。
「プロジェクト名」フィールドに「 SynchronousSampleApplication 」と入力します。
「完了」をクリックします。
この時点で、「プロジェクト」ウィンドウに、 SynchronousSampleApplication という複合アプリケーションプロジェクト用のプロジェクトノードが含まれます。
「プロジェクト」ウィンドウで「SynchronousSampleApplication 」プロジェクトノードを右クリックし、ポップアップメニューから「JBI モジュールを追加 」を選択します。
「プロジェクトの選択」ダイアログが開きます。
このチュートリアルですでに作成した SynchronousSample プロジェクトを選択し、「プロジェクト JAR ファイルを追加」をクリックします。
「プロジェクトの選択」ダイアログが閉じます。
「プロジェクト」ウィンドウで、「SynchronousSampleApplication 」プロジェクトノードを展開し、さらに「JBI モジュール 」ノードを展開します。
「 SynchronousSample.jar 」ノードが追加されたことに注意してください。
複合アプリケーションを配備するには、次の手順に従います。
「SynchronousSampleApplication 」プロジェクトノードを右クリックし、「配備」を選択します。
次のようなメッセージが「出力」ウィンドウに表示された場合、配備は成功です。
構築成功 (合計時間: 11 秒)
ページの先頭へ
テストケースを追加して操作に結合し、入力を行なったあと、テスターを使用することにより、複合アプリケーションプロジェクトの機能を強化できます。
SynchronousSampleApplication 複合アプリケーションをテストするには、次の手順に従います。
「プロジェクト」ウィンドウで、「 SynchronousSampleApplication 」プロジェクトノードを展開し、「テスト」ノードを右クリックし、ポップアップメニューから「新規テストケース」を選択します。
「新規テストケース」ウィザードが開きます。
デフォルトのテストケース名 TestCase1 のまま、「次へ」をクリックします。
「WSDL ドキュメントの選択」ページで、「SynchronousSample 」ノードを展開して「SynchronousSample.wsdl 」を選択し、「次へ」をクリックします。
「テストする操作を選択」ページで、「 SynchronousSampleOperation 」を選択して「完了」をクリックします。
次のことに注意してください。
「プロジェクト」ウィンドウで、「テスト 」の下に新しい「TestCase1 」ノードが追加されました。
「TestCase1 」ノードには「入力 」と「出力 」の 2 つのサブノードが含まれています。
ソースエディタには、入力ファイル Input.xml 用のタブが含まれています。
注: ソースエディタに Input.xml のタブが含まれていない場合は、「プロジェクト」ウィンドウの「入力 」ノードをダブルクリックしてファイルを開きます。
ソースエディタの Input.xml ファイル用のタブで、次の操作を実行します。
次の行を探します。
<syn:paramA>?string?<syn:paramA>
?string? を Hello World に置き換えます。
この行は次のようになります。
<syn:paramA>Hello World<syn:paramA>
メインメニューから、「ファイル」>「すべてを保存」を選択します。
「プロジェクト」ウィンドウで「テスト 」>「TestCase1 」の下にある「出力 」ノードをダブルクリックしてその内容を確認します。
最初は、 output.xml は空です。したがって、最初のテスト実行によって output.xml に実際の出力が生成されます。それ以降のテスト実行では、実際の出力が output.xml の内容と比較されます。
「プロジェクト」ウィンドウで「 TestCase1 」ノードを右クリックし、ポップアップメニューから「実行」を選択します。
注: 最初の実行は特殊なケースで、これは、Output.xml は空であり、出力は Output に書き込まれるためです。
「出力」ウィンドウに失敗のメッセージが表示されます。
「空の出力を上書きしますか?」 ダイアログが開きます。
「はい」をクリックします。
「プロジェクト」ウィンドウで「 TestCase1 」ノードを右クリックし、ポップアップメニューから「実行」を選択します。
初回の実行のあとは、 Output は、空白ではありません。ファイルの内容は保存され、新しい結果によって上書きされません。
ページの先頭へ
まとめ
このチュートリアルでは、SynchronousSample という簡単な BPEL モジュールプロジェクトと、SynchronousSampleApplication という複合アプリケーションを作成しました。次に XML スキーマファイルと WSDL ファイルをデザインしました。BPEL プロセスを設計して配備する方法を学びました。また、複合アプリケーションを作成してテスト実行する方法についても学習しました。
このチュートリアルの手順を完了したら、IDE に含まれるサンプルの同期 BPEL プロセスプロジェクト (「新規」>「プロジェクト」>「サンプル」>「SOA」>「同期 BPEL プロセス」) を構築したことになります。
次の手順
関連項目
ページの先頭へ