APEX 24.2の新機能- ワークフロー内のワークフロー、OUTパラメータ、ワークフローのコピーなど (2024/12/30)
APEX 24.2の新機能- ワークフロー内のワークフロー、OUTパラメータ、ワークフローのコピーなど (2024/12/30)
投稿者: Ananya Chatterjee | Consulting Member of Technical Staff
スコープ
APEX 23.2では、ビジネス・プロセスのモデル化と実行に特化したネイティブ・コンポーネントとしてWorkflowが導入されました。次のリリースのAPEX 24.1では、実行時におけるワークフロー・ダイアグラムの可用性、アーカイブ/パージの機能拡張など、いくつかの機能拡張が導入されました。APEXワークフローを初めて使用したユーザーの場合、APEXワークフローの概念を紹介する次のブログは、このブログに進む前に役立つ事前読取りです。
Simplify Business Process Management using APEX Workflow
Multi-Level Expense Approval Using APEX Workflow
ワークフロー内でワークフローを使用する理由
別のワークフローからワークフローを起動できるようにすると、多岐にわたる利点があります。
- 管理性- 複雑なビジネス・プロセスを、親ワークフローから起動できる、より小さく管理しやすいチャンクに分割し、プロセスをクリーンでわかりやすい状態に保ちます。従業員のオンボーディングは、メイン・ワークフローが、購買や購買依頼、HR- タスク、部門タスク、トレーニングなどの小規模な個別ワークフローで構成できる優れた例です。
- 再利用性- 共通タスクは、他のワークフローで再利用できる単一のワークフローにまとめることができます。典型的な例は、個人の信用価値計算です。このようなワークフローは、a)入院プロセス、b)住宅ローン承認プロセス、c)海外出張承認などのさまざまなワークフローで再利用できます。
APEX - ワークフロー・アクティビティの起動
リリース24.2では、ワークフローの起動アクティビティ(ワークフローで別のワークフローをコールするために使用できる特別なアクティビティ)が導入されました。
次の図に示すように、「ワークフロー・アクティビティの起動」は、ワークフロー・デザイナの「ダイアグラム・ビルダー」ペインの下部にある「アクティビティ・パレット」に他のアクティビティとともに表示され、ワークフロー・ダイアグラムにドラッグ・アンド・ドロップできます。
ワークフロー・デザイナ・パレットでのワークフロー・アクティビティの起動
次の図は、予算承認ワークフローをラップトップ要求ワークフローの一部として起動する方法と、ワークフローの起動アクティビティで使用可能な様々な設定を示しています。
図1親ワークフロー- ラップトップ承認
図2起動ワークフロー- 予算承認
親ワークフロー・ガイダンス
左ペインのツリー・リージョンで、展開された「Invoke Budget Approval(予算承認の起動)」アクティビティのパラメータを確認します。従業員IDとアイテムは、ラップトップ リクエスト ワークフローから予算承認ワークフローに渡される入力です。ステータスは、予算承認ワークフローがラップトップ承認ワークフローに戻る出力です。渡されたステータスに応じて、ラップトップ要求は承認または拒否されます。
右側のペインには、プロパティ・エディタの「ワークフローの起動」設定が表示されます。
ワークフロー定義: 起動するワークフローが選択されているドロップダウンです。この例では、予算承認ワークフローが選択されています。現在のワークフローと同じワークフローを選択しようとした場合、または現在のワークフローの親であるワークフローを選択しようとすると、検証エラーが発生します。これにより、ビジネス・プロセスで循環依存が導入されるリスクがなくなります。
イニシエータ・アイテム: 起動されたワークフローの開始者を指定する親ワークフロー変数を選択できます。空のままにすると、親ワークフローのイニシエータが自動的に呼び出されたワークフローのイニシエータになります。
Details Primary Key Item(詳細主キー項目): 起動されたワークフローに追加の詳細が指定されている場合、この項目は、起動されたワークフローに関連付けられた追加の詳細レコードの主キーの値を指定します。この例では、予算承認ワークフロー(図2を参照)に、追加詳細として表EBA_DEMO_APPR_BUDGETが指定されており、EMPLOYEE_IDが主キー列です。したがって、図1の詳細主キーは、EBA_DEMO_APPR_BUDGET表の行を一意に識別する従業員ID値を指します。
ワークフローIDアイテム: 起動されたワークフロー・インスタンスIDの値を格納するワークフロー変数を選択できます。
次の2つの設定は、ワークフローの起動アクティビティのコンテキストに特に興味があります。
完了待ち: このスイッチは、起動されたワークフローの完了を親ワークフローが待機してから次のアクティビティに進むかどうかを決定します。この例では、図Iに示すように、「完了待ち」スイッチがオンになっています。つまり、ラップトップ要求ワークフローの処理を続行する前に、予算承認ワークフローを完了する必要があります。このスイッチをオフにすると、それは火災であり、呼び出しを忘れます。親ワークフローは、指定されたワークフローを起動するだけで、次のアクティビティに進みます。呼び出されたワークフローと親ワークフローの実行はこの時点でフォークされ、この時点以降の2つのフロー間に依存関係はありません。このスイッチがオンかオフかは、ビジネス・ユース・ケースによって完全に異なります。
再試行ポイント: これは、「再開」と「やり直し」の2つの値を持つドロップダウンです。
これはちょっとした文脈です。起動されたワークフローで障害が発生し、「完了の待機」がtrueに設定されている場合、フォルトは親ワークフローに伝播されます。この時点で、ワークフロー管理者または所有者は親ワークフローを再試行できます。再試行ポイントが「再開」に設定されている場合、起動されたワークフロー・インスタンスは、その失敗したアクティビティから再試行されます。再試行ポイントが「やり直し」に設定されている場合、呼び出されたワークフロー・インスタンスは終了し、呼び出されたワークフローの新しいインスタンスが作成されます。再試行ポイントの設定は、ビジネス・ユースケースによって異なります。フォルト軽減の要件は、ビジネスによって異なります。アトミック・ワークフローによっては、フォルト後に新たに開始する方が理にかなっていますが、それ以外の場合は、フォルト・アクティビティを修正して既存のインスタンスを再開することが可能です。
親ワークフローと呼び出されたワークフロー間のシームレスなナビゲーション
ワークフロー・デザイナを使用すると、親ワークフローと起動されたワークフロー間を簡単かつ直感的にナビゲートできます。呼び出されたワークフロー・モデル/定義を親ワークフローから開くには、呼び出されたワークフロー・アクティビティの「開く」コンテキスト・メニュー・エントリをクリックします。親ワークフローのモデル/定義に戻るには、ダイアグラム・ビルダーのツールバー・リージョンの「戻る」ボタンをクリックします。次の図は、経験を示しています。
パラメータの方向
呼び出されるワークフローのサポートにより、リリース24.2では、ワークフローの定義の一部としてパラメータ指示(In、Out、In/Out)を指定することもできます。予算承認ワークフローで、「ステータス」パラメータを「入/出」と指定します。親(ラップトップ リクエスト)の予算承認の起動ワークフローで、[ステータス]パラメータがV_TASK_OUTCOMEワークフロー変数にマッピングされます。
つまり、V_TASK_OUTCOME変数値は、ラップトップ リクエスト ワークフローから呼び出された予算承認ワークフローに渡されます。起動されたワークフローでは、処理後のステータス値がV_TASK_OUTCOME変数を介してラップトップ要求ワークフローに返されます。
ノート: ワークフローがワークフローの「開始」ページ・プロセスで使用されている場合、出力パラメータは表示されません。これは、ページから送信したワークフローが非同期に実行され、アウト・パラメータは実際にはページに戻せないためです。したがって、出力パラメータは、ワークフロー・アクティビティの起動で使用されるワークフローのコンテキストでのみ関連します。
ランタイム・エクスペリエンス
実行時に、ラップトップ リクエストが従業員に対して呼び出され、ラップトップ リクエスト ワークフローの実行が開始されると、ある時点で予算承認の起動アクティビティに到達します。これは、イニシエータがワークフローコンソールに2つのワークフローを表示するときです。
右側の「Laptop Request Workflow Details(ラップトップ要求ワークフロー詳細)」ページで、下線付きの「Invoke Budget Approval(予算承認の起動)」アクティビティを確認します。アクティビティをクリックすると、次に示すように起動されたワークフローの詳細が開きます。
起動されたワークフローの詳細ページには、親ワークフローの詳細に戻る追加のボタン(「親ワークフローへ」)があります。
これにより、実行時に親ワークフローと呼び出されたワークフロー間のシームレスな前後に移動できます。
別のアプリケーションからのワークフローのコピー
リリース24.2で提供されるもう1つの重要な機能強化は、ワークフローを別のアプリケーションからコピーする機能です。この機能を有効にすると、カスタマイズ用のテンプレートを形成する標準化されたワークフローをベース・アプリケーションからカスタム・アプリケーションにコピーし、ビジネス要件に従って編集できます。これにより、開発者の時間を節約し、実装エラーのリスクを軽減できます。ワークフローを別のアプリケーションからコピーすると、ワークフローで使用されるEメール・テンプレート、ヒューマン・タスク、RESTデータ・ソースなどの他の共有コンポーネントもターゲット・アプリケーションにコピーされます。コピーするワークフローにワークフローの起動アクティビティがある場合、呼び出されたワークフローもターゲット・アプリケーションにコピーされます。
「他のアプリケーションからコピー」オプションは、「ワークフロー・レポート」ページで使用でき、「共有コンポーネント」->「ワークフローおよび自動化」->「ワークフロー」から開きます。
この例では、ラップトップ リクエスト ワークフローがコピーされると、ラップトップ リクエスト ワークフローによって起動されるため、予算承認ワークフローも自動的にコピーされます。
まとめ
他のワークフローからのワークフローの宣言的な起動は、ビジネス・プロセスのモデル化をより堅牢にし、冗長性を減らす強力な機能強化です。他のアプリケーションからワークフローをコピーする機能は、アプリ開発者の生産性向上にも期待されています。
このブログの読者は、APEXワークフローにおけるこれら2つのエキサイティングな新しい機能拡張を試し、APEXワークフローを今後のリリースでさらに強力にするためのフィードバックとアイデアを提供してくれることを願っています。
コメント
コメントを投稿