ワークフローの概要

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • グラフィカルなワークフローエディターは、プラットフォーム全体で複数ステップのプロセスを自動化するためのドラッグアンドドロップ インターフェイスを提供します。

    ワークフローの構成要素

    ワークフローは、次の要素で構成されます。
    プロパティ
    ワークフローの名前、ワークフローの動作対象となるレコードを含むテーブル、およびワークフローが実行される条件などの構成設定を指定します。
    アクティビティ
    ワークフローが実行する一連の操作 (レコードの生成、承認待ちのユーザーへの Notify、スクリプトの実行など) を指定します。
    移行
    アクティビティを実行する条件を指定します。
    終了条件
    移行を実行する条件を指定します。
    コンテキスト
    ワークフローコンテキストレコードでの特定のワークフロー実行に関するランタイム情報の履歴を格納します。
    バージョン
    ワークフローバージョンレコードでの特定のワークフローに関する設計情報の履歴を格納します。

    ワークフローのライフサイクル

    ワークフローは、トリガーイベントが発生すると開始されます。一般的なトリガーには、特定のテーブルに挿入されるレコード、指定された値に設定されるテーブル内の特定のフィールドなどが含まれます。たとえば、ユーザーがカタログから注文するアイテムの承認を要求するたびに実行されるワークフローを作成することができます。また、定期的に実行されるようにワークフローをスケジュールするすることも、ビジネスルールなどのスクリプトからワークフローを呼び出すこともできます。

    アクティビティが完了すると、ワークフローは次のアクティビティに移行します。アクティビティは、その結果に応じて、さまざまなアクティビティへの複数の移行が行われる場合があります。上記の例を続けると、ユーザーの要求が承認された場合は、アクティビティはアイテムを注文するように誰かに通知するアクティビティに移行する可能性があります。ユーザーの要求が拒否された場合は、アクティビティは要求が拒否されたことをユーザーに通知するアクティビティに移行する可能性があります。

    グラフィカルなワークフローエディタは、ワークフローをフローチャートのように視覚的に表します。アクティビティはそのアクティビティに関する情報でラベル付けされたボックスとして表示され、1 つのアクティビティから次のアクティビティへの移行はボックスを結ぶ線として表示されます。

    ワークフロー内の各ステップ:
    1. アクティビティが処理され、そのアクティビティによって定義されたアクションが行われます。
    2. アクティビティによるアクションの完了時に、ワークフローでアクティビティの条件がチェックされます。
    3. 一致する条件ごとに、ワークフローは次のアクティビティへ移行します。

    ワークフローのアクティビティがなくなると、ワークフローは完了です。ワークフローコンテキストは、アクティビティと移行の実行履歴を格納します。ワークフローバージョンは、実行に利用できるアクティビティ条件、移行条件、および終了条件の設計履歴を格納します。

    ワークフローのプロパティ

    ワークフローのプロパティは、ワークフローの実行タイミングと、動作対象のレコードを指定します。ワークフローのプロパティの詳細については、「ワークフローのプロパティ」を参照してください。

    ワークフローアクティビティ

    ワークフロー アクティビティには、ワークフローによって処理される指示が含まれます。

    アクティビティには、スクリプトの実行、レコードの操作、設定された時間にわたる待機、イベントのログ記録などがあります。ワークフローの条件によって、アクティビティが実行されるかどうかが決まります。アクティビティは追加、削除、または再配置できます。アクティビティ間で移行を引き出すことができます。

    これは、通知をトリガーするアクティビティです。

    図 : 1. アクティビティの例
    アクティビティの例

    ワークフローは、アクティビティを開始するユーザーセッションとしてアクティビティを実行します。レコード操作から開始されたワークフローは、そのレコード操作を実行したユーザーセッションとしてアクティビティを実行します。スケジュールから開始されたワークフロー、またはタイマーから再開されたワークフローは、システムユーザーとしてアクティビティを実行します。スクリプトコールから開始されたワークフローは、そのスクリプトを開始したユーザーセッションとしてアクティビティを実行します。

    利用可能なアクティビティとその動作の詳細については、「ワークフローアクティビティ」を参照してください。

    移行

    ワークフロー条件が評価された後、ワークフローの移行では、ワークフロー条件に一致した場合に実行するアクティビティが決定されます。

    これは、[承認された変更] スクリプトから [タスクを変更] アクティビティへと常につながる移行です。

    図 : 2. 移行の例
    移行の例

    終了条件

    ワークフロー アクティビティが実行された後、ワークフロー条件が評価され、どの移行が有効になるかが判断されます。

    条件によって、承認または拒否される変更に基づく動作が決定されます。

    図 : 3. 終了条件の例
    終了条件の例

    ワークフローの例

    ワークフローの編集時、または未公開のワークフローの実行時は、ワークフローをチェックアウトした人だけが変更を表示できます。

    ワークフローが公開されると、他のユーザーがワークフローを利用できるようになります。ワークフローは、ワークフローエディターで定義されているとおりにプロセス内を進みます。ワークフロー全体が 1 つの画面で表されます。たとえば、これは標準的な変更ワークフローです。

    図 : 4. 変更ワークフローの例
    変更ワークフローの例