カスタムダッシュボードウィジェットのビルド
ガイド
概要
はじめに
ビジネスアナリストまたはビジネスルール開発者は、Page Editor ツールを使用してページを設計および定義し、そのページに表示される情報を指定します。どのコンポーネントをページに追加するかを指定できます。また、要件に応じてコンポーネントのプロパティーをカスタマイズできます。任意で、ページを作成する前に、ページのレポーティングコンポーネントをフィードするデータセットを定義できます。
前提条件
ページを作成するのに必要なパーミッションがある。
第1章 データセットのオーサリング
データセットは情報の関連セットの集まりです。データベース、Microsoft Excel ファイル、メモリーなど、さまざまな方法で保存できます。データセット定義は、Decision Central にデータセットへのアクセス、読み取り、および解析方法を指示します。Decision Central はデータを保存しません。データが保存される場所にかかわらず、データセットへのアクセスを定義できます。
たとえば、データベースにデータが保存されると、有効なデータセットには、SQL クエリーの結果として、データベース全体またはデータベースのサブセットが含まれます。いずれの場合も、データは、情報を表示する Decision Central のレポーティングコンポーネントの入力情報として使用されます。
データセットにアクセスするには、データセット定義を作成および登録する必要があります。これにより、データセットの保存先、アクセス方法、読み込み方法、解析方法、データセットの内容が決定します。
Data Sets ページは、admin ロールを持つユーザーにのみ表示されます。
1.1. データセットの追加
外部データソースからデータを取得して、レポーティングコンポーネントでデータを使用する新しいデータセットを作成できます。
手順
- Decision Central にログインし、ギアアイコンをクリックします。
- Data Sets → Data Set Explorer → New Data Set をクリックします。
以下のプロバイダーの種類の中から 1 つ選択します。
- Bean: Java クラスからデータセットを生成するのに使用します。
- CSV: リモートまたはローカルの CSV ファイルからデータセットを生成するのに使用します。
- SQL: ANSI-SQL 準拠データベースからデータセットを生成するのに使用します。
- Elastic Search: Elastic Search ノードからデータセットを生成するのに使用します。
Execution Server: Execution Server のカスタムのクエリー機能を使用してデータセットを生成します。
注記KIE Server は、このオプションを使用して設定する必要があります。
Data Set Creation Wizard を完了し、Test をクリックします。
注記選択するプロバイダーに応じて、設定手順が異なります。
- Save をクリックします。
1.2. データセットの編集
既存のデータセットを編集し、レポーティングコンポーネントに取得したデータが最新になっていることを確認します。
手順
- Decision Central にログインし、ギアアイコンをクリックして、Data Sets をクリックします。
- Data Set Explorer ペインで、編集するデータセットを検索し、Edit をクリックします。
Data Set Editor ペインで、適切なタブを使用して必要に応じてデータを編集します。タブは、選択するデータセットプロバイダーの種類によって異なります。
たとえば、CSV データプロバイダーの編集には、以下の変更が適用できます。
- CSV Configuration: データセット定義の名前、ソースファイル、区切り記号などのプロパティーを変更できます。
Preview: データのプレビューを使用できます。CSV Configuration タブで Test をクリックすると、システムはデータセットのルックアップコールを実行し、データが利用可能な場合はプレビューが表示されます。Preview タブには 2 つのサブタブがあります。
- Data columns: どの列をデータセット定義に追加するかを指定できます。
- Filter: 新しいフィルターを追加できます。
Advanced: 以下を管理できます。
- Caching: 詳細は、「キャッシュ」 を参照してください。
- Cache life-cycle: 詳細は 「データの再読み込み」 を参照してください。
- 必要な変更を行ったら、Validate をクリックします。
- Save をクリックします。
1.3. データの再読み込み
データの再読み込み機能を使用すると、データセット (またはデータ) を再読み込みされるまでの間隔を指定できます。バックエンドデータに変更が加えられると、Refresh on stale data 機能は、キャッシュしたデータを再読み込みします。
1.4. キャッシュ
Decision Central は、インメモリーデータを使用してデータセットを保存し、データ操作を実行するキャッシュメカニズムを提供します。データのキャッシュにより、ネットワークトラフィック、リモートシステムのペイロード、処理時間が減ります。パフォーマンスの問題を回避するには、Decision Central にキャッシュを設定します。
データセットをもたらすデータルックアップコールの場合、キャッシュ技術は、データのルックアップコールがどこで実行されるか、その結果作成されるデータセットがどこに保存されるかを決定します。データのルックアップコールの例としては、ロケールパラメーターを Urban として設定するすべての住宅ローンアプリケーションが挙げられます。
Decision Central データセット機能には、キャッシュレベルが 2 つあります。
- クライアントレベル
- バックエンドレベル
クライアントキャッシュ
キャッシュを有効にすると、データセットはルックアップ操作時に Web ブラウザーにキャッシュされ、その後のルックアップ操作ではバックエンドへの要求が実行されません。グループ化、集計、フィルターリング、並べ替えなどのデータセット操作は Web ブラウザーで処理されます。クライアントのキャッシュは、データセットのサイズが小さい場合 (例: サイズが 10 mb より少ない) にのみ有効になります。データセットが大きい場合は、パフォーマンスの低下や断続的なフリーズなどのブラウザー問題が発生する場合があります。クライアントのキャッシュは、ストレージシステムへの要求などの、バックエンド要求の数を減らします。
バックエンドキャッシュ
キャッシュが有効な場合に、デシジョンエンジンはデータセットをキャッシュします。これにより、リモートのストレージシステムへの要求数が減ります。データセットの全操作は、インメモリーデータを使用してデシジョンエンジンで実行されます。バックエンドキャッシュは、データセットのサイズが頻繁に更新され、インメモリーに保存されて処理される場合に限り有効です。バックエンドキャッシングは、リモートストレージを使用した低レイテンシー接続問題が発生している状況でも有用です。
バックエンドキャッシュの設定は、Data Set Editor の Advanced タブに常に表示されるわけではありません。これは、インメモリーデシジョンエンジンでデータのルックアップ操作を解決するのに、Java および CSV のデータプロバイダーはバックエンドキャッシュに依存するためです (データセットはメモリー内に存在する必要があります)。
第2章 ページのオーサリング
ページは、パースペクティブとしても知られていますが、以下のコンポーネントの集まりです。
- コアコンポーネント
- ナビゲーションコンポーネント
- レポーティングコンポーネント
ページには、コンポーネントをいくつでも追加できますが、必ずしも追加する必要はありません。Page Editor ツールを使用してページを編集します。
ページには、Fluid スタイルまたは Page スタイルのいずれかがあります。Fluid スタイルは標準的な Web ページで、ページの縦の長さが表示できる長さを超えた場合は垂直スクロールバーが使用されます。Page スタイルの Web ページは、縦の長さが常にウィンドウの長さに一致します。
2.1. ページの作成
Pages パースペクティブを使用して、異なる種類のコンポーネントで設定されるページを作成できます。ページを作成し、すべてのコンポーネントをページに定義したら、Page Editor を使用して、必要に応じてページの保存、削除、名前変更、またはコピーを行います。
以下の手順は、ページの作成方法と、必要なコンポーネントをページに追加する方法を説明します。
手順
- Decision Central で Menu → Design → Pages に移動します。
- Pages パネルで、New をクリックします。または、Page Editor ペインで New Page をクリックします。
- New Page ダイアログボックスでの Name フィールドに値を入力し、必要なスタイルを選択します。
- OK をクリックします。Page Editor に新しいページが開きます。
- Components ペインで、コンポーネントを展開し、必要なコンポーネントタイプをエディターのキャンバスにドラッグします。
- ページにコンポーネントを配置したら、Properties ペインからプロパティーを編集します。
- Save をクリックし、再度 Save をクリックします。
2.2. ページの保存、削除、名前変更、またはコピー
ページを作成して定義したら、必要に応じて Page Editor を使用してページの保存、削除、名前変更、またはコピーします。
手順
- Decision Central で Menu → Design → Pages に移動します。
- Pages パネルからページを選択します。Page Editor にページが開きます。
- 必要な操作を実行し、Page Editor の右上から Save、Delete、Rename、または Copy を選択します。
図2.1 ページの保存、削除、名前変更、またはコピー
2.3. ナビゲーションツリー
Workbench ナビゲーションツリーには、Decision Central の Main メニューに表示されるエントリーが含まれます。このナビゲーションツリー構造への変更は、ホームページの Main メニューに反映されます。このメカニズムは、新しいページの公開などに使用できます。
また、追加のナビゲーションツリーを作成できます。このカスタムツリーを使用して、ページ内にナビゲーションコンポーネントを設定できます。Navigation パネルから Workbench ツリーを削除できませんが、要件に合わせて Workbench ツリー階層の編集は可能です。この機能を使用すると、新しいページを使用して Decision Central の Main メニューをカスタマイズできます。
Navigation パネルにデフォルトで表示される Workbench ツリーは、Decision Central のメイン メニュー です。
2.4. コンポーネント
ページには、さまざまなコンポーネントが含まれます。ページには、以下のコンポーネントタイプを使用できます。
- Core コンポーネント: カスタムの HTML 情報を指定、または既存ページを表示するのに使用します。コアコンポーネントは 2 種類があります。
Core コンポーネントのサブタイプ | 説明 |
---|---|
HTML | このコンポーネントは、HTML エディターウィジェットを開きます。テキスト、イメージ、テーブル、リンク、色などを使用して HTML ページを作成します。要件に応じてページをカスタマイズできます。 |
Page | このコンポーネントを使用すると、新しいダッシュボードに以前作成したページを追加できます。このコンポーネントを使用して、ダッシュボードに作成してあるカスタムページをネストできます。 |
コアコンポーネントは必須ではありません。
- Navigation コンポーネント: ページ間を移動するのに使用します。ナビゲーションコンポーネントの種類は 6 つあります。
ナビゲーションコンポーネントのサブタイプ | 説明 |
---|---|
Target Div | このコンポーネントは、タブリスト、メニューバー、ツリーナビゲーターコンポーネントが、エントリーを表示し、クリックした最後の項目を追跡するのに使用します。 |
Menu Bar | このコンポーネントは、メニューバーの形でナビゲーションツリーのエントリーを表示します。Decision Central でサポートされるレベルの数に制限はありません。 |
Tile Navigator | このコンポーネントは、タイルの形でナビゲーショングループを表示します。グループはディレクトリーとして表示されますが、エントリーが 1 つしかない場合は選択するとそのコンテンツが表示されます。 |
Tree | このコンポーネントは、垂直のツリー構造フォーマットでエントリーを表示します。 |
Carousel | 円形やスライドショーなどで選択したページを表示するか、循環させます。 |
Tab List | このコンポーネントは、コンポーネントの上部に、選択したメニューページをタブとして表示します。 |
ターゲットの Div 設定は、円形、タイルナビゲーターなどの非ターゲット Div コンポーネントには必要 ありません。
Reporting コンポーネント: グラフ、テーブル、マップなどの形でデータセットのデータの表示に使用されます (Data sets authoring セクションを参照)。レポーティングコンポーネントのタイプは 10 種類あります。レポーティングコンポーネントは New Displayer ウィジェットを使用して設定できますが、ウィジェットには以下の 3 つのタブが含まれます。
- Type: カスタムデータをグラフィカルに表示する方法を選択します。
- Data: Settings メニューで利用可能な Data Sets セクションから作成したカスタムのデータセットの一覧から、データセットを選択します。
- Display: タイトルを追加し、色、サイズなどを変更することでコンテンツを表示する方法を編集してカスタマイズします。
2.4.1. ページエディターにコンポーネントを配置してページの作成
ページを作成するには、Pages パースペクティブの Editor キャンバスにコンポーネントをドラッグする必要があります。ページに必要なコンポーネントをすべて配置したら、Save をクリックします。
2.4.2. Preview タブを使用してページのプレビュー
ページの作成時または編集時に、Page Editor の Preview タブをクリックして、保存する前にページをプレビューします。
2.4.3. コンポーネントのプロパティー
ページに使用されるコンポーネントには、コンポーネントに関連するさまざまなプロパティーが含まれます。Properties パネルで以下のプロパティーを編集して、コンポーネントをカスタマイズできます。
- Panel プロパティー: Width、Height、Background Color など、コンポーネントパネルプロパティーをカスタマイズするのに使用します。
- Margin プロパティー: Top、Bottom、Left、Right など、コンポーネントのマージンプロパティーをカスタマイズするのに使用します。
- Padding プロパティー: Top、Bottom、Left、Right などのコンポーネントパディングプロパティーをカスタマイズするのに使用します。
また、HTML コンポーネントには、コンポーネントの Alignment、Decoration、Color、Size、および Weight プロパティーをカスタマイズする追加テキストプロパティーもあります。
第3章 セキュリティー管理
セキュリティー管理とは、ユーザー、グループ、パーミッションを管理するプロセスです。Decision Central セキュリティー管理ページから、Decision Central のリソースおよび機能へのアクセスを制御できます。
Decision Central は、ユーザー、グループ、およびロールのセキュリティー管理のエンティティーを 3 種類定義します。パーミッションは、ロールにもグループにも両方割り当てることができます。ユーザーは、所属するグループおよびロールのパーミッションを継承します。
3.1. セキュリティー管理プロバイダー
レルムは、セキュリティー管理のコンテキストで各種アプリケーションリソースへのアクセスを制限します。レルムには、ユーザー、グループ、ロール、パーミッションに関する情報が含まれます。特定のレルムに対する具体的なユーザーおよびグループ管理サービスの実装は、セキュリティー管理プロバイダーと呼ばれます。
組み込みのセキュリティー管理プロバイダーがアプリケーションセキュリティーレルムの要件を満たさない場合は、独自のセキュリティー管理プロバイダーを構築して登録できます。
セキュリティー管理プロバイダーがインストールされていない場合は、セキュリティーレルムを管理するユーザーインターフェイスは利用できません。セキュリティー管理プロバイダーをインストールして設定した後に、セキュリティー管理ユーザーインターフェイスでユーザーおよびグループの管理機能は自動的に有効になります。
Decision Central には、application-users.properties
または application-roles.properties
プロパティーファイルの内容を基にレルムタイプをサポートする Red Hat JBoss EAP セキュリティー管理プロバイダーが含まれます。
3.1.1. プロパティーファイルを基にした Red Hat JBoss EAP セキュリティー管理プロバイダーの設定
独自の Red Hat JBoss EAP セキュリティー管理プロバイダーを構築して登録できます。プロパティーファイルを基にして Red Hat JBoss EAP セキュリティー管理プロバイダーを使用するには、以下の手順を行います。
前提条件
- Red Hat JBoss EAP がインストールされている。
手順
Red Hat JBoss EAP インスタンスの既存のユーザーまたはロールプロパティーファイルを使用するには、以下の例で示すように、
EAP_HOME/standalone/configuration/application-users.properties
およびEAP_HOME/standalone/configuration/application-roles.properties
ファイルに以下のシステムプロパティーを含めます。<property name="org.uberfire.ext.security.management.wildfly.properties.realm" value="ApplicationRealm"/> <property name="org.uberfire.ext.security.management.wildfly.properties.users-file-path" value="/standalone/configuration/application-users.properties"/> <property name="org.uberfire.ext.security.management.wildfly.properties.groups-file-path" value="/standalone/configuration/application-roles.properties"/>
以下の表は、これらのプロパティーの説明とデフォルト値を示しています。
表3.1 プロパティーファイルを基にする Red Hat JBoss EAP セキュリティー管理プロバイダー プロパティー 説明 デフォルト値 org.uberfire.ext.security.management.wildfly.properties.realm
レルムの名前このプロパティーは必須ではありません。
ApplicationRealm
org.uberfire.ext.security.management.wildfly.properties.users-file-path
ユーザープロパティーファイルの絶対パス。このプロパティーは必須です。
./standalone/configuration/application-users.properties
org.uberfire.ext.security.management.wildfly.properties.groups-file-path
グループプロパティーファイルの絶対パス。このプロパティーは必須です。
./standalone/configuration/application-roles.properties
アプリケーションのルートディレクトリーに
security-management.properties
ファイルを作成します。たとえば、以下のファイルを作成します。src/main/resources/security-management.properties
security-management.properties
ファイルの値として、以下のシステムプロパティーおよびセキュリティープロバイダー名を入力します。<property name="org.uberfire.ext.security.management.api.userManagementServices" value="WildflyUserManagementService"/>
3.1.2. プロパティーファイルと CLI モードを基にした Red Hat JBoss EAP セキュリティー管理プロバイダーの設定
プロパティーファイルと CLI モードを基に Red Hat JBoss EAP セキュリティー管理プロバイダーを使用するには、以下の手順を行います。
前提条件
- Red Hat JBoss EAP がインストールされている。
手順
Red Hat JBoss EAP インスタンスの既存のユーザーまたはロールプロパティーファイルを使用するには、以下の例で示すように、
EAP_HOME/standalone/configuration/application-users.properties
およびEAP_HOME/standalone/configuration/application-roles.properties
ファイルに以下のシステムプロパティーを含めます。<property name="org.uberfire.ext.security.management.wildfly.cli.host" value="localhost"/> <property name="org.uberfire.ext.security.management.wildfly.cli.port" value="9990"/> <property name="org.uberfire.ext.security.management.wildfly.cli.user" value="<USERNAME>"/> <property name="org.uberfire.ext.security.management.wildfly.cli.password" value="<USER_PWD>"/> <property name="org.uberfire.ext.security.management.wildfly.cli.realm" value="ApplicationRealm"/>
以下の表は、これらのプロパティーの説明とデフォルト値を示しています。
表3.2 プロパティーファイルと CLI モードを基にする Red Hat JBoss EAP セキュリティー管理プロバイダー プロパティー 説明 デフォルト値 org.uberfire.ext.security.management.wildfly.cli.host
ネイティブ管理インターフェイスホスト。
localhost
org.uberfire.ext.security.management.wildfly.cli.port
ネイティブ管理インターフェイスポート。
9990
org.uberfire.ext.security.management.wildfly.cli.user
ネイティブ管理インターフェイスのユーザー名。
NA
org.uberfire.ext.security.management.wildfly.cli.password
ネイティブ管理インターフェイスのユーザーのパスワード。
NA
org.uberfire.ext.security.management.wildfly.cli.realm
アプリケーションのセキュリティーコンテキストで使用されるレルム。
ApplicationRealm
アプリケーションのルートディレクトリーに
security-management.properties
ファイルを作成します。たとえば、以下のファイルを作成します。src/main/resources/security-management.properties
security-management.properties
ファイルの値として、以下のシステムプロパティーおよびセキュリティープロバイダー名を入力します。<property name="org.uberfire.ext.security.management.api.userManagementServices" value="WildflyCLIUserManagementService"/>
3.2. パーミッションおよび設定
パーミッションは、アプリケーション内の特定のリソースに関連するアクションを実行するためにユーザーに付与される権限です。たとえば、以下のパーミッションを指定できます。
- ページを表示する。
- プロジェクトを保存する。
- リポジトリーを削除する。
- ダッシュボードを削除する。
パーミッションは、付与と拒否ができ、グローバルに設定することも、リソースを指定して設定することもできます。パーミッションを使用すると、リソースへのアクセス時のセキュリティーが保護され、アプリケーション内の機能をカスタマイズできます。
3.2.1. Decision Central でのグループおよびロールのパーミッションの変更
Decision Central では、ユーザーごとのパーミッションを変更することはできません。ただし、グループおよびロールのパーミッションは変更できます。変更したパーミッションは、変更したロールが割り当てられているか、変更したグループに所属するユーザーに適用されます。
ロールまたはグループへの変更は、そのロールまたはグループに関連のあるユーザーに加えられます。
前提条件
-
Decision Central に
admin
ユーザーロールでログインしています。
手順
- Decision Central で Security management ページにアクセスするには、画面の右上隅にある Admin アイコンを選択します。
Decision Central Settings ページで Roles、Groups、または Users をクリックします。
クリックしたアイコンのタブに、Security management ページが開きます。
- リストから編集するロールまたはグループをクリックします。全詳細が右側のペインに表示されます。
- Settings セクションの Home Page または Priority を設定します。
Permissions セクションで、Decision Central、ページ、エディター、スペース、プロジェクトのパーミッションを設定します。
図3.1 パーミッションの設定
- 変更するパーミッションのリソースタイプの横にある矢印をクリックして展開します。
必要に応じて、リソースタイプに例外を追加するには、Add Exception をクリックしてから、必要なパーミッションを設定します。
注記Decision Central のリソースタイプには、例外を追加できません。
- Save をクリックします。
3.2.2. Decision Central ホームページの変更
ホームページは、Decision Central にログインすると表示されるページです。デフォルトでは、ホームページは Home
に設定されます。ロールとグループ別に異なるホームページを指定できます。
手順
- Decision Central で、画面の右上隅にある Admin アイコンを選択し、Roles または Groups を選択します。
- ロールまたはグループを選択します。
- Home Page リストからページを選択します。
Save をクリックします。
注記そのロールまたはグループには、ページをホームページにする前に、そのページへの読み取りアクセスが必要です。
3.2.3. 優先順位の設定
ユーザーは、複数のロールを持ち、複数のグループに所属します。優先順位の設定は、ロールまたはグループの優先順を決定します。
前提条件
-
Decision Central に
admin
ユーザーロールでログインしています。
手順
- Decision Central で、画面の右上隅にある Admin アイコンを選択し、Roles または Groups を選択します。
- ロールまたはグループを選択します。
- 優先順位メニューから優先順位を選択し、Save をクリックします。
ユーザーに、設定が競合するロールが割り当てられているか、グループに所属している場合は、一番高い優先順位を持つロールまたはグループを設定します。
第4章 カスタムのダッシュボードウィジェットの作成
カスタムのダッシュボードを作成するために、Decision Central の機能の一部 (データセット、ページ、ナビゲーションツリー、パーミッションなど) を組み合わせて公開する必要があります。ダッシュボードは、最低でも 1 つのレポーティングコンポーネントが含まれるページです。
カスタムのダッシュボードの作成には 4 つのステージがあります。
- データセットオーサリング: このステージでは、ページを介してデータにアクセスして表示するデータセットを定義します。詳細は データセットの追加 を参照してください。
- ページオーサリング: このステージでは、データセットからデータを表示するのに使用されるページを作成します。詳細は ページの作成 を参照してください。
- 公開: このステージでは、カスタムのナビゲーションツリーを作成、または既存のデフォルトナビゲーションツリー (Workbench ツリー) を修正する際に、ページ間の移動が定義されます。詳細は ナビゲーションツリーの作成 または ナビゲーションツリーの編集 を参照してください。
- セキュリティー管理: このステージでは、Decision Central で作業中にユーザーが所有する特権を定義するロールおよびグループのパーミッションが設定されます。詳細は セキュリティー設定 を参照してください。
Decision Central の以前のバージョンから最新のバージョンにダッシュボードの移行を計画する場合は、上述のステージに従う必要があります。この時に有用な自動移行パスまたはツールはありません。ダッシュボードは最初から作り直す必要があります。
付録A バージョン情報
本書の最終更新日: 2021 年 11 月 15 日 (月)