4.3.1 データモデルの設計
データモデルの設計では、サービスカタログの作成とデータモデルの定義を行います。
項目 | 定義手段 | 設計のポイント |
---|---|---|
・Catalog ・Datamodel |
YAMLファイル | 必要となるカタログアイテムを洗い出した上で、申請やデータレコード呼び出しなどのパターンで分類します。また、カタログアイテムの表示・非表示と、表示順を整理します。 申請などワークフローにひもづく作業で、管理しておくデータレコードを整理し、テーブル、カラムなどのデータモデルを設計します。 |
(1)サービスカタログ
サービスカタログは複数のカタログアイテムで構成されます。またカタログアイテムは、カテゴリーで分類されます。
ユーザーはカタログアイテムから、ワークフローを実行することができます。またワークフローからUIのYAMLファイルで定義した画面を表示し、データレコードなどの作成や編集が行えます。
このようにサービスカタログによって、ユーザーは任意のタスクを管理することができます。
カテゴリーやカタログアイテムはCatalogのYAMLファイルで定義します。詳細は「Catalog」を参照してください。
【カテゴリーとカタログアイテムの表示設定】
CatalogのYAMLファイルには、ファイルごとに複数のカテゴリーを設定できます。また、カテゴリーごとに複数のカタログアイテムを設定できます。
カテゴリーやカタログアイテムは、CatalogのYAMLファイルに記載された順に表示されます。
サービスカタログを複数のCatalogのYAMLファイルで設定している場合、YAMLファイルをGitに登録した順に表示されます。登録済のYAMLファイルを更新しても表示順に影響しません。
YAMLファイルを登録した順番以外で表示する場合は、表示の優先順位を設定します。詳細は「カテゴリーの表示順(YAMLファイル単位)の優先順位」を参照してください。
また、カタログの表示・非表示を顧客やグループごとに制限できます。詳細は「アクセス制御」を参照してください。
【カテゴリーの表示順(YAMLファイル単位)の優先順位】
カテゴリエリアでは、カテゴリーの表示順を以下の方法で指定することができます。
カテゴリーを複数のCatalogのYAMLファイルに分けて記載している場合、CatalogのYAMLファイルのラベル「order」で表示の優先順位を設定できます。同じ優先順位の場合は、YAMLファイルをGitに登録した順番に表示されます。登録後の更新は表示順に影響しません。優先順位を設定していないCatalogのYAMLファイルは表示の優先順位が一番低くなります。同一のYAMLファイルに記載されているカテゴリーの表示順は、YAMLファイルの記載順に従います。
【アクセス制御】
アクセス制御により、カタログアイテムを参照できるユーザーをCatalogのYAMLファイル単位で指定することができます。指定しない場合はすべてのユーザーが参照できます。
アクセス制御は、顧客別とグループ別の2種類の方法があります。顧客別アクセス制御とグループ別アクセス制御を同時に使用する場合は、両方の条件を満たしたユーザーが参照できます。
注意事項
カタログアイテムを参照できるユーザーの設定は本機能で行うため、CatalogのYAMLファイルで指定しますが、カタログアイテムにひもづくワークフローの申請、承認、およびタスク実行などの各アクティビティを実行できるユーザーの設定は、WorkflowのYAMLファイルで指定します。
- 顧客別のアクセス制御
顧客ユーザーに対して有効な制御です。顧客ユーザーの詳細については「ユーザー」を参照してください。
設定はCatalogのYAMLファイルのcustomersラベルで行います。customerラベルを設定すると、顧客ユーザー以外と、指定した顧客ユーザーに対して表示されます。設定しない場合は、すべてのユーザーに表示されます。詳細は「Catalog」を参照してください。
(表)顧客によるアクセス制御
ユーザー customersラベル 設定なし 顧客Aを指定 顧客ユーザー以外 表示 表示 顧客Aに所属する顧客ユーザー 表示 表示 顧客Bに所属する顧客ユーザー 表示 非表示
- グループ別のアクセス制御
すべてのユーザーに対して有効な制御です。
設定はCatalogのYAMLファイルのgroupsラベルで行います。
groupsラベルを設定すると、指定したグループに対して表示されます。設定しない場合は、すべてのグループに表示されます。詳細は「Catalog」を参照してください。
(表)グループによるアクセス制御
ユーザー groupsラベル 設定なし グループAを指定 グループAに所属するユーザー 表示 表示 グループBに所属するユーザー 表示 非表示 登録したカタログアイテムをすべて参照できるのは、各YAMLファイルのgroupsラベルに指定したグループすべてに所属しているユーザーです。
【サービスカタログ情報の取得】
サービスカタログの情報を取得する場合、API「GET /api/v1/service-catalogs」を使用します。APIおよび実行するためのロールについての詳細は「JP1 Cloud Service 運用統合 APIリファレンス」の「APIリファレンス詳細>標準提供API」および「APIとOps I上ロールの対応関係」を参照してください。
(2)データモデル
データモデルでは、1つのデータモデルの枠組みの中で複数のテーブルをまとめて管理することができます。そのためには複数の申請で共有するデータ項目をYAMLファイルで定義する必要があります。申請対応に必要な情報を各カラムで定義し、それをテーブルとして管理します。
データモデルのYAML定義の詳細は「Datamodel」を参照してください。
VM貸出申請業務でVM貸出台帳をデータモデル設計する場合、VM貸出申請のカタログアイテムを作成し、申請に必要な情報を洗い出し、VM貸出台帳としてデータモデルのYAML定義をします。申請に必要な情報としては、申請の通し番号やVMを利用するシステム名、また、貸出したVM名などがあります。
以下に情報とカラムの一覧を例として示します。
テーブル | カラム | 説明 | データ形式 | デフォルト値 | NULL入力 | enumリスト |
---|---|---|---|---|---|---|
VM貸出台帳 | 申請番号 | 申請の通し番号 | 文字列 varchar(32) |
- | 可 | - |
システム名 | VMを利用するシステム名 | リスト enum |
- | 可 | 受注管理システム 顧客管理システム 生産管理システム |
|
VM名 | 貸出したVM名 | 文字列 varchar(32) |
- | 可 | - | |
OS種別 | WindowsまたはLinuxを選択 | リスト enum |
- | 可 | Windows Linux |
|
CPU | VMで利用するvCPUコア数 | 数値 integer |
- | 可 | - | |
メモリ | VMで利用するメモリ容量 | 数値 integer |
- | 可 | - | |
ストレージ | VMで利用するストレージ容量 | 数値 integer |
- | 可 | - | |
利用申請者 | VM貸出の申請者名 | 文字列 varchar(256) |
- | 可 | - | |
利用開始日 | VMの利用開始日 | 日付 date |
- | 可 | - | |
申し送り事項 | 申し送り事項 | 文字列 text |
- | 可 | - | |
チェックリスト(ファイル) | 記入済みのチェックリスト | ファイル document |
- | 可 | - | |
チェックリスト(URL) | 記入済みのチェックリストのURL | 文字列 text |
- | 可 | - |
上記一覧で定義された内容が画面上どのように表現されるかについては、「UI設計」のVM貸出の申請を例に説明している個所を参照してください。