ドメイン分離について学習する
UI ビルダー ではドメイン分離がサポートされています。 ドメイン分離では、データ、プロセス、および管理タスクをドメインと呼ばれる論理的なグループに分けることができます。どのユーザーがデータを表示できるか、データにアクセスできるかなど、このアプリケーションのいくつかの側面を制御できます。
サポートレベル:標準
- ベーシックレベルサポートを含みます。
- ビジネスロジック:サービスプロバイダー (SP) によって顧客ごとにプロセスを作成または変更できます。ユースケースには、単一のインスタンスでの複数のサービスプロバイダー顧客によるアプリケーションの正しい使用が反映されています。
- インスタンスのオーナーは、特定のアプリケーションに期待される通りに、テナントごとに MVP ビジネスロジックとデータパラメーターを設定できる必要があります。
サンプルユースケース:管理者は、レコードを他のテナントに対してはクローズしないが、1 つのテナントに対してクローズする場合、コメントを必須にすることができる必要があります。
サポートレベルの詳細については、「アプリケーションでのドメイン分離のサポート)」を参照してください。
概要
UI ビルダー は Web ユーザーインターフェイスビルダーです。UI ビルダー を使用すると、開発者は Next Experience コンポーネント とカスタム Web コンポーネントを使用して、Web ベースのワークスペースエクスペリエンス向けに新しいページを構築したり、既存のページをカスタマイズしたりできます。さらに、UI ビルダー はドメイン分離、つまり ServiceNow® インスタンス全体のマルチテナントアーキテクチャをサポートします。
開発者またはダッシュボードビルダーが、ドメイン分離された環境内で、同じブラウザーウィンドウで UI アプリケーション画面またはダッシュボードを安全に作成できるようにします。UI ビルダー のドメイン分離はアプリケーションスコープと同様に機能するため、管理者がマルチテナント環境で安全に作成または編集できるようになります。
標準化は、Domain Separation がインストールされている安定した健全な拡張性の高い ServiceNow® インスタンスを維持するための重要な仕組みであると理解することが大切です。主要な原則は標準化です。標準化とは、ほとんどのインスタンスを動作させることができる共通の構成のことです。インスタンスに数百または数千のドメインがある場合、それらを正常に管理するには厳格なガバナンスが必要です。ドメイン固有の構成は、インスタンス所有者が必要と判断した場合にのみ使用する必要があります。一般に、ほとんどのインスタンスは、一般的なインスタンス構成に従う必要があります。これにより、インスタンス全体でより統一されているエクスペリエンスが提供されます。また、インスタンス所有者は、リリースアップグレードの一部として含まれる新しい ServiceNow® 機能の導入を遅らせる、コードの無秩序な増加を最小限に抑えることができます。
UI ビルダー におけるドメイン分離の仕組み
UI ビルダー のドメイン分離はアプリケーションスコープと同様に機能するため、管理者がマルチテナント環境で安全に作成または編集できるようになります。
UI ビルダー は、Web ベースのワークスペース、ダッシュボード、またはポータルを作成するために使用する連動コンポーネントのフレームワークで構成されています。アプリケーションはドメイン分離をサポートしていますが、すべてのコンポーネントまたはテーブルがドメイン分離されていることを意味するわけではありません。このことをインスタンスオーナーは理解しておくことが重要です。
現在のドメインがバリアントまたはダッシュボードのドメインと一致しない場合、レコードは読み取り専用になります。ユーザーがドメインにアクセスできる場合は、ドメインをレコードのドメインに切り替えることを選択できます。または、ユーザーがレコードを編集することもできます。レコードを編集すると、ユーザーセッションが一時的にそのレコードのドメインに入ります。その後は、誤って上書きを作成してしまうことを心配せずに編集できます。
次の図は、UI ビルダー でドメイン分離されている部分 (緑色) とされていない部分 (青色) を示しています。
ビューポート、宣言アクション、および画面適用性は図には示されていませんが、それらはプロセスとしてサポートされているドメインです。
ドメイン分離アーキテクチャを検討する場合、データとプロセス/UI の分離が重要です。UI ビルダー は、データとプロセス/UI の分離、および Web ベースのワークスペース、ダッシュボード、またはポータルエクスペリエンスに表示されるデータ (レコード) を完全にサポートしています。
たとえば、Acme のドメインに属する変更要求は、UI ビルダー を使用して構築されたエクスペリエンスで Acme のドメインにアクセスできるユーザーに対してのみ表示されます。逆に、アプリケーションがデータ分離をサポートしていない場合、そのレコードはワークスペースまたはポータルエクスペリエンスによってドメイン分離されません。
UI ビルダー の基盤フレームワークを形成するプロセス/UI 分離テーブルはプロセス分離されており、それらのテーブルには sys_override 列が存在します。たとえば、ページがグローバルで作成された場合、サブドメインで作成および保存されたロジックへの変更内容は上書きになります。
ドメイン分離されていないアイテムの場合、ロジックの変更はそのコンテンツを参照するページまたはダッシュボードにグローバルに影響します。これらの要素を操作する場合は、ドメイン分離を理解することが重要です。
[ドメイン選択] メニュー、メッセージ、および上書きの管理
UI ビルダー (ダッシュボードビルダーを含む) を使用してワークスペース、ダッシュボード、またはポータルエクスペリエンスを設計する場合、システム管理者または ui_builder_admin は UI ビルダー の [ドメイン選択] メニューにアクセスできます。システム管理者または ui_builder_admin は、バリアントまたはダッシュボードページを作成、編集、または上書きする前に、適切なドメインに切り替える必要があります。
デフォルトでは、ui_builder_admin ロールにはドメイン選択メニューへのアクセス権がありません。ドメイン選択メニューは、ITIL などのアクセス権を付与するロールと組み合わせる必要があります。そうしない場合は、システムプロパティを介して追加できます。詳細については、「Enable domain selection menus in Core UI」を参照してください。
さらに、ドメイン選択メニューには、システム管理者または ui_builder_admin がグローバルであるときに表示される [ドメインスコープの展開/折りたたみ] も表示されます。[展開] を選択すると、上書きされた、またはサブドメインにスタンドアロンとして存在するバリアントまたはダッシュボードが表示されます。グローバルで作成されたバリアントまたはダッシュボードのみを表示するには、[折りたたみ] を選択します。
最後に、ドメイン階層はドメイン選択メニューから利用できます。ドメイン階層が深い場合、ユーザーはドメイン階層の分岐を折りたたんでドメインを物理的に選択する必要があります。これらの環境では、検索を実行してドメインを見つけます。
UI ビルダー には、アプリケーションスコープの処理方法と同様に、バリアントまたはダッシュボードを編集および上書きするためのガバナンスコントロールがあります。アプリケーションスコープとドメインスコープの両方が UI ビルダーで同時に処理されます。
たとえば、バリアントがグローバルで作成されても、システム管理者の現在のドメインが Acme に設定されている場合、そのバリアントは読み取り専用です。その画面が編集不可のプライベートスコープでない限り、システム管理者または ui_builder_admin には 2 つのオプションがあります。グローバルへのアクセス権があれば、グローバルドメインで一時的にトランザクションを行うことができます。そうでない場合は、上書きを作成できます。
ドメイン分離を編集して、バリアントまたはダッシュボードとそのコンテンツをすばやく変更できます。ドメインを編集すると、バリアントまたはダッシュボードと同じドメインスコープで一時的にトランザクションを行うことができます。同じスコープにすると、バリアントに関連付けられた特定の設定 (名前、順序、イベントマッピング、ページ定義構成など) を変更するときに、誤って上書きすることを防ぐことができます。編集モードでは、ページ管理ですべての設定を使用できるわけではありません。すべての機能を使用するには、レコードを編集する前に正しいドメインに切り替えます。
[上書きを作成] を使用すると、システム管理者または ui_builder_admin は、既存のバリアントまたはダッシュボードの上書きを作成できます。バリアントまたはダッシュボードの上書きを作成して、ページ定義コンテンツの広範なコピーを実行します。ただしユーザーが現在選択しているドメインの画面条件と対象者は除きます。sys_override 列が適切に更新されます。
ビューポートはそれ自体がバリアントであり、ドメイン分離されており、通常はページ定義コンテンツ内にネストされています。一部のビューポートはコピーされない場合があります。たとえば、グローバルビューポートのドメインで上書きとして作成されたビューポート (タブセットとして表示) は、上書きの作成プロセス中にページ定義コンテンツに組み込まれません。
画面条件と対象者はドメインに固有である可能性があるため、このコンテンツは上書きの作成プロセス中に引き継がれません。画面で、システム管理者または ui_builder_admin に画面条件と対象者の作成が要求されます。
アイテムがサブドメインに存在する場合、または同じサブドメインにそのバリアントまたはダッシュボードの上書きが存在する場合、ユーザーはグローバルではバリアントまたはダッシュボードの上書きを作成できません。
上書きと条件と対象者を設定した後に、必要に応じてそのコンテンツと構成を設定できます。ドメイン分離の標準として、上書きは元のバリアントまたはダッシュボードに加えられた変更の影響を受けなくなります。ユーザーの現在のドメインセッションが、この上書きが作成された影響を受けるドメインまたはサブドメイン内にある場合、ワークスペース、ダッシュボード、またはポータルエクスペリエンスにこれらの上書きされた構成が表示されます。対象者によって、ユーザーに表示される内容と表示されない内容が決まります。
さらに、ユーザーはドメイン階層にアクセスして、上位のドメインからの既存の上書きを表示できます。たとえば、 グローバル <- トップ <- Acme <- 現在のドメインといった階層となります。上書きが存在しない場合は、デフォルトのバリアントまたはダッシュボードが表示されます。例外は、デフォルトのバリアントまたはダッシュボードが子ドメインまたはピアドメインにある場合です。
グローバルの状態で [ドメインスコープを展開] を選択すると、前述のようにサブドメイン内のすべてのバリアントと上書きが表示されます。
システム管理者と ui_builder_admin は、ServiceNow® プラットフォームで作成されたものを確認できます。
ビューポートとドメイン分離
ビューポートは、ページ定義コンテンツでネストできるバリアントです。グローバルで共通の構成として作成することも、サブドメインごとに上書きすることもできます。
宣言アクションとドメイン分離
宣言アクションは、ドメインごとに上書きすることもできます。システム管理者または ui_builder_admin は、ドメイン固有の宣言アクションの上書きを作成する前に、適切なドメインを選択する必要があります。
テーマとドメイン分離
テーマは、ドメインに基づいて、UI ビルダー [エクスペリエンスの設定] でワークスペースまたはポータルエクスペリエンスに適用できます。ただし、システム管理者または ui_builder_admin として [エクスペリエンスの設定] を開始する前に、まず適切なドメインが選択されていることを確認してください。
正しいドメインを選択したら、[エクスペリエンスの設定] に移動し、適用するテーマを選択します。上書きされない限り、すべてのサブドメインにこのテーマが適用されます。