6.1 ワークフローについて

ワークフローとアクティビティの状態、参加者、ワークフロー・コンソールなど、ワークフローについて説明します。

APEXにおけるワークフロー・コンポーネントでは、APEX開発者が、ビジネス・プロセスの全体または一部を設計、実装および自動化できます。そのプロセスの間には、一連の手続きルールに従って、アクションのために、ある参加者から他の参加者にドキュメント、情報、レコードまたはタスクが渡されます。

ワークフローの構造は、アプリケーション開発者が確立するワークフロー定義によって決まります。ワークフローが開始されるたびに、APEXにより、ワークフロー定義からの特定のランタイムである、ワークフロー・インスタンスが作成されます。アプリケーションのワークフローの設計については、Oracle APEXアプリケーション・ビルダー・ユーザーズ・ガイドワークフロー・デザイナについてを参照してください。

ワークフロー・インスタンスには、ワークフロー変数ワークフロー・パラメータが含まれている場合があります。ワークフロー・パラメータは、新しいワークフロー・インスタンスの開始時に提供される入力です。たとえば、ラップトップ要求ワークフローでは、次のようなパラメータが考えられます。
  • リクエストされたラップトップのタイプ
  • 要求日
  • ラップトップをリクエストしている個人の従業員番号

ワークフロー変数は、1つ以上のワークフロー・アクティビティで使用できる追加データです。たとえば、ワークフロー内の1つのアクティビティでラップトップ注文が生成される場合は、そのアクティビティからの注文IDをワークフロー変数として保存できます。その後、その注文IDを、そのワークフロー・インスタンスにおける後のアクティビティ(確認Eメールを送信するアクティビティなど)で使用できます。

ワークフロー・パラメータは読取り専用です。ワークフロー変数は、ワークフロー管理者が更新できます。

ワークフローには、タスクが含まれている場合があります。タスクの詳細は、「タスクの使用」を参照してください。

6.1.1 ワークフローの状態について

ワークフロー・インスタンスの状態は、アクティブ、中断、完了、終了または失敗のいずれかです。

ワークフローの状態

ワークフロー状態とは、ワークフロー・インスタンスの現在の状態です。5つの別個のワークフロー状態があり、1つのワークフローがなる状態は一度に1つのみです。
アクティブ
現在実行中のワークフロー。
中断
現在特定のアクティビティで中断されているワークフロー。中断されているワークフローは、ワークフロー管理者が再開できます。
完了
終了アクティビティに達し、正常に完了したワークフロー。
終了
ワークフロー所有者またはワークフロー管理者が停止したワークフロー。または、状態属性が終了に設定されている、終了アクティビティに達したワークフロー。
失敗
アクティビティのいずれかでエラーが発生したワークフロー。ワークフロー管理者は、失敗したワークフローを再試行または停止できます。

6.1.2 アクティビティの状態について

ワークフロー・インスタンスにおけるアクティビティの状態は、アクティブ、待機中、失敗または完了のいずれかです。

アクティビティの状態

アクティビティ状態とは、ワークフロー・インスタンスにおけるアクティビティの現在の状態です。4つの別個のアクティビティ状態があり、1つのアクティビティがなる状態は一度に1つのみです。
アクティブ
現在実行中のアクティビティ。
待機中
現在結果を待っているアクティビティ。たとえば、アクティビティがタスクからの承認を待っている場合があります。
完了
正常に完了したアクティビティ。
終了
ワークフローが停止されたときにアクティブ状態だったアクティビティ。
失敗
実行に失敗したアクティビティ。

6.1.3 ワークフロー参加者について

ワークフロー参加者は、ワークフローの開始または終了、失敗したワークフローの再試行、ワークフロー変数の更新など、ワークフローに関する操作を実行できます。

ワークフロー参加者は、ワークフローに対する操作権限があるAPEXユーザーです。

ワークフロー参加者のタイプとしては次の3つがあります。
ワークフロー・イニシエータ
ワークフローのインスタンス1つを開始および終了できます。ワークフロー定義で具体的に指定する必要はありません。
ワークフロー所有者
ワークフローのインスタンスをすべて開始および終了できます。失敗したワークフローを再試行できます。ワークフロー定義で具体的に名前指定する必要があります。
ワークフロー管理者
すべてのワークフロー・インスタンスを開始、終了、一時停止、再開および再試行できます。ワークフロー・インスタンスの変数値を更新できます。ワークフロー定義で具体的に名前指定する必要があります。

6.1.4 ワークフロー・コンソール、ワークフローの詳細およびワークフロー・ダッシュボードについて

ワークフロー・コンソールは、アプリケーションのワークフローの要約です。ワークフロー・コンソールからワークフローを選択して、その特定のワークフローについて詳細を表示します。構成されている場合は、ワークフロー・ダッシュボードを使用してワークフローの分析を表示します。

ワークフローを使用するすべてのアプリケーションには、それらのワークフローのモニタリングに使用する、次の2つのページがあります。「ワークフロー・コンソール」ページでは、現行アプリケーションでのワークフローが要約されており、「ワークフローの詳細」ページでは、特定のワークフロー・インスタンスについての詳細が含まれています。アプリケーションには、ワークフローの分析を表示する「ワークフロー・ダッシュボード」ページもある場合があります。

「ワークフロー・コンソール」ページ

「ワークフロー・コンソール」では、ワークフローの要約を表示できます。ワークフロー・コンソールの名前と正確な構成は使用しているアプリケーションに固有のものですが、次のような様々なレポート・コンテキストがあります。
  • 自分で開始: 自分がワークフロー・イニシエータであるワークフローの場合。
  • マイ・ワークフロー: 自分がワークフロー所有者であるワークフローの場合。
  • 管理ワークフロー: 自分がワークフロー管理者であるワークフローの場合。
自分のロールや使用しているアプリケーションの構成によっては、3つすべてのページを表示できない場合があります。

「ワークフローの詳細」ページ

ワークフロー・コンソール・ページでワークフローをクリックすると、「ワークフローの詳細」ページが開かれます。このワークフロー詳細ページには、次の内容が表示されます。
  • アクティビティのインスタンスとその状態
  • アクティビティの開始、完了、再試行、失敗または終了の時間
  • ワークフロー・インスタンスの変数(ワークフロー管理者が編集可能)
  • ワークフロー・インスタンスのパラメータ
  • ワークフロー・インスタンスの監査履歴
ワークフローのコンテキストと自分のロールに応じて、アクティブなワークフローに対して特定の操作を実行できます。
  • ワークフロー・イニシエータである場合は、ワークフローの開始、または自分が開始したワークフローの終了ができます。
  • ワークフロー所有者である場合は、ワークフローの開始、失敗したワークフローの再試行、またはワークフローの終了ができます。
  • ワークフロー管理者である場合は、ワークフローを開始、一時停止、再開、再試行または終了できます。ワークフローが失敗したか中断されている場合は、ワークフロー変数を更新できます。
ワークフローの視覚的な表現(「ワークフロー・ダイアグラム」リージョン)は、ワークフローの詳細ページでも使用できます。ワークフロー・ダイアグラムでは、ワークフロー・インスタンスがこれまでに実行したルートが強調表示されます。


workflow_diagram_example.pngの説明が続きます
図workflow_diagram_example.pngの説明

「ワークフロー・ダッシュボード」ページ

「ワークフロー・ダッシュボード」ページには、ワークフロー・インスタンスの進捗をモニターし、アクティビティおよびワークフローのパフォーマンスを比較するためのチャートが表示されます。「ワークフロー・ダッシュボード」には次のタブがあります:
  • 状態別ワークフロー - 状態別のワークフローの分布を示す円グラフが表示されます。特定の状態をクリックすると、現在その状態にあるワークフロー・インスタンスの数が表示されます。
  • アクティブなワークフロー - アクティブまたは一時停止状態のワークフローの数が表示されます。特定のワークフローをクリックすると、特定のアクティビティで待機しているワークフロー・インスタンスの数が表示されます。
  • 障害が発生したワークフロー - 障害が発生した状態のワークフローの数が表示されます。特定のワークフローをクリックすると、特定のアクティビティで障害が発生したワークフロー・インスタンスの数が表示されます。
  • パフォーマンス - ワークフローの平均完了時間が表示されます。「時間単位」ドロップダウン・リストを使用して、チャートの時間単位を変更します。


workflow_dashboard_example.pngの説明が続きます
図workflow_dashboard_example.pngの説明