ビジネス プロセス構築ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

ビジネス プロセス変数とデータ型

デザイン ビューの [変数] タブは、ビジネス プロセスを構成する Java クラスに関連する変数を示します。ビジネス プロセス変数のすべては、ビジネス プロセスのインスタンスに対してグローバルです。

この節では、ビジネス プロセス変数およびデータ型について説明します。内容は以下のとおりです。

変数の作成

ビジネス プロセス用に変数を作成する方法は 2 つあります。[データ パレット] メニューArrow symbol[メニュー] タブをクリックしてリストを下にスクロールし、[変数の追加...] を選択することにより、変数を [データ パレット] に作成できます。または、Client RequestClient Request with Return (開始ノードのみ)、Client ResponseSubscription (開始ノードのみ)、Control SendControl Send with ReturnControl Receive ノードの [データの送信] または [データの受信] セクションをビジネス プロセス ノード用にコンフィグレーションする際に、ノード ビルダ内で作成することもできます。いずれのメソッドを選択しても、変数の作成後は、[データ パレット] から変数に常にアクセスできます。[データ パレット] でリスト内の変数を選択すると、そのプロパティが [プロパティー] ビューに表示されます。

特定の XML スキーマ型の XML 変数を作成する前に、XML スキーマが入った XSD ファイルを最初に WebLogic Integration スキーマ プロジェクトにインポートする必要があります。

特定の非 XML スキーマ型の非 XML 変数を作成する前に、非 XML 型用のスキーマが入った MFL ファイルを最初に WebLogic Integration スキーマ プロジェクトにインポートする必要があります。

単純型の変数を作成する前に、Java クラスのファイルが BEA Workshop for WebLogic Platform プロジェクトで利用できる必要があります。

データ パレットに新しい変数を作成するには

[メニュー] タブの [変数の追加...] オプションを使用して変数を作成します。ノード ビルダに変数を作成する方法については、「ノード ビルダに新しい変数を作成するには」を参照してください。

  1. [データ パレット] ペインが BEA Workshop for WebLogic Platform に表示されない場合は、メニュー バーから [ウィンドウArrow symbolビューの表示Arrow symbolデータ パレット] を選択します。
  2. [メニュー] タブの入った [データ パレット] が BEA Workshop for WebLogic Platform に表示されます。

  3. [メニュー] タブで、リストを下にスクロールし、[変数の追加...] をクリックすると、図 19-1 に示すように、[変数を作成] ダイアログ ボックスが表示されます。
  4. 図 19-1 変数を作成


    変数を作成

    可能な変数型オプションの説明を以下に示します。

    • 単純型
    • Java の基本データ型およびクラスのデータ型を示します。

    • XML 型
    • ビジネス プロセス プロジェクトで利用できる XML スキーマ、型なしの XMLObject、および XMLObjectList データ型を示します。

    • 非 XML 型
    • ビジネス プロセス プロジェクトで利用できるメッセージ フォーマット言語 (Message Format Language : MFL) ファイルおよび型なしの RawData データ型を示します。WebLogic Integration では、XML に基づき、メッセージ フォーマット言語 (MFL) と呼ばれるメタデータ言語を使用し、非 XML データの構造を記述します。プロジェクトで利用できる各 MFL ファイルは、非 XML 型に表示されます。各 MFL ファイルの XML スキーマの表示は、BEA Workshop for WebLogic Platform により構築され、XML 型のリストでも利用できます。

      データ型の詳細については、「データ型の操作」を参照してください。

  5. メニューで、選択したオプション ([単純]、[XML] または [非 XML]) から適切な変数型を選択します。
  6. [変数名] フィールドに変数名を入力します。
  7. [型名] フィールドで変数の型を選択するか、[型名] フィールドに入力します。
    • 単純なクラス型変数の場合は、クラスの完全なパッケージ名を [型名] フィールドに入力する。たとえば、library という名前のパッケージの Book という名前のクラスに library.Book と入力します。(Java の単純型については、手順 7 を参照)
    • 他のすべての変数の型については、利用できるリストから変数の型を選択する。
    • [型名] フィールドには、選択した変数の型が移入されます。

  8. デフォルト値を変数に割り当てる場合は、それを [デフォルト値] フィールドに入力します。
  9. 変数が単純型の場合で、それを更新できない定数にする場合は、[定数として宣言] を選択し、その定数を [デフォルト値] フィールドに入力します。この操作により、変数が静的最終状態として作成されます。
  10. [OK] をクリックして新しい変数を作成します。
  11. [データ パレット] の [変数] タブには、作成した変数が移入され、変数の名前と型が表示されます。リスト内の変数を選択すると、変数のプロパティが [プロパティー] ビューに表示されます。

ノード ビルダに新しい変数を作成するには

ノードの [データの受信] または [データの送信] タブをコンフィグレーションしながら、ノード ビルダに新しい変数を直接作成できます。ノード ビルダの外に変数を作成する方法については、「データ パレットに新しい変数を作成するには」を参照してください。

  1. [データの受信] または [データの送信] タブで、必要に応じて [変数の割り当て] オプションを選択します。
  2. [割り当てる変数を選択します :] ドロップダウン メニューの矢印をクリックし、[変数の新規作成...] を選択します。[変数を作成] ダイアログ ボックスが表示されます。
  3. 注意 : ダイアログ ボックスの他のフィールドには、[一般的な設定] タブで指定したメソッドにより予想される変数の型が既に移入されています。
  4. [変数名] フィールドに変数名を入力します。
  5. [一般的な設定] タブで指定したメソッドにより予想されるもの以外の変数の型を使用する場合には、以下の操作を実行します。
    1. 変数用の変数の型のオプションを選択します。
    • 単純型
    • Java の基本データ型およびクラスのデータ型を示します。

    • XML 型
    • ビジネス プロセス プロジェクトで利用できる XML スキーマ、型なしの XMLObject、および XMLObjectList データ型を示します。

    • 非 XML 型
    • ビジネス プロセス プロジェクトで利用できるメッセージ フォーマット言語 (Message Format Language : MFL) ファイルおよび型なしの RawData データ型を示します。WebLogic Integration では、XML に基づき、メッセージ フォーマット言語 (MFL) と呼ばれるメタデータ言語を使用し、非 XML データの構造を記述します。プロジェクトで利用できる各 MFL ファイルは、非 XML 型に表示されます。各 MFL ファイルの XML スキーマの表示は、BEA Workshop for WebLogic Platform により構築され、XML 型のリストでも利用できます。

      データ型の詳細については、「データ型の操作」を参照してください。

      [型名] フィールドには、選択した変数の型が移入されます。

  6. 変数の型を選択または入力します。
    • 単純なクラス型変数の場合は、クラスの完全なパッケージ名を [型名] フィールドの [変数の型] フィールドに入力する。たとえば、library という名前のパッケージの Book という名前のクラスに library.Book と入力します。(Java の単純型については、手順 6 を参照)
    • 他のすべての変数の型については、利用できるリストから変数の型を選択する。
    • [変数の型] フィールドには、選択した変数の型が移入されます。

  7. 変数が Java 単純型の場合で、それを更新できない定数にする場合は、[定数として宣言] を選択し、その定数を [デフォルト値] フィールドに入力します。この操作により、変数が静的最終状態として作成されます。
  8. デフォルト値を変数に割り当てる場合は、それを [デフォルト値] フィールドに入力します。
  9. [OK] をクリックして新しい変数を作成します。
  10. 作成した新しい変数が、ノード ビルダの [割り当てる変数を選択します :] のドロップダウン メニューに表示されており、[データ パレット] の [変数] タブに追加されている場合は、その変数の名前と型が表示されます。リスト内の変数を選択すると、変数のプロパティがプロパティ ペインに表示されます。

アプリケーションの変数データ型を変換するには

ノード ビルダでは、以下の方法により、型なしのプロセス変数への型付きのデータの割り当てと、型付きのプロセス変数への型なしのデータの割り当てをサポートしています。

関連トピック

変数の削除

データ型の操作

MFL データの XML 変数への割り当てと XML データの MFL 変数への割り当て

変数の削除

変数を削除するには

[データ パレット] の [変数] タブで変数名を右クリックし、ドロップダウン メニューから [削除] を選択します。[変数] タブとアプリケーションのソース コードから変数が削除されます。ソース コードの変数の詳細については、「ビジネス プロセスのソース コード」の「変数」を参照してください。

データ型の操作

ビジネス プロセスのアプリケーション用にサポートされるデータ型には、以下があります。

XML 型

XML スキーマは、ビジネス データで遵守する必要のある規則を説明する XML のボキャブラリです。XML スキーマは、ドキュメントの構造を指定し、そのドキュメントに入っている各要素と属性のデータ型を指定します。XML スキーマ ファイルには、XSD ファイルのサフィックスがあります。新しいスキーマを作成したり、スキーマ フォルダにスキーマをインポートできます。

注意 : プロジェクトのスキーマをビジネス プロセスで利用可能にするには、そのスキーマをスキーマ フォルダに入れる必要があります。デザイン ビューのアプリケーションとプロジェクト フォルダの詳細については、「アプリケーションのコンポーネント」と「アプリケーションの設計」を参照してください。

XML スキーマをビジネス プロセス プロジェクトのスキーマ フォルダに追加すると、これらのスキーマは XML Beans を作成するためにコンパイルされます。この方法で、BEA Workshop for WebLogic Platform により、スキーマの状況を示すインタフェースのセットが生成されます。XML Bean 型は、XML スキーマ自体の型に対応します。XML Beans により、組み込みのスキーマ型に対応する Java 型が与えられ、スキーマの任意の派生型について Java 型が生成されます。また、変数または xquery トランスフォーメーション メソッドを作成する際に、xsd の単純型が Java 型の名前にマッピングされます。

特定の XML スキーマに準拠する XML ファイルをスキーマから生成された XML Bean にロードする場合は、XML Bean 型のインスタンスとして XML にアクセスできます。

XML の型なしのデータには、以下のようなものがあります。

XMLObject - この XML データ型は、型なしの XML フォーマット データを指定します。つまり、このデータ型は、XML スキーマに対して有効でない XML データを表します。

XMLObjectList - この XML データ型は、型なしの XML フォーマット データの順序を指定します。言い換えると、このデータ型は、XML スキーマに対して無効な XML 要素の一連の反復要素を示します。

XML Object のヒント

XMLObject 変数または型付きの XML 変数を XMLObjectList に割り当てる場合、変数を直接割り当てる代わりに XML ドキュメントがリストに追加されます。

XML スキーマ作成のヒント

属性の宣言を含んでいる XML スキーマの定義を作成する場合は、それらの宣言を要素の宣言の内部またはローカルに格納にすることをお勧めします。XML スキーマ ドキュメントの最上位 (xsd:schema ルートの真下) で属性を宣言する場合、対象ネームスペースがあれば、その属性を対象ネームスペースにより限定する必要があります。その結果、XML のインスタンス ドキュメントがスキーマに対して有効であるためには、対象ネームスペースに関連するネームスペース プレフィックスにより XML ドキュメント内の属性を限定する必要があります。このプレフィックスを XML インスタンス ドキュメントに指定しない場合は、そのスキーマに対するトランスフォーメーションまたは検証は失敗します。

注意 : 同一の namespace の付いた 2 つのインポートをサポートするスキーマ ファイルを作成する場合、XQuery Mapper では 2 番目のインポートを無視します。

非 XML 型

WebLogic Integration では、XML に基づき、メッセージ フォーマット言語 (MFL) と呼ばれるメタデータ言語を使用し、(型付きの) 非 XML データの構造を説明します。Format Builder ツールにより、メタデータを MFL ドキュメントと呼ばれるデータ ファイルとして作成および維持します。

注意 : ビジネス プロセス プロジェクトで使用するために MFL ファイルを作成する際に、そのファイルをアプリケーションで利用可能にするには、そのファイルをスキーマ フォルダに追加する必要があります。デザイン ビューのアプリケーションとプロジェクト フォルダの詳細については、「アプリケーションのコンポーネント」を参照してください。

プロジェクトで利用できる各 MFL ファイルは、[変数を作成] ダイアログ ボックスの [非 XML 型] に表示されます。ただし、各 MFL ファイルの XML スキーマ表現は、WebLogic Workshop により構築されます。この MFL データの XML スキーマ表現は、XML 型のリストで利用できます。言い換えると、プロジェクトの各 MFL ファイルは、非 XML データ表現 (非 XML の MFL フォーマット) と XML スキーマ表現 (型付きの XML データ) で作業できます。たとえば、mydata.mfl という名前の MFL ファイルをビジネス プロセス プロジェクトに追加する場合は、mydata.mfl非 XML 型に表示され、対応する XML スキーマ表現の mydata.mfl は、XML 型に表示されます。型付きの非 XML フォーマットの型付きの XML バージョンが与えられますが、双方の型は自動的には移入されません。つまり、データを型付きの非 XML フォーマットで受信し、それを型付きの非 XML 変数に割り当て、対応する型付きの XML バージョン用の変数を作成すると、型付きの非 XML 変数にあるデータを自動的に含むことはありません。これを達成するためには、トランスフォーメーション マップを使用する必要があります。

注意 : 非 XML 変数は、WebLogic Integration の旧バージョンの Binary 変数と同等です。

非 XML 型データには、MFL ファイルと既知のスキーマがない非 XML データを指定する RawData 型も入っています。

XMLObject と RawData は双方とも WebLogic Integration の型なしのデータ型ですが、XMLObject のデータ型は XML のままであり、解析できる構造を持ちます。RawData は、既知の構造を持たない単なる一連のデータです。そのため、RawData パラメータを XQuery 式やトランスフォーメーション メソッドで使用するなどの操作を行うことができません。

単純型

以下の Java のデータ型が入っています。

基本データ型 - boolean、byte、char、double、float、int、long、short。

クラス - 変数は、現行のプロジェクトの Java クラスから作成できます。ただし、プロジェクトで利用できる Java クラスは、ノード ビルダの [割り当てる変数を選択します] ペインには表示されません。「データ パレットに新しい変数を作成するには」と「ノード ビルダに新しい変数を作成するには」の節に示すように、[型名] フィールドの Java クラスを明示的に指定する必要があります。

Java クラスの変数は、変換せずにビジネス プロセスで使用できます。データ トランスフォーメーションで Java クラスを使用する場合は、WebLogic Integration により、Java クラスが Java クラス ファイル内部の XML スキーマ表現に変換されます。XML スキーマ型に変換できない Java クラスのフィールドは、無視されます。

Java コレクションのヒント

変数をコレクションに割り当てる場合は、変数は、直接変数を割り当てる代わりにコレクションに追加されます。

関連トピック

スキーマの検証

ビジネス プロセスのソース コード変数

MFL データの XML 変数への割り当てと XML データの MFL 変数への割り当て

MFL データの XML 変数への割り当てと XML データの MFL 変数への割り当て

非 XML 型」で説明するように、アプリケーションの各 MFL ファイルの XML スキーマ表現は、BEA Workshop for WebLogic Platform により構築されます。非 XML データ表現 (非 XML の MFL フォーマット) と XML スキーマ表現 (型付きの XML データ) のプロジェクトの各 MFL ファイルで作業できます。

WebLogic Integration ノード ビルダの [変数の割り当て] ペインでは、MFL と対応する XML 変数を交換可能なものとして処理します。つまり、MFL データを XML 型の対応する変数に直接割り当てることができ、XML データを MFL 型の対応する変数に直接割り当てることができるため、データ トランスフォーメーションは必要ありません。

つまり、BEA Workshop for WebLogic Platform のグラフィカルな設計環境により、MFL データ (クライアントまたはコントロールからビジネス プロセスに渡される) を強く型付けされた XML 変数に直接割り当てることができ、型付きの XML データ (ビジネス プロセスからクライアントまたはコントロールに送信される) を MFL 変数に直接割り当てることができます。

Client RequestClient ResponseControl SendControl Return、および Control Send with Return ノードのノード ビルダでは、MFL データから XML 変数への直接割り当てと、XML データから MFL 変数への直接割り当てをサポートしています。以下の節の例では、Client RequestClient Response ノードについて説明します。この手順は、いずれのノードでも同様です。

シナリオ例 - MFL データの XML 変数への割り当てと、XML データの MFL 変数への割り当てが必要な場合

以下の例を考えます。

ビジネス プロセスが、クライアントからの要求により開始されました。要求には、MFL フォーマットの発注書ドキュメントが入っており、アプリケーションのスキーマ フォルダの MFL ファイルにより表されています。

発注書を処理するには、ビジネス プロセスでは、最初に、MFL データを Client Request ノードで XML 変数に割り当てる必要があります。この XML 変数は、その後のノードで発注書の処理に使用されます。処理が完了すると、ビジネス プロセスにより、応答ドキュメントが Client Response ノードからクライアントに送信されます。処理されたデータ (見積書) は、ビジネス プロセスの XML フォーマットです。これは、クライアントでは MFL データを期待しているため、応答を送信する前に、Client Response ノードにより XML データが MFL 型の変数に割り当てられるからです。

この例のビジネス プロセスには、図 19-2 に示すように、Client Request ノード、Client Response ノード、および両ノードの間のノード (この例では説明していない) が入っており、そこで処理ロジックを設計します。

図 19-2 処理ロジック

処理ロジック

以下の手順では、Client Request ノードと Client Response ノードを設計し、この例で必要な MFL から XML へと XML から MFL への割り当てを行う方法について説明します。

Client Request ノードを設計するには
  1. デザイン ビューで [Client Request] ノードをダブルクリックしてノード ビルダを呼び出します。
  2. [一般的な設定] タブで、[メソッド名] フィールドに名前を入力し、この [Client Receive] ノードのメソッド名を指定します (デフォルトでは、このメソッド名は clientRequest である)。
  3. [一般的な設定] タブで、[追加] をクリックし、Client Request ノードによりクライアントから受信することが予想されるデータ型および形式を選択します (メソッド パラメータのデータ型)。次の図に示すように、XML オプションがデフォルトで選択され、XML 型が表示されます。ただし、非 XML 型単純型も利用できます。非 XML と Java のデータ型を表示するには、パネルの [非 XML] または [単純] タブを選択します。図 19-3 を参照してください。
  4. 図 19-3 データ型


    データ型

    注意 : プロジェクトの各 MFL ファイル型は、非 XML 型ペインに表示され、プロジェクトの各 XML ファイル型は、XML 型ペインに表示されます。各 MFL ファイルの XML スキーマ表現は WebLogic Workshop により構築されるため、MFL ファイル型の XML スキーマ表現は、XML 型リストでも利用できます。
  5. 図 19-4 に示すように、[非 XML] を選択して非 XML 型 (型付きと型なし) をアプリケーションに表示します。
  6. 図 19-4 非 XML


    非 XML

  7. ビジネス プロセスに対してクライアントが行う要求の型を示す MFL ファイル名に関連した [+] をクリックします。この例では、myMFLFile.mfl の横の [+] をクリックし、ルート要素 MyMessageFormatMflObject を示します。
  8. ルート要素をクリックします。この例では、MyMessageFormatMflObject です。データ型が、[] フィールドに表示されます。
  9. [名前] フィールドのメソッド パラメータに名前を入力し (この例では、requestMFL と入力)、[OK] をクリックします。パラメータ型が、ノード ビルダに表示されます。
  10. [データの受信] タブをクリックします。
  11. [データの受信] タブでは、変数を定義し、ビジネス プロセスによりクライアントから受信するデータを保持できます。

    [クライアントが送信する値] フィールドには、[一般的な設定] タブに指定した 1 つ (または複数) のパラメータが移入されます。この例では、データは MyMessageFormatMflObject 型です。

  12. メソッド パラメータに与えられたデータを割り当てる新しい変数を作成します。
  13. 新しい変数を作成するには、[割り当てる変数を選択します] ドロップダウン リストから [変数の新規作成...] を選択します。

    [変数を作成] ダイアログ ボックスは、[一般的な設定] タブで指定したメソッドにより予想される変数の型が既に移入されているフィールドと共に表示されます。

  14. [XML] オプションを選択します。
  15. ビジネス プロセスによりこのノードで受信する MFL データ対応の XML スキーマをクリックします。この例では、myMFLFile.mfl.xsd の横の [+] をクリックし、その構造を展開します。
  16. スキーマのルート ノードをクリックします。この例では、MyMessageFormat をクリックします。[変数の型] フィールドには、mymflfile.MyMessageFormatDocument データ型が移入されます。
  17. [変数名] フィールドに、名前を入力します。この例では、requestXML と入力しました。
  18. [OK] をクリックします。ノード ビルダに割り当てが表示されます。
  19. [閉じる] をクリックして、ノード ビルダを閉じます。
  20. 作業内容を保存するには、[ファイルArrow symbol保管] を選択します。

前述の手順では、グラフィカルな設計環境を使用して Client Request ノードを設計し、MFL データを XML 変数に直接割り当てる方法について説明しました。データ トランスフォーメーションは必要ありません。

Client Response ノードを設計するには

このシナリオ例では、発注書の要求を処理するためにビジネス プロセスにより何らかの処理が行われると仮定します。その処理の結果、ビジネス プロセスは、型付きの XML の見積書を作成します。クライアントは、MFL フォーマットでの見積りを予想しています (見積のメッセージは、POquote.mfl という名前の MFL スキーマに対して有効である必要がある)。そのため、ビジネス プロセスは、この MFL ファイル (この例では POquote.mfl.xsd という名前) に関連する XML スキーマに対して有効な XML 変数で見積りデータを保存します。

クライアントに対して応答を送信する前に、Client Response ノードの型付きの非 XML (MFL) 変数に型付きの XML の見積りを割り当てる必要があります。以下の手順では、この XML から MFL のシナリオに対応するように、Client Response ノードを設計する方法について説明します。

  1. デザイン ビューで [Client Response] ノードをダブルクリックしてノード ビルダを呼び出します。
  2. [一般的な設定] タブで、[メソッド名] フィールドに名前を入力し、メソッド名を指定します (デフォルトでは、このメソッドの名前は clientResponse である)。
  3. [一般的な設定] タブで、[追加] をクリックし、[Client Request] ノードのメソッド パラメータ用のデータ型を選択します。
  4. ビジネス プロセスより作成される見積りの型を示す XSD ファイル名に関連した [+] をクリックします。この例では、POquote.mfl.xsd の横の [+] をクリックし、ルート要素 POQuote を示します。
  5. ルート要素をクリックします。この例では、POQuote です。データ型は、[] フィールドに表示されます (poquote.POquoteDocument)。
  6. [名前] フィールドにパラメータ名を入力し (この例では、quoteXML と入力)、[OK] をクリックします。パラメータ型が、ノード ビルダに表示されます。
  7. [データの送信] タブをクリックします。[クライアントが予期する値] フィールドには、[一般的な設定] タブに指定したパラメータが移入されます。この例では、メソッドが予想するデータ型は poquote.POquoteDocument です。
  8. メソッド パラメータに与えられたデータを割り当てる新しい変数を作成します。新しい変数を作成するには、[割り当てる変数を選択します] ドロップダウン リストから [変数の新規作成...] を選択します。[変数を作成] ダイアログ ボックスが表示され、[一般的な設定] タブで指定したメソッドにより予想される変数の型がフィールドと共に移入されます。
  9. [変数の型の選択] ペインで [非 XML] を選択し、アプリケーションで非 XML 型を示します。
  10. ビジネス プロセスからクライアントが受信する MFL データを指定する MFL スキーマをクリックします。この例では、POQuote.mfl の横の [+] をクリックし、その構造を展開します。
  11. スキーマのルート ノードをクリックします。この例では、POquote をクリックします。[変数の型] フィールドには、前の図に示すように、poquote.POquoteMflObject データ型が移入されます。
  12. [変数名] フィールドに、名前を入力します。この例では、responseMFL と入力します。
  13. [OK] をクリックします。ノード ビルダに割り当てが表示されます。
  14. [閉じる] をクリックして、ノード ビルダを閉じます。
  15. 作業を保存するには、[ファイルArrow symbol保管] をクリックします。

前述の手順では、グラフィカルな設計環境を使用して Client Response ノードを設計し、XML データを対応する MFL 変数に直接割り当てる方法について説明しました。データ トランスフォーメーションは必要ありません。


  ページの先頭       前  次