サービス・フローの作成
サービス・フローは、一連のサービス、ゲートウェイ、イベントです。サービス・フロー・エディターのパレットには、プロセス内で使用できる単純または複雑なサービス・フローを作成するためのツールが備わっています。
このタスクについて
以前のリリースではサービスの作成はデスクトップ Process Designer で行っていました。これらの Heritage サービスは、web Process Designer 内で編集できるサービス・フローに変換できます。サービス・フローは、Heritage サービスを実行したのと同じ方法で実行できます。Heritage サービスの変換について詳しくは、Heritage サービスの変換を参照してください。
手順
- ライブラリーから「サービス」 > 「サービス・フロー」をクリックし、ウィザードを実行します。
- サービス・フローに適切な名前を指定します。
- サービス・フローをチーム取得またはチーム・フィルター用のチーム・サービスとして使用する場合、「チーム・サービスとして使用」を選択し、サービス・タイプを指定します。選択したサービス・タイプに対応するテンプレートがデフォルトで指定されます。このデフォルト・テンプレートを置き換える場合は、追加の入力パラメーターおよび同じ出力変数を使用するサービスを、追加の出力変数なしで指すことができます。
- 「終了」をクリックします。
- 「ダイアグラム」ビューで、サービス・フローを作成します。それには、サービス、ゲートウェイ、イベントなどの成果物をパレットからキャンバスにドラッグし、それらをワイヤリングします。サービス・フロー・エディターのパレットを参照してください。
- オプション: 実行前スクリプトと実行後スクリプトをサービス・フロー内のアクティビティーに割り当てる際は、サービス・フロー・ダイアグラムでアクティビティー・ノードを選択し、プロパティー・ビューで「事前および事後」をクリックしてから、「実行前スクリプト」セクションまたは「実行後スクリプト」セクションに適切な JavaScriptコードを入力するか、貼り付けます。 追加する JavaScript コードは、アクティビティーの実行直前または直後に実行されます。詳しくは、実行前スクリプトと実行後スクリプトの割り当てを参照してください。
- オプション: REST サービス、Java アプリケーション、または外部実装を呼び出すには、サービス・タスクをダイアグラムに追加し、それをワイヤリングします。「実装」タブで、対応する外部サービスを選択し、呼び出す操作を選択します。「データ・マッピング」タブで入力および出力をマップします。外部サービスを参照してください。
- オプション: エンタープライズ・コンテンツ管理 (ECM) サーバーと統合する場合は、「コンテンツ統合タスク」をダイアグラムに追加して、ワイヤリングします。接続する ECM サーバーのプロパティーを入力します。ECM システムまたは IBM BPM ストアと統合するサービスのビルドを参照してください。
- このサービス・フローを呼び出す REST サービス、Coach ビュー、または外部実装を保護するには、呼び出しに必要なアクセス・レベルを指定します。
- サービス・フローがアクセスできるプライベート情報または機密情報を、どの Ajax 呼び出しを通じても公開できないようにする場合は、「Ajax 呼び出しを許可しない (Do not allow Ajax calls)」を選択します。
- 既知の Coach ビューまたは外部実装などの信頼できる呼び出し元のみにサービス・フローの呼び出しを許可するには、「信頼できる呼び出し元からの呼び出しを許可する」を選択します。呼び出しをトリガーするユーザーは、呼び出しコンテキストに対する許可を持っている必要があります。例えば、指定されたタスクのコンテキストでサービス・フローが呼び出される場合、ユーザーのそのタスクに対する許可がなければなりません。サービス・フローのデフォルトではこれが選択されています。
- IBM® BPM で認証されているすべてのユーザーにサービス・フローの呼び出しを許可するには、「すべてのユーザーからの呼び出しを許可する」を選択します。
- オプション: サービス呼び出しから別のサービス・フローまたは Heritage サービスを呼び出す際は、リンクされたサービス・フロー・ノードをダイアグラムに追加し、リンクされたサービス・フローで呼び出すサービスを指定します。 サービス・フローからの別のサービスの呼び出しを参照してください。
- オプション: 実行時にサービス・フローが取るパスを分岐する必要がある場合は、排他的ゲートウェイをサービス・フロー・ダイアグラムに追加し、ゲートウェイの実装プロパティーで、フローが辿るパスを決定するための JavaScript 条件を定義します。詳しくは、排他的ゲートウェイの実装を参照してください。
- オプション: サービス・フローの実行中にメッセージを Undercover Agent (UCA) に送信するには、「メッセージ (送信)」ツール () を使用して、出力中間メッセージ・イベントをダイアグラムに追加します。選択したメッセージ・イベントの「実装」タブの「イベント・プロパティー」の下で、メッセージ・イベントに添付する UCA を選択し、「現行スナップショットをターゲットにする」を使用してメッセージ・イベントのターゲットを設定します。詳しくは、Undercover Agent へのメッセージの送信を参照してください。
- オプション: サービス・フローの実行の状況および進行状況についてのランタイム・データを収集するには、サービス・フロー・モデルにモニター・イベントを追加します。「トラッキング」ツール () を使用して、サービス・フロー・ダイアグラムにトラッキング・イベント・ノードを追加します。IBM BPM でランタイム・データを収集する、ダイアグラム内のポイントにトラッキング・イベントを挿入します。詳しくは、ランタイム・データ・トラッキングの有効化を参照してください。
- オプション: パフォーマンスを向上させるために、「追加プロパティー」で「サービス・フロー結果のキャッシュを有効にする」を選択してキャッシュ構成フィールドを表示し、入力パラメーター値の組み合わせごとにサービス・フローの結果をキャッシュできるようにします。デフォルトではキャッシュは使用不可になっており、期間オプションは表示されません。 キャッシュを使用可能にすると、入力パラメーター値の組み合わせごとに、別々のサービス・フロー結果が自動的にキャッシュに追加されます。サービス・フローが開始されると、キャッシュが以下のようにチェックされます。
- 一致する結果が見つかった場合、サービス・フローを呼び出さずに、キャッシュされた結果が直接使用されます。
- 一致する結果がキャッシュ内に見つからない場合、またはキャッシュされた結果が期限切れの場合、サービス・フローが呼び出され、キャッシュがリフレッシュされます。
制約事項: サービス結果のキャッシュは、最上位のサービス・フローでは使用可能ですが、リンクされたサービス・フローでは動作しません。 - オプション: また、「追加プロパティー」の下で、共有ビジネス・オブジェクトの自動同期を有効にするかどうかを指定します。
- 以前に (ステップ 6 で) 「Ajax 呼び出しを許可しない」を選択した場合は、「共有ビジネス・オブジェクトを自動同期する」を選択して、共有ビジネス・オブジェクトの同期を有効にすることができます。同期を無効にするには、「共有ビジネス・オブジェクトを自動同期する」をクリアされた状態 (デフォルト・オプション) のままにします。例えば、カスタム・ロジックを実行した後に共有ビジネス・オブジェクトを明示的に保存するサービス・フローがある場合は、自動同期オプションをクリアします。
- 「信頼できる呼び出し元からの呼び出しを許可する」または「すべてのユーザーからの呼び出しを許可する」を選択した場合は、「共有ビジネス・オブジェクトを自動同期する」を選択して、共有ビジネス・オブジェクトの自動同期を有効にすることができます。ただし、サービス・フローが Ajax 経由で呼び出される場合、同期は有効になりません。この場合は、共有ビジネス・オブジェクトの自動同期が実行されないことを示す警告メッセージが表示されます。
- 「保存」または「編集の終了」をクリックします。
- サービス・フロー・エディターのパレット
サービス・フロー・エディターは、サービス・フローを開発するための使いやすいグラフィカル開発環境です。パレットからキャンバスにオブジェクトをドラッグすることで、サービス・フローの構造を構成できます。 - ライブラリーからのサービスの追加
サービス・フロー、REST サービス、Web サービス、または Java サービスをご使用のサービス・フローに挿入するには、ライブラリーからドラッグしてサービス・フロー・ダイアグラムにドロップできます。 - 別のサービスの呼び出し
リンクされたサービス・フローを使用して、構築するサービスから別のサービス・フローまたは Heritage サービスを呼び出すことができます。 - チーム・フィルター・サービスの設定
チーム・フィルター・サービスを使用して、特定のユーザーがアクティビティーに割り当てられることを動的に阻止できます。フィルター処理は任意の基準に基づいて行うことができ、関連するプロセス変数の入力パラメーターを使用して、フィルターで除外するユーザーを決定できます。 - サービス・フロー内のエラーの処理
サービス・フローを含むプロセスまたはサービスを設計する際には、ランタイム・アプリケーションで生成される可能性のあるエラーから回復するロジックを組み込む必要があります。 - 実行前スクリプトと実行後スクリプトの割り当て
クライアント・サイド・ヒューマン・サービスまたはサービス・フロー内のアクティビティーまたはイベントを実行するための属性と条件を指定する際に、指定したアクティビティー・ノードまたはイベント・ノードに実行前スクリプトと実行後スクリプトを割り当てることができます。実行前スクリプトと実行後スクリプトとして追加する JavaScript コードは、アクティビティーまたはイベントの実行直後に実行されます。 - 排他的ゲートウェイの実装
排他的ゲートウェイは、実行時にフローが取ることができるパスのブランチを決定することで、シーケンス・フローの分岐を制御します。排他的ゲートウェイをヒューマン・サービスまたはサービス・フローを追加する際に、条件に応じて複数のパスのうちのある 1 つのみを辿ることができる、サービス・フロー実行のポイントをモデル化します。 - Undercover Agent へのメッセージの送信
サービス・フローまたは Heritage ヒューマン・サービスの実行中に Undercover Agent (UCA) にメッセージを送信するために、サービス・フロー・ダイアグラムに中間メッセージ・イベントを追加できます。 - ランタイム・データ・トラッキングの有効化
トラッキング用またはレポート作成用にサービス・フローまたは Heritage ヒューマン・サービスの実行の進行状況についてのランタイム情報を収集するために、トラッキング・イベントを発行するようにサービスをモデル化できます。 - Coach ビューからのサービスの呼び出し
Ajax サービスまたはサービス・フローを Coach ビュー内から呼び出すことができます。Coach フレームワークは、タスクレス・モードで BPM REST API を使用してサービスを呼び出します。 - サービス・フローの実行およびデバッグ
サービス・フローを、複数のプレイバック・セッションを含む反復プロセスとして開発できます。エラーが発生した場合は、web Process Designer インスペクターでサービス・フローをデバッグできます。