チュートリアル : 初めてのビジネス プロセス設計

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

手順 10 : ファイル システムへの見積りの書き込み

この手順では、価格と在庫情報をファイル システムに書き込むノードをビジネス プロセスに作成します。ファイル コントロールによって、ファイル システムでのファイルの読み込み、書き込み、または追加を実行できます。

この手順では、以下の作業を行います。

  1. ファイル コントロールのインスタンスの作成
  2. コントロール送信ノードとファイル コントロールの対話の設計
  3. (省略可能) 変数へのファイル コントロール プロパティの割り当て
  4. (省略可能) ファイル コントロール プロパティの使用

3 つ目と 4 つ目の作業は省略できます。これらはファイル コントロールへの理解を深めるために用意されていますが、チュートリアルを完了するために不可欠ではありません。

 


ファイル コントロールのインスタンスの作成

  1. [データ パレット|コントロール] のタブにある をクリックして、[Integration コントロール|ファイル] を選択します。
  2. [コントロールの挿入] ダイアログ ボックスが表示されます。

  3. コントロールの名前として myFileQuote と入力し、[次へ] をクリックします。
  4. [コントロールの作成] ダイアログ ボックスの [名前] フィールドに MyFileQuote と入力し、[次へ] をクリックします。
    1. [コントロールの挿入 - ファイル] ダイアログ ボックスで、以下の情報を入力します。
      • [ディレクトリ名] : ファイル コントロールがファイルを書き込む場所を入力します。ファイル システム内の任意の場所を指定できます。
      • [ファイル名フィルタ] : ファイルの名前を入力します。たとえば、quote.xml と入力します。
      • [データのタイプ] : ドロップダウン リストから [XmlObject] を選択します。
    2. [終了] をクリックします。
    3. ファイル コントロールのインスタンス myFileQuote がプロジェクトに作成され、[データ パレット] 内の [コントロール] 下に表示されます。

  5. WorkSpace Studio のメニューから、[ファイル|保管] を選択します。
注意 : この単純なケースでは、ファイル コントロールの各インスタンスで個別のファイルを操作できます。ファイル コントロールで複数のファイルを操作する方法については、「ファイル コントロール」を参照してください。

 


コントロール送信ノードとファイル コントロールの対話の設計

  1. [データ パレット] 内の myFileQuote コントロール インスタンスを展開し、以下のメソッドを選択します。
  2. FileControlPropertiesDocument write(XmlObject someData)
  3. このメソッドをドラッグして、RequestQuote ビジネス プロセスの [Combine Price and Avail Quotes] ノードの直後にドロップします。
  4. ノードの名前を Write Quote to File に変更します。
  5. [Write Quote to File] ノードをダブルクリックします。
  6. [一般的な設定] タブの [コントロール] フィールドに [myFileQuote] が表示され、[メソッド] フィールドで以下のメソッドが選択されていることを確認します。
  7. FileControlPropertiesDocument write(XmlObject someData)
  8. [データの送信] タブを選択します。
  9. [コントロールが予期する値] フィールドには、write() メソッドが予期するデータ型 XmlObject someData が設定されています。

  10. [割り当てる変数を選択します] フィールドで、「手順 9 : 見積りドキュメントの作成」で作成した [Quote (QuoteDocument)] を選択します。
  11. 注意 : このノードのノード ビルダには、[データの受信] タブがあります。このタブを使用して、ファイル コントロールが返したデータが割り当てられる変数を指定できます。このチュートリアルでは、この変数を指定する必要がないため、[データの受信] タブは無視できます。[データの受信] タブで変数を指定する方法と、その後でその変数を使用するシナリオについては、「ファイル コントロール プロパティ」を参照してください。
  12. [閉じる] をクリックして、ノード ビルダを閉じます。
  13. WorkSpace Studio のメニューから、[ファイル|保管] を選択します。
  14. この手順によって、ファイル コントロール ノードの設計が完了します。

実行時に、「手順 9 : 見積りドキュメントの作成」で作成した見積りドキュメントが、ファイル システム内の指定した場所に書き込まれます。

ファイル コントロール プロパティ

次の 2 つの節では、前の節で作成した Write Quote to File ノードをさらに詳細に定義するための (省略可能な) 手順について説明します。これらの手順は、チュートリアルを完了するために不可欠ではありません。ここに示す手順は、FileControlPropertiesDocument write(XmlObject someData) メソッドによってビジネス プロセスに返されたファイル コントロール プロパティを理解して使用できるようにするために用意されています。

この手順で行うように、ファイル コントロールを使用してファイルをファイル システムに書き込むときには、書き込むファイルに関する情報がコントロールから返されます。この情報は、型付き XML ドキュメント FileControlPropertiesDocument で返されます。これは、XML スキーマ DynamicProperties.xsd に対して有効です。このスキーマは、\schemas\system 下のユーティリティ プロジェクトにあります。

注意 : ファイル コントロールの API を使用するには、アプリケーションのユーティリティまたは Web プロジェクトの [schemas] フォルダ内に DynamicProperties.xsd スキーマがある必要があります。

 


変数へのファイル コントロール プロパティの割り当て

この節では、ファイル コントロール プロパティが割り当てられる変数の割り当てを含めるように、ビジネス プロセスの Write Quote to File ノードを設計する方法について説明します。

注意 : この節の手順を開始する前に、「コントロール送信ノードとファイル コントロールの対話の設計」の手順 1 から手順 7 を完了している必要があります。
  1. Write Quote to File ノードが開いていない場合は、ノードをダブルクリックして開きます。
  2. [データの受信] タブを選択します。
  3. [コントロールが返す値] フィールドには、write() メソッドから返されるデータ型 FileControlPropertiesDocument が設定されています。

  4. [割り当てる変数を選択します] フィールドで [変数の新規作成...] を選択します。
  5. [変数を作成] ダイアログ ボックスが表示されます。

  6. [変数名] フィールドに fileProperties と入力します。
  7. [XML] タブを選択します。
  8. [型付き] ノードを [schemas\system] ノードまで展開 (ノードの横にある [+] をクリック) します。
  9. [system] 下の [DynamicProperties.xsd] を展開して [FileControlProperties] を選択します。
  10. [型名] フィールドに [com.bea.wli.control.dynamicProperties.FileControlPropertiesDocument] と表示されます。

  11. [OK] をクリックして新しい変数を作成します。
  12. fileProperties 変数が [データの受信] タブと [データ パレット] に表示されます。

  13. [閉じる] をクリックしてノード ビルダを閉じます。
  14. WorkSpace Studio のメニューから、[ファイル Arrow symbol 保管] を選択します。
  15. この手順によって、ファイル コントロール ノードの設計が完了します。実行時に、「手順 9 : 見積りドキュメントの作成」で作成した見積りドキュメントが、ファイル システム内の指定した場所に書き込まれます。書き込んだファイルに関する情報が RequestQuote ビジネス プロセスに返され、fileProperties 変数に割り当てられます。

 


ファイル コントロール プロパティの使用

前の節では、ファイル コントロールから返されるデータを変数 fileProperties に割り当てました。ここでは、書き込んだファイルに関する情報を fileProperties 変数から取得します。

[ソース] ビューのタブをクリックし、RequestQuote.java ファイルのコードを表示します。

fileProperties 変数の宣言は次の行にあります。

public com.bea.wli.control.dynamicProperties.FileControlPropertiesDocument fileProperties;

myFileQuote コントロールの write() メソッドは、以下のコード リストに示すようにコーディングされています。

コード リスト 11-1 write() メソッドのコード
public void myFileQuoteWrite() throws Exception {
   // #START: CODE GENERATED - PROTECTED SECTION
- このメソッドのこのコメントより前であれば、安全にコードを追加できる。 #//
   // トランスフォームを入力する
   // メソッド呼び出しを返す
   this.fileProperties = myFileQuote.write(this.Quote);
   // トランスフォームを出力する
   // 割り当てを出力する
   // #END  : CODE GENERATED - PROTECTED SECTION
- このコメントより後であれば、安全にコードを追加できる。 #//
}

このメソッドを (PROTECTED SECTION 外で) 編集して、fileProperties 変数から情報を取得するコードを記述できます。

たとえば、以下のコード行はファイル マスクを返します。

this.fileProperties.getFileControlProperties().getFileMask()

この例をさらに説明するため、public void fileQuoteWrite() メソッドを [ソース] ビューで編集して、以下のコード行を PROTECTED SECTION の後に含めます。

System.out.println
("The RequestQuote Process logged the quote in the following file " + this.fileProperties.getFileControlProperties().getFileMask());

[デザイン] ビューで、Write Quote to File ノードの横にあるアイコンが に変わります。

このアイコンによって、このノードに関連付けられているコードを [ソース] ビューで編集したことを視覚的に確認できます。ビジネス プロセスを実行すると、ファイルに付けた名前 (ファイル マスク) がコンソールに出力されます。

詳細については、「Integration コントロールを使用する」の「ファイル コントロール」を参照してください。


  ページの先頭       前  次