Home > はじめに > フローの作成と設定

フローの作成と設定

実装ステージでは、フロー内のステップを定義して設定します。

Update Inventoryサービスを実装しているフローは、HTTP updateリクエストを受け入れて、publisherがデータベース内に存在していることを確認します。Publiserが見つかった場合、タイトル・テーブルは更新され、確認の電子メールが送られます。更新されなかった場合、拒否の電子メールが送られます。

フローを作成するには:

  1. ソリューションエクスプローラでデフォルトフロー(Flow-1)にパークします。

  2. フローの名前を  Update_Inventory に変更します。

  3. このフローの下の、フロー変数をダブルクリック(Ctrl+L)し、[フロー変数]リポジトリを開きます。

  4. [追加]をクリックして新しいフロー変数を作成し、名前を F.PublisherID に変更します。項目タイプはAlpha、長さを 30 に設定してください。

  5. F.TitleIDF.TitleName という2つのフロー変数を追加します。どちらもAlphaで長さを 30 に設定します。

  6. F.PublisherExists という名前の4番目の変数を作成して、Logical に設定してください。これは、変数がTue/Falseの値を受け入れることを意味します。

  7. [ツールボックス]ペインから、[HTTP]コンポーネントを選択して、[トリガー]エリアにドラッグします。

  8. HTTPトリガプロパティを設定します。

    1. [設定]セクションには、トリガ設定が表示されています(これは、以前定義されたデフォルトのHTTPサービスです)。

    2. HTTPトリガコンポーネントでダブルクリックか右クリックで[設定]を選択して[コンポーネントの設定:HTTP]ダイアログを開きます。

    3. [エンドポイント名]ドロップダウンリストからUpdate_Publisher_Booksを選択します。

    4. 以下のように、HTTPコール内に送られる引数を受け取るためのフロー変数を選択してください。

このステージでは、指定されたPubliherがPublishers データベース内に存在するかどうかについて調べるデータマッパーのステップを設定します。これを行うために、有効なpublisher レコードまたは空のレコードを返すSelectステートメントを使用します。

  1. [フロー]エリアに[データマッパー]ユーティリティをドラッグしてください。

  2. [プロパティ]ペインで[ステップ名]を Validate_Publisher_ID に変更してください。

  3. データマッパー上でダブルクリックか右クリックします。[設定]をクリックして[データマッパー]ウィンドウを開きます。.

  4. ツールボックスの[マッパースキーマ]セクションから、Databaseを[データマッパー]ウィンドウの[送り元]エリアにドラッグします。

  5. [プロパティ]ペインで送り元の名を Publishers に変更してください。

  6. 以下の通りに送り元プロパティを設定してください。

    1. [データベース定義]のドロップダウンリストから、Inventory_ Databaseを選択します。これは以前に定義したデータベース・リソースです。

    2. テーブルとカラムを選択するために[ウイザード]パラメータでをクリックしてください。

    3. [有効なテーブル]リストから、Publishersテーブルを選択します。[追加]をクリックして、dbo.[Publishers] が[選択済みテーブル]リストに追加されていることを確認してください。

    4. [次へ]をクリックして[カラム選択]ダイアログに移動します。

    5. [カラム]リストから、pub_idを追加します。

    6. [次へ]をクリックして[Where句と Order By]ダイアログに移動します。

    7. 以下の通りにWhere句を定義してください:  [publishers].pub_id='<?F.PublisherID?>'
      これは、指定されたpublisherのレコードだけを取得します。

    8. [次へ]をクリックしてデータベースに送られるSQL文を表示します。

    9. [完了]をクリックして[データベース]ウィザードの定義を終了してください。tu-rubokkusu

  1. ツールボックスの[マッパースキーマ]セクションから、項目タイプを[データマッパー]ウィンドウの[宛先]エリアにドラッグします。

  2. [プロパティ]ペインで宛先名を"PublisherExists"に変更します。

  3. 以下の通りに宛先特性を設定してください:

    1. リストからF.PublisherExistsを選択してください。

    2. [保存]をクリックして画面を終了します。

  1. 以下の通りに送り元を送り先にマッッピングしてください:

    1. pub_id送り元ノードを選択して、F.PublisherExists送り先ノードにドラッグしてください。この時点で、接続が2つの選択されたノードの間で確立され、さらに自動的に、親ノードの間でも確立されます。

    2. F.PublisherExistsノードにパークします。

    3. [プロパティ]ペインで以下の計算値を挿入してください。最後の2つの文字は、2つのシングルクオーテーションである点に注意してください: src.Source/S3/Record/pub_id <>''   

      これは、publisherがデータベース内で見つかった場合、項目をTrueに設定します。

    4. [保存]をクリックして[データマッパー]ダイアログを閉じ、設定処理を終了します。

  1. 前のステップ(Validate Publisher IDD)の上で、新しい[データマッパー]ステップをドロップしてください。このステップは、publisherが見つかった場合だけデータベース内のタイトルを更新します。

    1. [プロパティ]ペインでサービス名を"Update Titles"に変更します。

    2. [保存]をクリックして定義を保存してください。

    3. [コンポーネント]で右クリックして、コンテキストメニューから[条件]を選択します。

    4. 式エディタが開きます。データ項目リストを開くために、ツールバーボタンの[項目](左からの2番目)をクリックしてください。

    5. F.PublisherExists項目で位置付け、ダブルクリックして選択します。これは、True/Falseの値だけが入力できる論理型項目です。

    6. [検証]をクリックして、式を検証します。[OK]をクリックして式を保存します。定義された条件は、ステップの上の右側に表示されます。

    7. データマッパー上でダブルクリックか右クリックして[データマッパー]ウィンドウを開きます。

    8. ツールボックスの[マッパースキーマ]セクションから、項目タイプを[データマッパー]ウィンドウの[送り先]エリアにドラッグします。

    9. [プロパティ]ペインで名前を"TitleDetails"に変更します。

    10. [プロパティ]ペインの[項目]パラメータで、をクリックして[ソースプロパティ]ダイアログボックスを開きます。ここで、次の項目を選択します。 F.PublisherID, F.TitleID, F.TitleName.

    11. ツールボックスの[マッパースキーマ]セクションから、データベースタイプを[データマッパー]ウィンドウの[送り先]エリアにドラッグします。

    12. [プロパティ]ペインで名前を"UpdateDatabase"に変更します。

    13. [プロパティ]ペインで、以下のように宛先のプロパティを定義します。

      • データベース定義がInventory Databaseへのセットであることを確認してください。

      • [ウイザード]パラメータで、をクリックしてウイザードを開いてください。

      • DB OperationInsertに設定します。

      • [データベース]ウィザードで、[Title]テーブルを選択します。

      • [次へ]をクリックして[カラム選択]ダイアログに移動します。

      • [カラム]リストから、title_idtitlepub_idを選択します。

      • [次へ]をクリックします。

    1. [完了]をクリックしてウィザードを終了します。

    2. 以下のノードを接続することによって、送り元上の項目を送り先のデータベース・フィールドに接続します。

      • F.PublisherID から titles.pub_id

      • F.TitleID から titles.title_id

      • F.TitleName から titles.title

    1. [保存]クリックしてマッピング定義とデータマッパーの設定を保存してください。

この時点で、新しいタイトル情報によってデータベースを更新しました。しかし、publisherが見つからない場合、データベースを更新する代わりに、拒否のeメールを送りたいところです。

  1. データマッパーのValidate Publisher ID ステップの先頭で新しい[eメール]コンポーネントをドロップします。

  2. 以下の通りに[eメール]コンポーネントを設定してください。

    1. コンポーネント名をRejection Email に変更してください。

    2. [設定]セクションで、Inventory Email Server Resourceが選択されることを確認してください。

    3. [eメール]コンポーネント上でダブルクリックか右クリックして[ダイレクトアクセスメソッド:Email]ダイアログボックスを開きます。

    4. [追加]をクリックしてQuick Send メソッドを選択します。

    5. [To]欄に受信したいeメールアドレスを設定します。例:postmaster@Magicxpi.com。

    6. [題名]欄には次のように入力します:Inventory 拒否メッセージ

    7. [本文]欄には、以下を入力してください:  'タイトル ' & F.TitleName & ' は、inventoryシステムで更新されませんでした。'

最後のステップは、データベースが更新されたあと、確認のeメールを送信する別のeメール・コンポーネントを設定することです。

  1. Update Titlesステップの上位に 新しい[eメール]コンポーネントをドロップしてください。

  2. 以下の通りに[eメール]コンポーネントを設定してください。

    1. コンポーネント名をConfirmation Emailに変更してください。

    2. [設定]セクションのeメール設定で、Inventory Email Serverリソースが選択されることを確認してください。

    3. [eメール]コンポーネント上でダブルクリックか右クリックして[ダイレクトアクセスメソッド:Email]ダイアログボックスを開きます。

    4. [追加]をクリックしてQuick Send メソッドを選択します。

    5. [To]欄に受信したいeメールアドレスを設定します。例:postmaster@Magicxpi.com。

    6. [題名]欄には次のように入力します:Inventory 確認メッセージ

    7. [本文]欄には、以下を入力してください:  'タイトル ' & F.TitleName & ' は、inventoryシステムで更新されました。'

    8. [保存]をクリックしてプロジェクトを保存します。

次のステップは、プロジェクトのテストです。