![]() ![]() ![]() ![]() |
Oracle Workshop for WebLogic で、グラフィカル ツールを使用してビジネス プロセスを設計すると、デザイン ビューでの作業に沿って、Oracle Workshop for WebLogic により、ビジネス プロセス ファイル (Process.java ファイル) にソース コードが書き込まれます。この Process.java には、ビジネス プロセス クラス用の特別なアノテーションや実装コードが含まれています。
[ソース] タブをクリックすると、デザイン ビューで作成しているビジネス プロセスのソース コードにアクセスできます。
この節では、ビジネス プロセス (Java) ファイルのソース コードに関する情報を説明します。また、そのソース コードと、デザイン ビューでグラフィカルにビジネス プロセスを作成する際の作業の関連についても説明します。内容は以下のとおりです。
Java ファイルのソース コードを編成するには、デザイン ビューでの作業に従って生成されたコードが、ソース ビューの折りたたみ可能なリージョンで非表示になります。Decision、For Each、および While ノードなどの条件に書き込んだメソッドは、ソース ビューでは Java ファイル内の独自の折りたたみ可能なリージョンの内部に表示されます。
ソース ビューの特定のリージョンは、変数宣言、コントロール宣言、XQuery アノテーションおよび、クライアント操作やコントロールとの通信に関するメソッドを表しています。ソース ビューでは、コードの折りたたまれたリージョンを展開し、中のコードを追加したり編集できます。Oracle Workshop for WebLogic 環境では、ビジネス プロセス (Java) クラスの双方向編集方法がサポートされています。Oracle Workshop for WebLogic によって生成されたコードを追加および変更できるかどうかは、ソース コードのコメントに示されており、以下のセクションで説明します。
デザイン ビューで生成したビジネス プロセスを説明するビジネス プロセス アノテーションを表示するには、[ウィンドウ|ビューの表示|プロパティー] を選択します。
プロセス アノテーションにはビジネス プロセス定義が含まれており、デザイン ビューでビジネス プロセスにノードを追加するときに生成されます。Java ファイルで定義される Java メソッドおよび変数は、アノテーションに記述されるフロー ロジックで参照できます。
<process>
要素はビジネス プロセス ロジックの最上位のコンテナです。ビジネス プロセスは、定義順に並べられたアクティビティのセットで構成されています。ビジネス プロセス要素は Name 属性を含み、ビジネス プロセスの名前を指定します。XML の行は、ビジネス プロセスにおけるノードを示します。XML の行は、デザイン ビューでビジネス プロセスに追加する各ノードのこのコード領域に記述されます。
プロセス言語用に、双方向編集方法がサポートされています。つまり、Process.java ファイルのこのリージョンのコードへの変更は、デザイン ビューに表示されます。たとえば、以下のことが可能です。
削除したプロセス言語が、すでにファイルに記述されているメソッドを参照している場合、メソッドは削除されません。ファイルのメソッドをそのままにして置くことができます。実行時にプロセス言語で参照されていない場合は、実行時エンジンにより無視されます。プロセス言語で参照されていないことが確認されているメソッドのみを削除するようにしてください。参照されているメソッドを削除すると、アプリケーションでエラーが発生します。
注意 : | Oracle Workshop for WebLogic では、プロセス言語でのエラーを赤い波形の下線で示し、マウスオーバー テキストにエラー メッセージが表示されます。 |
ビジネス プロセスの変数は、ソース ビューのコード リージョン内で定義されています。
変数用に双方向編集方法がサポートされています。つまり、Java ファイルのこのリージョンのコードに対して行った変更は、デザイン ビューに表示されます。具体的には、[データ パレット] の [変数] セクションに表示されます。
ビジネス プロセス変数は、ソース ビューで作成、編集、または削除できます。[データ パレット] の [変数] タブが更新され、変更が反映されます。変数が正しく宣言されていない場合は、ソース ビュー内で赤い波形の下線でエラーが識別され、変数は [変数] タブに表示されません。
コントロールの宣言は、ソース ビューのコード リージョンで定義されています。
コントロール宣言用に双方向編集方法がサポートされています。つまり、Process.java ファイルのこのリージョンのコードへの変更は、デザイン ビューに表示されます。
コントロール宣言は、ソース ビューで作成、編集、または削除できます。デザイン ビュー (具体的には [データ パレット] の [コントロール] タブ) が更新され、変更が反映されます。変数が正しく宣言されていない場合は、ソース ビュー内で赤い波形の下線でエラーが識別され、コントロールは [コントロール] タブに表示されません。
警告 : | コントロールへの参照を削除または更新しないと、アプリケーションによりすでに使用されているコントロール宣言の変更により、アプリケーショでエラーが発生します。 |
デザイン ビューのコントロールでの作業については、「コントロールを使用してリソースと対話する」を参照してください。
コントロールに関連する各クライアント操作および通信メソッドは、ソース ビューにある独自の折りたたまれたコード リージョン内で定義されています。これらのリージョンのコードは、自動的に生成されます。
ソース ビューでは、特定のクライアント操作やコントロール メソッドを定義するコードのブロック内でコードを追加および編集できます。
コードを追加または編集した後、 アイコンがデザイン ビューで適切なノード (Client Request、Client Response、Control Send、Control Receive、Control Send with Return) に関連付けられます。ここでも、双方向編集方法がサポートされています。つまり、ソース ビューまたはデザイン ビューのいずれかで、引き続きノードを設計できます。デザイン ビューのアイコン (
) はソース ビューでコードを編集したことを視覚的に表すためのリマインダです。
たとえば、ビジネス プロセスは、Client Receive ノード ビルダを使用してコンフィグレーションした Client Receive ノードを含むことができます。図 25-1 に示すように、デザイン ビューにノードが表示されます。
ノードを右クリックし、ドロップ ダウン メニューから [コードの表示] を選択すると、ビューが適切なメソッドのソース ビューに切り替わります。
カスタム コードを追加した後は、[Design] タブをクリックして、デザイン ビューを開くことができます。次により変更されたこのコードに関連するノードの表現に注意してください。
デザイン ビューまたはソース ビューのいずれかを使用して、ノード設計を継続して変更できます。デザイン ビューでのクライアント、コントロール操作の設計については、「クライアントとの対話」、および「コントロールを使用してリソースと対話する」を参照してください。
Perform ノードで作成するメソッド、および Decision、For Each、または While ノードの条件として記述するメソッドは、ソース ビューの Java ファイル内の折りたたみ可能なコード リージョンの外部 (および下部) に表示されています。
public void perform() throws Exception {
}
ソース ビューでコード (実行メソッド) を記述し、必要なロジックを実行します。ビジネス プロセス用のデザイン ビューは、「ビジネス プロセス言語」でメソッドへの参照を作成するまでは、実行メソッドなどでの作業中に沿って更新されません。
デザイン ビューでの Perform ノードの作成については、「ビジネス プロセスで Perform ノードを作成するには」を参照してください。
XQuery 文は、ソース ビューのコード リージョンの Java ファイルに書き込まれます。
XQuery 文の先頭には以下のアノテーションが付けられます。
@com.bea.wli.common.XQuery
たとえば、「For Each ノードの設計」の説明に従って、For Each ノード ビルダを使用して繰り返される XML 型ノードを選択すると、XQuery 式が Java ファイルに作成されます。式は、For Each ノードが処理を行う XML 要素のセットを返します。また、Decision ノードに条件を作成すると、XQuery 式も Process.java ファイルに書き込まれます。また、XQuery 式は、マッピング ツールを使用して異種のデータ型間に作成するトランスフォーメーションを定義します。
For Each ノード、Decision ノードおよびデータ トランスフォーメーションの詳細については、以下のトピックを参照してください。
![]() ![]() ![]() |