ドメイン分離と フローデザイナー
ドメイン分離は フローデザイナー でサポートされています。 フローデザイナー は、ビジネスロジックのドメイン分離をサポートしています。これにより、各テナントドメインに独自のフロー、アクション、サブフローを組み込むことができます。 ドメイン分離では、データ、プロセス、および管理タスクをドメインと呼ばれる論理的なグループに分けることができます。どのユーザーがデータを表示できるか、データにアクセスできるかなど、このアプリケーションのいくつかの側面を制御できます。
サポートレベル:標準*
- ベーシックレベルを含みます。
- ビジネスロジック:サービスプロバイダーによって顧客ごとにプロセスを作成または変更できます。ユースケースには、単一のインスタンスでの複数のサービスプロバイダー顧客によるアプリケーションの正しい使用が反映されています。
- インスタンスの所有者は、特定のアプリケーションに期待される通りに、テナントごとに MVP ビジネスロジックとデータパラメーターを設定できる必要があります。
フローデザイナーにおけるドメイン分離の仕組み
システムドメインは、これらのルールに従って フローデザイナー のコンテンツを分離します。
- フローデザイナー のコンテンツは、コンテンツを作成したユーザーのドメインを継承します
- フロー、アクション、およびサブフローは、それらを作成したユーザーのドメインに属します。たとえば、TOP ドメインのサービスプロバイダー (SP) 管理者がフローを作成する場合、そのフローは TOP ドメインに属します。注:ドメインピッカーから選択されたドメインは、ユーザーが属するドメインを上書きします。たとえば、TOP ドメインの SP 管理者がドメインピッカーから ACME ドメインを選択する場合、作成されたコンテンツはすべて ACME ドメインに属します。
- フローデザイナー のコンテンツはトリガーまたは開始されるドメインから実行される
- フロー、アクション、およびサブフローは、それらを開始したレコードまたはユーザーのドメインから実行されます。たとえば、子ドメイン ACME のユーザーが親ドメイン TOP に属するフローをトリガーすると、フローは子ドメイン ACME のコンテキストで実行されます。
表 : 1. トリガータイプ別のドメインアサイン トリガータイプ ドメインアサイン API 呼び出し API 呼び出しを行うユーザーのドメイン メールトリガー メール送信者のドメイン レコードトリガー トリガーレコードのドメイン スケジュールされたトリガー フローのドメイン Service Catalog トリガー 要求アイテムレコードのドメイン - フローデザイナー は現在のドメインコンテキストからアクセス可能なコンテンツのみを実行する
- システムは、現在のドメインコンテキストでアクセスが許可されているコンテンツのみを実行できます。データ分離とドメイン階層を理解するには、「ドメイン分離について理解する」を参照してください。たとえば、子ドメイン ACME のユーザーは、親ドメイン TOP に属するフローをトリガーすることはできますが、INITECH などの兄弟ドメインに属するフローをトリガーすることはできません。
フローデザイナー は現在のユーザードメインコンテキストからレコード操作を実行します。ルックアップレコードアクションなどの読み取り操作は、現在選択されているドメインとその子に基づいてレコードを返します。たとえば、現在選択されているドメインが TOP ドメインである場合、TOP ドメインとそのすべての子 (ACME ドメインや INITECH ドメインなど) のレコードが表示されます。現在選択されているドメインが ACME ドメインの場合、ACME ドメインとその子のレコードは表示されますが、親 TOP ドメインのレコードは表示されません。
注:レコード操作では、レコードが属するテーブルに適用されるデータまたはプロセスの分離ルールを使用します。たとえば、ビジネスルールテーブルがプロセス分離されているとします。TOP ドメインにビジネスルールを追加すると、プロセス分離によって親ドメインのレコードにアクセスできるため、ACME ドメインなどの子ドメインのレコード操作でビジネスルールにアクセスできるようになります。意思決定テーブルやワークフローなどの別のアプリケーションを呼び出すフローも、現在のユーザードメインコンテキストから実行されます。
- フローデザイナー はトリガー条件が満たされたすべてのフローを実行する
- あるドメイン内のフローは、別のドメインからのフローを上書きしたり、別のドメインからフローが実行されないようにすることはできません。フローデザイナー は、現在のユーザーに表示され、トリガー条件が満たされたすべてのフローを実行します。たとえば、インシデントレコードの作成によってトリガーされる TOP ドメインに属するフローは、インシデントが ACME または INITECH のどちらの子ドメインに作成されているのかに関係なく、インシデントが作成されるたびに実行されます。
デザインの検討
フローデザイナー でドメイン分離を使用する場合は、次の設計上の考慮事項に従ってください。
- テナントフロー、アクション、およびサブフローがドメインに対して適切に実行されていることを確認する
- テナントは フローデザイナー のコンテンツを上書きできないため、TOP ドメインのサービスプロバイダー (SP) 管理者は、ドメインで正しく実行されるように、テナントを作成して管理する必要があります。ドメイン固有のフローを作成することもできますが、階層の上位のドメインから作業しているユーザーが複数の子ドメインフローをトリガーする可能性があります。たとえば、TOP ドメインで作業しているユーザーは、ACME や INITECH などの子ドメインでフローをトリガーできます。注:フロー作成者は、階層内の現在のドメインと親ドメインから利用可能な フローデザイナー のコンテンツのみを表示できます。フローデザイナー は包含ドメインから表示されるコンテンツを表示しません。
- 各フロー、アクション、およびサブフローに一意の名前を指定する
- すべてのドメインが フローデザイナー のコンテンツを共有するため、TOP ドメインの SP 管理者が各フロー、アクション、およびサブフローに一意の名前を付けて、特定のドメインを対象としているフローが別のドメインのフローの名前と重複しないようにします。たとえば、「インシデントの検証 - TOP」、「インシデントの検証 - ACME」、「インシデントの検証 - INITECH」のように、フロー名にドメインを追加します。
- フローとアクションに現在のドメインまたは親ドメインからのアーティファクトのみが含まれていることを確認する
- フローデザイナー は、現在のドメインまたは親ドメインで利用できないアーティファクトを含むフローがアクティブ化されるのを防ぎます。たとえば、ACME ドメインに属するドメイン固有のフローを作成する場合、兄弟ドメイン INITECH に属するアクションまたはサブフローを含めることはできません。
- 属するドメインの フローデザイナー のコンテンツを編集する
- 親ドメインのユーザーは子ドメインのフロー、アクション、およびサブフローを表示できますが、属するドメインでそれらを編集する必要があります。たとえば、TOP ドメインの管理者は ACME ドメインからのフローを表示できますが、それを編集するには ACME ドメインに切り替える必要があります。