BPEL Designerを使用した最初のBPELプロジェクトの作成

目的

このチュートリアルで は、JDeveloper BPEL Designerの概要を説明します。 ここでは、JDeveloper BPEL Designerを使用して最初のBusiness Process Execution Language(BPEL)プロジェクトを作成する方法、およびOracle BPEL Process Managerにそのプロジェクトをデプロイする方法について説明します。

約20分

ト ピック

このチュートリアルの内容は次のとおりです。

概要
前提 条件
ワークスペースおよびBPELプロジェクト の作成
BPELプロセスに対するアクティビ ティの追加

Oracle BPEL Process Manager Serverに対するプロセスのデプロイ

デプロイしたプロセスの実行
デプロイしたプロセスのアンデプロイ およびインスタンスの削除

このアイコ ンの上にカーソルを置くと、このチュートリアルのすべてのスクリーンショットが表示されます。 (注意: この操作によりすべてのスクリーンショットが同時に読み込まれるため、使用しているインターネット接続の種類によっては応答が遅い場合があります。)

注意:各 手順に関連するスクリーンショットのみを表示する場合は、それぞれの手順のアイコンの上にカーソルを置いてください。

概要

Oracle BPEL Process Managerでは、エンドツーエンドのプロセス・フローの中に同期および非同期のサービスのセットを組み込むことによって、Service- Oriented Architecture(SOA)に基づいてアプリケーションをスムーズに開発できるようにします。 Oracle BPEL Process Managerには、BPELビジネス・プロセスを設計、デプロイおよび管理するための、使いやすく信頼性の高いソリューションが用意されています。

Oracle BPEL Process Managerの主な3つのコンポーネントは次のとおりです。

JDeveloper BPEL Designer: JDeveloper BPEL DesignerはOracle JDeveloper 10gの機能を拡張したもので、BPELを使用してビジネス・プロセスのモデル化、編集および設計を実現します。 また、BPELプロセスを構築するためのグラフィカルでユーザーフレンドリーな手段を提供します。 JDeveloperはBPELをネイティブ・フォーマットとして使用するため、構築するプロセスは移植可能になります。

Oracle BPEL Process Manager Server: Oracle BPEL Process Managerを使用して、BPELサーバーのスケーラブルで堅牢な実装を可能にします。 Oracle BPEL Process Managerは標準のBPELプロセスを実行し、「dehydration」機能を提供するため、長時間実行されるフローの状態がデータベース内で自動 的に保持され、フェイルオーバーとスケーラビリティの両方に対するクラスタリングが可能になります。 BPEL Serverは、ベースとなるJ2EEアプリケーション・サーバーを使用します。
Oracle BPEL Console: Oracle BPEL Consoleは、BPELサーバーにデプロイされたプロセスを管理およびデバッグするために、Webベースのインタフェースを提供します。 監査証跡およびプロセス履歴/レポート情報は自動的に維持され、BPEL ConsoleとJava APIを介して使用可能になります。

 

前提条件

トピック・リス トに戻る

このチュートリアルを始める前に、次のことを実行しておく必要がありま す。

1.

ワークスペースおよびBPELプロジェクトの作成

トピック・リス トに戻る

BPELプロジェクトを作成するには、次の手順を実行します。

1.

Windowsの「スタート」メニューで「スタート」 →「プログラム」→「Oracle - <ORACLE_HOME>」→「Oracle BPEL Process Manager 10.1.2」→「Start BPEL PM Server」をクリックして、 Oracle BPEL Process Managerサーバーを開始します。

<ORACLE_HOME>\integration\orabpel\binフォ ルダに定義されているstartorabpel.batコマンドを実行して、コマンド・プロンプトからOracle BPEL Process Manager サーバーを開始することもできます。

 

2.

Windowsの「スタート」メニューで「スタート」 →「プログラム」→「Oracle - <ORACLE_HOME>」→「Oracle BPEL Process Manager 10.1.2」→「JDeveloper BPEL Designer」をクリックし て、JDeveloper BPEL Designerを開始します。

 

3.

JDeveloper BPEL Designerが起動するまで待ちます。

 

4.

ナビゲーション・ペインに「Applications- Navigator」と「Connection-Navigator」が表示されます。 メニューから「表示」を選択し、「システム・ナビゲータ」をクリックして「シス テム - ナビゲータ」に切り替えます。

 

5.

JDeveloperで作業するには、ワークスペースとプロ ジェクトを作成する必要があります。 ワークスペースは、関連するプロジェクトのグループです。 ワークスペースおよびプロジェクトによってファイルをグループ化すると、作業を論理的かつ階層的に並べ替えることができます。

「システム - ナビゲータ」で「ワークスペース」 を右クリックし、コンテキスト・メニューから「新規のワークスペース」を選択します。

 

6.

「ワークスペース名」にBPELwsと入力し ます。 「新規の空のプロジェクトを追加」チェックボックスの選択を解除し、「OK」をクリックします。

ワークスペースが作成されたことがわかります。

 

7.

「システム - ナビゲータ」で新しいワークスペースを右クリックし、コンテキスト・メニューから「BPELws」および「新規プロジェクト」 選択します。

 

8.

「新規ギャラリ」で、「General」カテゴリから「Projects」 を選択し、「項目」から「BPELプロセス・プロジェクト」を選択します。

 

9.

「BPELプロセス・プロジェクト」ダイアログ・ボックスが 表示されます。 「BPELプロセス名」にHelloWorldと入力します。 同期的なBPELプロセスを作成するため、「テンプレート」ドロップダウン・リストから「同期BPELプロセス」を選択します。 「OK」 をクリックします。

 

10.

「システム - ナビゲータ」で、作成したファイルを確認します。 BPELプロセス・プロジェクトで、新しい同期的なBPELプロセスのHelloWorldに対してスケルトンを作成します。 このウィザードではプロセスも作成します。次のファイルが作成されます。

ファイル

説明

bpel.xml プロセスのデプロイ メント・ディスクリプタ。 このフローでコールされるサービスのWSDLファイルの場所を、他のプロジェクト特有のパラメータとともに定義します。
build.xml このプロセスをコン パイルおよびデプロイするためのApache Antスクリプト。
HelloWorld.bpel プロセスのBPEL ソース。 New Projectウィザードでは、選択したフロー・タイプについての最小限のアクティビティと定義を含む空のフローを作成します。 同期BPELプロセスの場合は、同期クライアント要求からフローを開始するためのアクティビティは<receive>のみで、戻るためのアクティビ ティは<reply>です。
HelloWorld.wsdl このプロセスの WSDL(クライアント)インタフェース。 このプロセスは、このフローの入力および出力メッセージ、クライアント・インタフェースとサポートされる処理、およびBPEL partnerLinkTypesを定義して、フローを他のプロセスに組み込めるようにします。 新規プロジェクト・ウィザードでは、入力メッセージの文字列を取得し、応答メッセージの文字列を返すドキュメントリテラル・スタイルのWSDLを作成しま す。

 

 

11.

作成されたWSDLコードを確認するには、「システム - ナビゲータ」でHelloWorld.wsdlファイルをダブルクリックします。WSDLファイルは新しいエディタ・タブでオープンしま す。 <element name="HelloWorldProcessRequest">の文字が見つかるまでスクロール・ダウンします。 HelloWorldProcessRequestおよびHelloWorldProcessResponseの複合型の要素が定義されていることに注目 してください。

 

12.

HelloWorld.bpel」タブをク リックします。 作成したプロセスのダイアグラム・ビューが表示されます。 このダイアグラム・ビューには、HellowWorldプロセスの概要が提示されます。 左側にはクライアント・インタフェースが表示され、プロセスで公開される処理が示されます。 BPEL Designerでは、partnerLinkが指定したクライアントがウィンドウの左側に自動的に表示されます。 ほかのすべてのpartnerLinksは右側に表示されます。

 

13.

ソース」 をクリックして、ソース・ビューに切り替えます。

 

14.

BPELソー ス・コードのスケルトンは、プロセスの名前およびターゲット・ネームスペースを定義する<process>要素から開始します。

 

15.

次のソース・ コードの部分はpartnerLinksです。partnerLinksは、プロセスとやりとりする他のサービ スおよびプロセスを定義します。 プロセスのクライアント・インタフェースに対するものは、HelloWorldプロセス用に自動的に作成されたpartnerLinkのみです。

 

16.

次 のソース・コードの部分は、プロセス間でアクセス可能なグローバル変数です。 ウィザードは、HelloWorldプロセスの入力および出力メッセージに対するグローバル変数を自動的に作成します。.

 

17.

グローバル変 数のセクションの後には、プロセスのメインのセクションがあります。これは単一のBPELアクティビティです。 BPELプロセスには通常、サブアクティビティを含む複合アクティビティが含まれています。 HelloWorldの同期BPELプロセスでは、新規プロジェクト・ウィザードでシーケンスを作成します。シーケンスは、順次に実行される一連のアク ティビティです。 作成されるシーケンスには、プロセスを開始するためにクライアントから入力メッセージを取得する<receive>アクティビティが含まれていま す。これに続いて、結果をクライアントに同期的に返すための<reply>ア クティビティがあります。 最後に、</process>タグでコードを終了します。

 

 

トピック・リス トに戻る

ここまでの作業で、BPELプロセスに対するワークスペースとプロジェク トが作成されました。 次に、プロセスにアクティビティを追加します。 ここでは、入力文字列を取得し、それを文字列Helloに連結して、結果の文字列を返すようなアクティビティを追加します。

1.

ダ イアグラム・ビュー」をクリックして、ダイアグラム・ビューに移動します。

 

2.

コンポーネント・パレットで、「優先コンポーネント」 ドロップダウン・リストから「プロセス・アクティビティ」を選択しま す。

 

3.

アクティビティが表示されます。 入力文字列を取得し、それを文字列Helloに連結して、結果の文字列を返すようなアクティビティを追加します。 たとえば、Oracleという入力変数を入力すると、プロセスでHello Oracleという結果が返されます。

プロセス・フローに<assign>アクティビティを追加する必要があ ります。 BPELの<assign>ア クティビティには、XPath式を使用して簡単なデータ操作を行うためのメカニズムがあります。

 

4.

BPEL <assign>アクティビティを HelloWorldプロセスに追加するには、「プロセス・アクティビティ」 リストで「Assign」をクリックします。

それを、「receiveInput」と「replyOutput」プ ロセスの間までドラッグします。 assignアクティビティがプロセス間に定義されると、プロセス・フローは次のようになります。
注意: アクティビティを、プロセス・マップ内でアクティビティに接続している行を越 えてドラッグすると、ターゲットをドロップする位置を示す丸が表示されます。 結果のプロセス・マップには、assignアクティビティが含まれます。

「無効な設 定」アイコンに関する注意が含まれています。

 

5.

アクティビティの属性を変更するには、「Assign_1」 をダブルクリックします。 アクティビティにcreateReturnStringという名前を入力します。 「コピー・ルール」タブをクリックします。

 

6.

変数をHelloという語と連結するには、コピー・ルールを アクティビティに関連付ける必要があります。 コピー・ルールを追加するには、「作 成」をクリックします。

 

7.

コピー・ルー ルの作成」ダイアログ・ボックスに「送信元」および「宛先」セクションが付随して表示されます。これはそれぞれ、データのソース、お よびアクティビティの宛先変数または要素を表しています。 「タイプ」ドロップダウン・リストから「」を選択します。

XPath式ビルダーのアイコンをクリックします。

 

8.

XPath式ビルダー」ダイアログ・ボック スに、関数のリストが表示されます。 「String Functions」のリストから、concat関数をダブルクリッ クします。 「式ボディ」に関数が表示されます。

 

9.

スクリーンショットに示すように、firstString ( string )Helloと入力します。

2番目のパラメータを含めるには、「XPath式ビル ダー」で入力変数「client:Input」をダブルクリックします。

OK」をクリックします。

 

10.

コピー・ルールの作成」ダイアログ・ボック スの「宛先」セクションで「変数」ノードを展開し、出力変数「client:result」 を選択します。 「OK」をクリックします。

 

11.

「Assign」ダイアログ・ボックスで、「送信元」と「宛先」の2つのセクションに対する XPath式が表示されます。 「OK」をクリックします。

 

12.

これでプロセスが完了し、デプロイできる状態になりました。 デプロイする前にプロセスを保存します。

 

 

Oracle BPEL Process Manager Serverに対するプロセスのデプロイ

トピック・リス トに戻る

ここまでで、HelloWorld BPELプロセスの作成が完了しています。 HelloWorldプロセスをデプロイするには、次の手順を実行します。

1.

「BPELプロジェクトの作成」のステップ1でBPEL Process Manager Serverを起動しました。 サーバーを開始した後でJDeveloper BPEL Designerを開始した場合は、接続LocalBPELServerが自動的に確立されています。

 

2.

「システム - ナビゲータ」でプロジェクトを右クリックし、「デプロイ」→「LocalBPELServer」 →「defaultドメインにデプロイ 」を選択します。

 

3.

パスワードを入力するよう要求されます。 「ドメイ ン・パスワード」フィールドにデフォルトのパスワードbpelを入力し、「OK」をクリックします。

 

4.

ログ・ウィンドウでメッセージを監視し、プロセスが正常にデ プロイされていることを確認します。

 

 

デプロイしたプロセスの実行

トピック・リス トに戻る

HelloWorldプロセスをOracle BPEL Process Manaaterサーバーにデプロイした後、サーバー上でプロセスを実行するために次の手順を実行します。

1.

Windowsの「スタート」メニューで「スタート」 →「プログラム」→「Oracle-<ORACLE_HOME>」→「Oracle BPEL Process Manager 10.1.2」→「BPEL Console」とクリックしてOracle BPEL Consoleを開始します。 http://<host>:9700/BPELConsoleの URLをオープンしてBPEL Consoleを開始することもできます。

これでBPEL Consoleのログイン・ページがオープンします。 「default」ドメインを選択し、パスワードにbpelと入力し て「ログイン」をクリックします。

 

2.

ダッシュボード」タブが強調表示された状態 で、BPEL Consoleが表示されます。このタブには、Oracle BPEL Process Managerサーバーにデプロイされたすべてのプロセスが、インスタンス番号とともに表示されます。 「デプロイ済のBPELプロセス」 列にHelloWorldプロセスが表示されます。 HelloWorldプロセス・リンクをクリックします。

 

3.

これにより、HTMLテスト・ページが自動的に生成されま す。 入力テキスト・ボックスにWorldと入力し、「XMLメッセージの転送」をクリックします。

 

4.

HelloWorldプロセスの結果が表示されます。 Oracle BPEL Process Managerは、「詳細情報」のセクションで、HelloWorldプロセスの詳細情報へのリ ンクを提示しています。

 

5.

完了したインスタンスについて監査証跡を視覚的に確認するに は、「ビジュアル・フロー」リンクをクリックします。

視覚的な監査証跡は、「インスタンス」タブの 「フロー」サブタブに表示されます。 視覚的な監査証跡は、インスタンス実行の現在の状態および履歴を表したもので、Oracle BPEL Designerと同じルック・アンド・フィールで示されます。

 

6.

監査」リンクをクリックして、テキストの監 査証跡を表示します。 「デバッグ」リンクをクリックして、このインスタンスのデバッグ情報を表示することもできます。

 

 

デ プロイしたプロセスのアンデプロイおよびインスタンスの削除

トピック・リス トに戻る

HelloWorldプロセスをアンデプロイし、このプロセスに関連付け られているすべてのインスタンスを削除するには、次の手順を実行します。

1.

BPEL Consoleで「BPELプロセス」 タブをクリックします。

 

2.

「デプロイ済のプロセス」表のHelloWorldプ ロセス・リンクをクリックします。

 

3.

スクロール・ダウンして「アンデプロイ」をク リックします。

OK」をクリックして警告ダイアログ・ボッ クスを閉じます。

 

4.

プロセスはすぐにはアンデプロイされません。 サーバーにスケジュールされているジョブによっては、しばらく時間がかかります。 「BPELプロセスのアンデプロイ」ページで「終了」を クリックします。

 

5.

インスタンス」タブをクリックし、プロセス に関連付けられているすべてのインスタンスを削除します。

HelloWorldプロセスに関連付けられているインスタ ンスが表示されます。

 

6.

「インスタンス」をクリックしてインスタンス・ページへ進み ます。

「インスタンスの削除」ラジオ・ボタンを選択し、「適 用」をクリックします。

 

 

 

トピック・リス トに戻る

このレッスンでは、次の ことを学びました。

Oracle BPEL Designerを使用した最初のBPELプロジェクトの作成

Oracle BPEL Process Managerを使用したプロジェクトのデプロイおよび実行


このアイコンの上にカーソルを置くと、すべてのスクリーン ショットが非表示になります。