BPEL デザイナー開発者ガイド:BPEL のデザインビューとソースビュー
最終更新日:2006 年 10 月 23 日
目次
BPEL デザイナー開発者ガイド
BPEL のデザインビューとソースビューについて
このガイドでは、BPEL デザイナーについて説明します。BPEL デザイナーでは、WS-BPEL 2.0 仕様に準拠する BPEL ソースコードが自動的に生成されるプロセス図を視覚的に作成できます。
BPEL ファイルをダブルクリックすると、IDE に、ビジュアルデザイナーパレット、「ナビゲータ」ウィンドウ、「プロパティー」ウィンドウ、およびマルチビューエディタが開きます。このエディタには、デザインビューとソースビューの 2 つのビューがあります。
「デザイン」ビュー
デザインビューは、ビジネスプロセスのビジュアルデザイナーです。このビューで、ビジネスプロセスの作成者は、ビジネスプロセスを視覚的にモデル化できます。BPEL デザイナーは、ビジュアル設計に対応する BPEL コードを自動的に生成します。ビジュアルデザイナーで使用される表記は、大まかに BPMN (Business Process Modeling Notation) に基づいています。
ソースビュー
ソースビューは BPEL ソースファイルエディタです。ソースビューでは、ビジネスプロセスの作成者が、ビジネスプロセスのソースコードをテキストで編集できます。ビジュアル設計だけでなく、ソースレベルの編集を実行できます。BPEL プロジェクトは、ラウンドトリップ 2 方向エンジニアリングを実行して、デザインビューとソースビューが互いに同期するようにします。
IDE は、ユーザーがソースファイルを手動で編集するごとに、自動的に BPEL ソースファイルを再解析して、図を再構築します。
先頭へ
ナビゲータ
「ナビゲータ」ウィンドウは BPEL エディタに付随します。「ナビゲータ」ウィンドウが表示されない場合は、メインメニューから「ウィンドウ」>「ナビゲータ」を選択するか、Ctrl+7 キーの組み合わせを使用して、手動で表示することができます。
「ナビゲータ」ウィンドウには、BPEL プロセスの 2 つの別個のビューがあります。まず、XML としての BPEL ソースコードの NetBeans 標準アウトラインビューがあります。
「XML」ビュー
XML ビューはナビゲータビューと同じであり、NetBeans で開かれたすべての XML ドキュメントに使用できます。XML ビューは、BPEL ソースビューに付属します。「ナビゲータ」ノードをダブルクリックすると、ソースエディタがコードの現在の行を調整して、選択された要素を表示します。
論理ビュー
ナビゲータには、BPEL プロセスの追加の論理ビューもあります。ナビゲータの論理ビューは、BPEL デザインビューに付属します。デザインビューでビジュアル要素を選択すると、選択した同じ要素がナビゲータの論理ビューに表示されます。または、論理ビューのツリーでノードを選択すると、対応する要素が図上で選択されます。
論理ビューでノードを右クリックすると、ポップアップメニューが呼び出され、特定のノードに関連するアクションが表示されます。たとえば、代入要素でのアクションは、「ソースへ」、「ブレークポイントを切り替え」、「削除」、および「プロパティー」です。ほとんどのノードで使用できる「ソースへ」と「削除」のアクションには、対応するキーボードショートカットがあります。「ソースへ」の場合は Alt+O で、「削除」の場合は Del です。
一般に、「ナビゲータ」ウィンドウ内のノードは、図上の要素に対応します。さらに、「変数」や「相互関係セット」など、図からは直接使用できない機能に関連するノードがあります。
特に関連の深いのが「インポート」ノードで、このノードには、BPEL ファイル内の Import 要素を頼りに参照される XSD ファイルと WSDL ファイルの一覧が表示されます。XSD ファイルまたは WSDL ファイルへのほかの参照を追加するには、ノードを右クリックし、ポップアップメニューから「インポートを追加」を選択します。参照できるのは、プロジェクトフォルダ内にあるファイルだけです。この操作のあと、新しい <import> 行が BPEL ファイルに追加されます。
BPEL ドキュメント内で参照されている WSDL ファイルに BPEL 拡張性要素 (プロパティーおよびプロパティー別名) を追加できます。
WSDL ファイルにプロパティーを追加するには、次の手順に従います。
-
「インポート」ノードの下の WSDL ファイルを右クリックし、ポップアップメニューから「プロパティーの追加」を選択します。
-
「新規相互関係プロパティーの作成」ダイアログで、プロパティー名を指定します。
-
プロパティーの型を選択し、「了解」をクリックします。
WSDL ファイルにプロパティー別名を追加するには、次の手順に従います。
-
「インポート」ノードの下の WSDL ファイルを右クリックし、ポップアップメニューから「プロパティー別名の追加」を選択します。
-
「新規プロパティー別名の作成」ダイアログで、「プロパティー」フィールドの横の「参照」ボタンをクリックしてプロパティーを指定します。
-
「プロパティーの選択」ダイアログで、別名を作成するプロパティーを選択し、「了解」をクリックします。「新規プロパティー別名の作成」ダイアログの「プロパティーの型」フィールドに、種類が表示されます。
-
「プロパティーのマッピング先」ツリーで、WSDL ファイルノードを展開し、メッセージまたはメッセージ部分を選択します。
-
クエリーを追加するには、「クエリー」テキストフィールドにクエリー文字列を入力します。
-
「了解」をクリックします。
WSDL エディタでのプロパティーとプロパティー別名の定義の詳細については、「プロパティーとプロパティー別名の定義」を参照してください。
XML ビューと論理ビューを切り替えるには、「ナビゲータ」ウィンドウの上部にあるドロップダウンメニューを使用します。
先頭へ
ビジュアルデザイナーについて
デザインビューがアクティブな場合、ビジュアルデザイナーパレットも表示されます。
注: ビジュアルデザイナーパレットが表示されない場合は、メインメニューから「ウィンドウ」>「パレット」を選択すると、これを手動で呼び出すことができます。
ビジュアルデザイナーパレットには、ビジネスプロセスをモデル化するために開発者が使用する一連のビジュアル要素があります。パレット内の要素のセットは、ビジネスプロセスの作成者がドラッグアンドドロップによって図に追加できる BPEL 要素に対応します。
パレットには、すべてではありませんがほとんどの BPEL 要素のアイコンがあります。パレットには、親要素のコンテキスト内でのみ意味を持つ BPEL 要素のアイコンはありません。ビジュアルデザイナーは、パレットのドラッグアンドドロップ機能に基づかない、異なる設計イディオムを通じて、これらの追加の BPEL 要素の作成をサポートします。
ビジュアルデザイナー
デザインビュー内では、フォワードエンジニアリングと呼ばれる多くの作業を実行できます。
-
要素、接続、およびアクティビティーの構造を図上で作成します。パレットから図に要素をドラッグします。ビジュアルデザイナーは「ドロップポイント」という概念をサポートします。これは、要素をドラッグする場合にそれらの要素をドロップポイントに揃えなければならないことを意味します。パレットからのドラッグアンドドロップですべての要素が作成されるわけではありません。これらのほかの要素は、図の既存の要素を右クリックすると呼び出されるコンテキストメニューアクションを通じて作成されます。
-
図上の要素を選択します。 要素を 1 回クリックすると、その要素が選択されます。選択は、要素の削除、移動、または編集など、ほかのいくつかの操作を実行するのに必要な手順です。
-
図の要素のプロパティーを確認および修正します。 すべての要素にプロパティーがあります。要素を選択すると、標準の「NetBeans プロパティー」ウィンドウにその要素固有のプロパティーが表示されます。いくつかの BPEL 要素には、モード付きポップアップダイアログに表示される、もっと複雑なプロパティーエディタがあります。モード付きプロパティーエディタは、このようなエディタをサポートする要素について、いくつかの方法で起動できます。ビジュアル要素をダブルクリックすると、モード付きプロパティーエディタが表示されます。または、要素を右クリックし、ポップアップメニューから「編集」を選択すると、モード付きプロパティーエディタが表示されます。BPEL 要素の中には、モード付きポップアッププロパティーエディタを持たない要素もあります。モード付きポップアッププロパティーエディタを持たない要素については、標準の「NetBeans プロパティー」ウィンドウを使用して要素のプロパティーを調整するようにします。「NetBeans プロパティー」ウィンドウは、要素を右クリックし、ポップアップメニューで「プロパティー」を選択しても呼び出せます。
-
図の要素に対してポップアップメニューアクションを実行します。 各 BPEL 要素にポップアップメニューがあります。このポップアップメニューは、要素を右クリックすると表示できます。ポップアップメニューは、選択したその要素に関連する一連のアクションを提供します。
-
図の変更を保存します。 作成したり修正したりした図に変更を加えたら、その変更を保存できます。
-
保存した図を再び開きます。 対応する BPEL ソースファイルを「プロジェクト」ウィンドウでダブルクリックすると、保存した図を再び開くことができます。
-
図の要素を移動します。 図の要素を選択し、それを新しい位置にドラッグすることで、図の要素を移動できます。
-
コンテナ要素を移動すると、そのすべての子がコンテナとともに移動されます。
-
このリリースでは、複数の要素を選択して、それらを一緒に移動することはできません。この例外は上記のとおりであり、1 つのコンテナ要素とそのすべての子を移動できます。
-
ソースまたは図を印刷します。 BPEL ソースと BPEL 図の両方を印刷できます。BPEL 図を印刷するには、BPEL デザインビューを開きます。ソースを印刷するには、BPEL ソースビューを開きます。印刷を実行するには、メインメニューから「ファイル」>「印刷」コマンドまたは「ファイル」>「印刷プレビュー」コマンドを呼び出します。
-
図を拡大および縮小します。 エディタツールバーのズームスライダを移動して、図のサイズを縮小または拡大できます。図全体を表示するには、「図に合わせる」ボタンをクリックします。図の全幅を表示するには、「幅に合わせる」ボタンをクリックします。
-
ビジュアルデザイナーの図で要素名を直接編集します。 図上で要素名をダブルクリックして、編集します。
-
XML の妥当性検査を呼び出します。 デザインビューのエディタツールバーで「XML の妥当性検査」ボタンをクリックすると、XML の妥当性検査を呼び出すことができます。詳細については、「妥当性検査」の節を参照してください。
-
図の要素にフィルタを適用します。 デザインビューのエディタツールバーには、「パートナーリンクを表示」と「シーケンスを表示」の各トグルボタンがあります。パートナーリンク要素とシーケンス要素の両方がデフォルトで表示されます。「パートナーリンクを表示」ボタンをクリックすると、図でパートナーリンク要素が非表示になります。「シーケンスを表示」ボタンをクリックすると、図でシーケンスコンテナが非表示になります。それぞれのボタンをもう一度クリックすると、ボタンに応じてパートナーリンク要素またはシーケンス要素が再び表示されます。
注: パートナーリンク要素またはシーケンス要素を非表示にしているときは、図にこれらの要素を新しく追加することはできません。
ビジュアルデザイナーの使用
ビジュアルデザイナーを使用する場合、次のことに注意してください。
-
ビジュアルデザイナーではキーボードショートカットを使用できます。次のキーボードショートカットがあります。
-
Del キーは、ポップアップメニューの「削除」コマンドの呼び出しと同じであり、現在選択している要素を削除します。
-
Esc キーは、現在のドラッグアンドドロップ操作をキャンセルします。
-
Alt+O キーの組み合わせは、BPEL ファイルのソースを開き、選択した図の要素に対応するコードの最初の行にカーソルを置きます。
-
1 つの操作が多くのアクティビティーで使用されることがあります。
-
図が大きく、現在のビューポート境界に収まらない場合、ビューポート境界の外部のプレースホルダに要素をドラッグできます。要素をドラッグすると、図がスクロールします。
-
マウスホイールまたは矢印キーを使用して図をスクロールできます。
-
パレットマネージャーを使用して、パレット要素の有効化、無効化、および並べ替えができます。パレットマネージャーを起動するには、パレットを右クリックし、「パレットマネージャー」を選択します。
参照整合性
ビジュアルデザイナーは、ソースエディタ内ではなくビジュアルデザイナー内の参照整合性を自動的にサポートすることに注意してください。
要素とアクティビティーのプロパティーの定義
どの要素についても、プロパティーエディタまたは「プロパティー」ウィンドウを使用してプロパティーを定義することができます。
要素のプロパティーエディタを開くには、次のようにします。
-
要素を右クリックし、「編集」を選択します。または、
-
要素をダブルクリックします。
要素の「プロパティー」ウィンドウを開くには、要素を右クリックし、「プロパティー」を選択します。
標準の「NetBeans プロパティー」ウィンドウは、選択した要素に対応します。標準の「NetBeans プロパティー」ウィンドウが開かれない場合は、メインメニューから「ウィンドウ」>「プロパティー」を選択します(Ctrl-Shift-7)。
変更の保存
BPEL デザイナーは、次のようにしてデザインビューとソースビューの同期をとります。
-
図に加えた変更は、対応するソースコードに直ちに反映されます。
-
ソースコードに加えた変更は、デザインビューに切り替えたときに図に反映されます。
リバースエンジニアリング
BPEL デザイナーを使用すると、ソースファイルを直接編集して、それらの変更をビジュアルデザイナーに反映させることができます。
ソースを編集する必要が生じる可能性があるのは、次の場合です。
-
標準の BPEL 要素セットの一部ではない、ベンダー固有の BPEL 拡張を使用する場合は、ソースエディタを使用してください。
-
デザインビューを通じてコードを生成することができない BPEL 構造を追加しなければならない場合。変数への静的 XML の割り当てなど、現在のプロパティーエディタでは扱っていない、いくつかの極端なケースの BPEL 構造があります。
-
ソースエディタの使用中に、適切に構成されていない BPEL ソースを修正して保存する場合、デザインビューは、その「壊れた」BPEL の図を描画できません。デザインビューには、「図を表示できません」と記したページが表示されます。ソースエディタに戻ってエラーを修正し、修正後、ソースエディタで XML の妥当性検査を実行して変更を妥当性検査してください。BPEL ソースを有効な状態に戻すと、デザインビューが再び図を描画できるようになります。
メッセージフローの構成
アクティビティーは、メッセージフローに関わる BPEL アクティビティーを表す、図の要素です。
メッセージフローは、Web サービスアクティビティー (呼び出し、受信、返信) を、パートナーリンク内の対応するアクティビティーと接続する破線です。プロセス間の情報の流れが指定されるので、この関係をメッセージフローと呼びます。
Web サービスアクティビティーをその「プロパティー」ウィンドウで完全に構成すると、アクティビティーとパートナーアクティビティーの間にメッセージフローコネクタが表示されます。
ただし、メッセージフローをユーザーが直接描くこともできます。これを行うには、次の手順に従ってください。
-
Web サービスアクティビティーを選択します。アクティビティーアイコンの左側に小さい封筒が表示されます。
-
封筒のドラッグを開始します。ソースアクティビティーと、ドラッグしている封筒とをつなぐ破線が表示されます。
-
マウスをターゲットアクティビティーに移動します。ターゲットアクティビティーがソースに対応する場合、マウスカーソルにそのことが示され、マウスを離すことができます。アクティビティー間の接続が確立します。
メッセージフローを直接削除することはできないことに注意してください。Web サービスアクティビティー内でプロパティーの一部を設定解除することで、間接的にメッセージフローを削除することができます。ただし、通常は、メッセージフローを変更して別の関係を作成します。
描画ツールは 1 方向でのみ機能することにも注意してください。BPEL プロセス内の Web サービスアクティビティーから、パートナーリンク内の対応するアクティビティーの方向です。
メッセージフローの変更
既存のメッセージフローの接続を変更して、異なるターゲットアクティビティーとの新しい接続を確立する場合は、希望のペアリングを使用して接続を初めて作成するかのように実行してください。新しいペアリングを作成すると、IDE が古い接続を自動的に削除します。
ビジュアルデザイナーのパレット要素
「オーケストレーションパレット」に表示される基本的な要素の一覧を次の表に示します。すべての BPEL 要素がパレットにあるわけではなく、いくつかの要素は、図を右クリックしてポップアップメニューから適切なアクションを選択すると作成されます。
要素の種類は次のいずれかです。
-
Web サービス:パートナー Web サービスとの対話形式でのメッセージ交換に使用される要素。
-
基本アクティビティー:特定の作業を実行するアクティビティー。
-
構造化アクティビティ:アクティビティーのセットを正確に順序付けるのに使用される要素。構造化アクティビティーはほかのアクティビティーを含むことができます。
|
アイコン
|
要素
|
定義
|
|
Web サービス
|
|
呼び出し
|
パートナーによって提供される portType に対する単方向操作または要求/応答操作をビジネスプロセスが呼び出せるようにします。このプロセスがパートナーにメッセージを送信できるようにします。操作は、パートナーの WSDL 内で定義されます。
|
|
受信
|
特定のメッセージの着信のブロッキング待機をビジネスプロセスが実行できるようにします。
|
|
パートナーリンク
|
ビジネスプロセスとメッセージを交換する Web サービスを識別します。各パートナーリンクは、そのパートナーリンクのインタフェースによってサポートされる使用可能な Web サービスアクティビティーに対応する子要素を含むようになります。 注:パートナーリンクコンテナにユーザーが要素を直接追加することはしません。デザインビューはパートナーの WSDL を調べて、適切な子要素を自動的にパートナーリンクコンテナに格納します。パートナーリンクを修正しなければならない場合は、パートナーリンクをデザインビューが再描画できるようにパートナー WSDL ファイルを編集します。これによって、修正されたインタフェースが反映されます。
|
|
返信
|
受信を通じて受信されたメッセージに応答して、ビジネスプロセスがメッセージを送信できるようにします。
|
|
基本アクティビティー
|
|
空
|
何もしないアクティビティー。フォルトの捕捉と抑止が必要な場合に役立ちます。
|
|
待機
|
特定の時点まで、または指定された期間、待機します。
|
|
スロー
|
ビジネスプロセス内からフォルトを生成します。
|
|
代入
|
変数の値を新しい値で更新します。
|
|
終了
|
ビジネスプロセスインスタンスの実行をただちに終了します。
|
|
構造化アクティビティー
|
|
フロー
|
1 つまたは複数のアクティビティーを同時実行するよう指定します。
|
|
シーケンス
|
アクティビティーの集合を、字句順に順次実行することを定義します。
|
|
If
|
一連の選択肢からアクティビティーの 1 つの分岐を選択します。
|
|
ピック
|
適切なメッセージの着信をブロックして待つか、タイムアウトの満了を待ちます。ピックの本体に指定されたイベントが発生すると、ピックが完了します。実際に発生するのは、ピックの本体内の 1 つのアクティビティーだけです。
|
|
スコープ
|
入れ子になったアクティビティーと、そのアクティビティー独自の関連するローカル変数、イベントハンドラとフォルトハンドラ、およびメッセージ交換を定義します。
|
|
While
|
条件が真の間、アクティビティーを繰り返します。条件は、アクティビティーの実行前に検査されます。
|
|
RepeatUntil
|
条件が真になるまでアクティビティーを繰り返します。実行後に条件が検査される点が While とは異なります。
|
|
ForEach
|
アクティビティーを正確に N+1 回、繰り返します。ここで、N は最終カウンタ値から開始カウンタ値を減算した値です。
|
先頭へ