19 グラフ・ビジュアライゼーション・アプリケーションについて

グラフ・ビジュアライゼーション・アプリケーションは、グラフ・サーバー (PGX)と連携して動作する単一ページのWebアプリケーションです。

グラフ・サーバーは、埋込みモードでデプロイしたり、Apache TomcatまたはOracle WebLogic Serverにデプロイできます。グラフ・ビジュアライゼーション・アプリケーションは、PGQL問合せを入力として受け取り、結果を視覚的にレンダリングします。クライアント側の探索およびビジュアライゼーション機能の豊富なセットにより、グラフ・データの新しいインサイトを明らかにすることができます。

グラフ・ビジュアライゼーション・アプリケーションは、グラフ・サーバー(PGX)と連携して動作します。グラフ・サーバー(PGX)の起動時に事前ロードされたか、クライアント・アプリケーションによって実行時にロードされ、graph.publish() APIを介して使用可能になった、グラフ・サーバーにロードされたグラフを視覚化できます。

19.1 グラフ・ビジュアライゼーション・アプリケーションの動作の仕組み

グラフ・ビジュアライゼーション・アプリケーションは、独自のWebインタフェースおよびRESTエンドポイントを公開し、グラフ・サーバー(PGX)またはOracle Database (RDBMS上のPGQL)に対してPGQL問合せを実行できます。

デフォルトでPGXを使用するため、機能するには実行中のPGXサーバーが必要です。または、RDBMS上のPGQLを介してデータベースと直接通信するようにグラフ・ビジュアライゼーション・アプリケーションを構成することもできます。グラフ・ビジュアライゼーション・アプリケーションには、グラフを作成するためのUIがなく、視覚化できるのはPGXまたはOracle Databaseにすでにロードされているグラフのみです。グラフ・ビジュアライゼーションRESTエンドポイントの詳細は、「グラフ・サーバーのRESTエンドポイント」を参照してください。

グラフ・ビジュアライゼーション・アプリケーションの起動の詳細は、「スタンドアロン・モードでのグラフ・ビジュアライゼーション・アプリケーションの実行」を参照してください。

19.2 グラフ・ビジュアライゼーション・アプリケーションに対するKerberos対応の認証

グラフ・ビジュアライゼーション・アプリケーションでは、Kerberos認証を有効にしてユーザーを認証できます。

グラフ・ビジュアライゼーションには、ログインするために2つの異なるドライバが用意されています。

  • グラフ・サーバー(PGX)ドライバ: 資格証明(Kerberosチケット)をグラフ・サーバーに送信する場合。
  • データベース・ドライバ: 資格証明(Kerberosチケット)をデータベースに直接送信する場合。

19.2.1 Kerberos認証の前提条件

各PGQLドライバのシステム要件は、次のとおりです。

  • グラフ・サーバー(PGX)ドライバ: グラフ・サーバー(PGX)でKerberos認証を有効にするには、前提条件を参照してください。
  • データベース・ドライバ:
    • データベースではKerberos認証が有効になっている必要があります。詳細は、Kerberos認証の構成を参照してください。
    • グラフ・ビジュアライゼーション・アプリケーションが実行されているホストからデータベースとKerberos認証サーバーの両方に到達可能である必要があります。
    • データベースがグラフ・サーバー認証用に準備されている必要があります。つまり、関連するグラフ・ロールが、グラフ・ビジュアライゼーション・アプリケーションにログインするユーザーに付与されています。

19.2.2 Kerberos認証のためのグラフ・ビジュアライゼーション・アプリケーションの準備

Kerberos認証を使用するには、グラフ・ビジュアライゼーション・アプリケーションのログイン・ページでActive Directory資格証明を入力する必要があります。

グラフ・ビジュアライゼーション・アプリケーションに対してKerberos認証を有効にするには、次のステップに従います。

  1. インストール用のweb.xmlファイルを探します。
    次の表に示すように、インストール用のグラフ・ビジュアライゼーションのWARファイル内でWEB-INF/web.xmlを探すことができます。

    表19-1 WEB-INF/web.xmlファイルの場所

    インストールのタイプ WARファイル 場所
    スタンドアロン・インストール(RPM) graphviz-<version>-pgviz<graphviz-version>.war /opt/oracle/graph/graphviz
    Apache Tomcatデプロイメント: graphviz-<version>-pgviz<graphviz-version>-tomcat.war

    <version>は、ダウンロードしたOracle Graph Server and Clientのバージョンを示します。

    1. Oracle Software Delivery Cloudからoracle-graph-webapps-<version>.zipをダウンロードします
    2. 選択したディレクトリに、このファイルを解凍します。
    3. Tomcatにグラフ・ビジュアライゼーション・アプリケーションをデプロイするための.warファイルを見つけます。これは、ネーミング・パターン(graphviz-<version>-pgviz<graphviz-version>-tomcat.war)に従います
    Oracle WebLogic Serverデプロイメント graphviz-<version>-pgviz<graphviz-version>-wls.war

    <version>は、ダウンロードしたOracle Graph Server and Clientのバージョンを示します。

    1. Oracle Software Delivery Cloudからoracle-graph-webapps-<version>.zipをダウンロードします
    2. 選択したディレクトリに、このファイルを解凍します。
    3. Oracle WebLogic Serverにグラフ・ビジュアライゼーション・アプリケーションをデプロイするための.warファイルを見つけます。これは、ネーミング・パターン(graphviz-<version>-pgviz<graphviz-version>-wls.war)に従います
  2. 次のコマンドを実行して、適切なWARファイルを任意のディレクトリに抽出します。
    unzip graphviz-*.war -d <war-file-extraction-path>
  3. WEB-INF/web.xmlファイルを探し、任意のファイル・エディタを使用して更新するために開きます。たとえば:
    cd <war-file-extraction-path>
    vi WEB-INF/web.xml
  4. 次のようにgraphviz.driver.auth.kerberosパラメータを有効にします。
    <context-param>
            <param-name>graphviz.driver.auth.kerberos</param-name>
            <param-value>true</param-value>
    </context-param>
    
    このフラグをtrueに設定すると、グラフ・ビジュアライゼーション・アプリケーションが起動し、独自のokinitパッケージをインストールします。
  5. 必要に応じて、次のように、クライアントによって指定されたKerberosチケットを一時的に格納するためにグラフ・ビジュアライゼーション・アプリケーションで使用されるキャッシュ・ディレクトリを設定します。
    <context-param>
            <param-name>graphviz.driver.auth.kerberos.cache_dir</param-name>
            <param-value>/dev/shm/graph_cache</param-value>
    </context-param>
    デフォルト値は/dev/shm/graph_cacheです。このディレクトリが存在しない場合は、サーバーの起動時に自動的に作成されます。
  6. 必要に応じて、グラフ・ビジュアライゼーション・アプリケーションの同時Kerberosアクティブ・セッションの最大数を設定します。
    <context-param>
            <param-name>graphviz.driver.auth.kerberos.max_cache_size</param-name>
            <param-value>64</param-value>
    </context-param>
  7. 必要に応じて、次のパラメータを更新して、okinitパッケージがインストールされるディレクトリを変更します。
    <context-param>
        <param-name>graphviz.driver.auth.kerberos.okinit-directory</param-name>
        <param-value>/tmp</param-value>
    </context-param>

    ノート:

    デフォルト値は/tmpで、ディレクトリに対する実行可能権限が必要です。
  8. 必要に応じて、既存のokinitパッケージの場所がマシン上にある場合は、次のパラメータを設定します。この場合、グラフ・ビジュアライゼーション・アプリケーションは独自のokinitパッケージをインストールしません。
    <context-param>
            <param-name>graphviz.driver.auth.kerberos.graphviz.driver.auth.okinit-location</param-name>
            <param-value></param-value>
    </context-param>

    ノート:

    グラフ・ビジュアライゼーション・アプリケーションには、ディレクトリの場所に対する実行可能権限が必要です。
  9. 最後に、前述のすべての更新の後に、次のコマンドを実行してWARファイルを再パッケージします。
    cd <war-file-extraction-path>
    jar -cvf <war-file-name> *
  10. WARファイルをインストールに適したディレクトリに再デプロイします。
    Kerberos認証は、グラフ・ビジュアライゼーション・アプリケーションに対して有効になっています。

19.3 Webアプリケーションへのグラフ・ビジュアライゼーション・ライブラリの埋込み

Webアプリケーションでグラフ・ビジュアライゼーション・コンポーネントを統合して、グラフ・データを視覚化できます。

Oracle Graph Server and Clientデプロイメントには、oracle-graph-visualization-library-23.2.0.zipファイルにグラフ・ビジュアライゼーション・コンポーネント用のJavaScriptライブラリが含まれています。

ライブラリ内のグラフ・ビジュアライゼーション・インタフェースでは、次がサポートされています:

  • プロパティに基づいたカスタム頂点およびエッジのスタイル設定
  • グラフ探索のための対話型操作
  • 頂点およびエッジの詳細が含まれるツールチップ
  • 自動凡例
  • 複数のグラフ・レイアウト

詳細は、プロパティ・グラフ・ビジュアライゼーションのGraph JavaScript APIリファレンスを参照してください。

Oracle Software Delivery Cloudからoracle-graph-visualization-library-23.2.0.zipファイルをダウンロードし、ライブラリをWebアプリケーションに統合できます。

例は、GitHubのdemoアプリケーションを参照してください。