アーキテクチャ

QlikView インストールの全体的な構造は、いくつかの役割に分割されています。

Publisher を有する QlikView

下記は、QlikView コンポーネントのロケーションに含まれている Publisher を使って QlikView を展開した図です。

QlikView コンポーネントのロケーションにある Publisher を使って QlikView を展開

フロント エンド

フロント エンドとは、エンド ユーザーが QlikView Server を介して閲覧できるドキュメントやデータを操作する場所です。フロント エンドには、バックエンドの QlikView Publisher で作成する QlikView ユーザー ドキュメントが含まれています。クライアントとサーバー間のすべての通信はここで行われ、QlikView Server がクライアント許可を実行します。

フロント エンドは基盤リソース (クラスター化用の Windows ベースのファイル共有など) に依存しています。

注: QlikView Server は現在、Windows ファイル共有にのみ適合しています。つまり、Windows オペレーティング システムのインスタンスでストレージを所有、管理、共有する必要があります (通常は \\<servername>\<share> のようなパスを使ってアクセスします)。
注: QlikView では、Windows Distributed File System (DFS) をサポートしていません。

エンド ユーザーの許可 (内蔵されているカスタム ユーザーは例外) は QlikView の外で行われます。

バック エンド

バック エンドとは、QlikView Developer が使用するために作成された QlikView ソース ドキュメントがある場所です。これらのリソース ファイルには、多用なデータ ソース (データ ウェアハウスや Microsoft Excel® ファイル、SAP®、Salesforce.com® など) から抽出されたデータ スクリプトが含まれています。データの抽出には、中間ファイル (QVD ファイル) が含まれる場合があります。QlikView の主要なコンポーネントは、バック エンドでファイルのロードと配信を実行する Distribution Service です。バック エンドには、常時 Windows ファイル システムが許可を行っています (つまり、QlikView はアクセス権限を管理しません)。

バック エンドでは、クラスター化用の基盤リソース (Windows ベースのファイル共有など) とともに、SMTP サーバーやディレクトリ カタログといったリソースも使用します。

注: QlikView Server は現在、Windows ファイル共有にのみ適合しています。つまり、Windows オペレーティング システムのインスタンスでストレージを所有、管理、共有する必要があります (通常は \\<servername>\<share> のようなパスを使ってアクセスします)。
注: QlikView では、Windows Distributed File System (DFS) をサポートしていません。

ここに記載の通り、バック エンドおよびフロント エンドは両方とも、開発およびテスト、展開に活用されます。

Publisher なしの QlikView

Publisher がないと、QlikView の機能構造は制限的になります。配信および分割機能は、データをユーザー ドキュメントにリロードすることで削除や置換を行います。Publisher の配信機能がないので、開発者はバックエンド サーバーから手動で .qvwファイルを展開する必要があります。

Publisher なしの QlikView 構造

QlikView Server

インストールされるサーバーの数は (クラスター化に関係なく)、ライセンスによってのみ制限されます。しかし、ひとつのサーバー (物理/仮想) で複数の QVS を起動させることはできません。QVS はどのようなリソースでも利用できるよう設計されています。応答時間を最小限に抑えるために、QVS はメモリにできるだけ多くの計算結果を保存します。

QlikView Server - クライアントの通信

QlikView Server - クライアントの通信構造は 3 つの主要なプロセスを必要とし、整合性があり安全性の高い方法でそれぞれと通信可能である必要があります。この相互作用は、他の従属的なプロセスと同様、潜在的に多数のコンピュータと多数のネットワーク接続を使用することができます。

QlikView Server - クライアントの通信

3 つの主要なプロセスは以下の通りです。

プロセス 説明
QVS クライアントに QlikView の機能性を提供します。このサービスのホストとして機能しているマシンは、Microsoft Windows オペレーティング システム上で動作している必要があります。
クライアント Web ブラウザやアプリケーション シェルで動作し、クライアント コード用のコンテナを提供します。クライアントは、QlikView のインターフェースと機能性をエンド ユーザーに提供するために、直接もしくはウェブ サーバーを通して QlikView Server と通信します。
ウェブ サーバー ウェブ サーバー は、クライアントに HTML ウェブ ページを供給するために使用できる HTTP サーバーを起動し、ユーザーの許可を支援して、クライアントと QlikView Server 間の通信を可能にします。

カスタム ユーザーは例外で、クライアント ユーザーの許可は Windows 許可を使用するといったように、QlikView 外で実施されます。

参照項目: カスタム ユーザーを用いた QlikView Server の認証

QVS を使ったクライアント通信のプロトコル定義は以下の通りです。

プロトコル 説明
QlikView Protocol (QVP) 暗号化、バイナリ、TCP ベース。ポート 4747 で QVS と直接通信します。
QVPX XML ベース。ウェブ サーバーを経由して http/https を使用して QVS と通信します。

Windows クライアント (.exe/.ocx) はポート 4747 の QVP を使用して QVS と直接通信します。これらのクライアントには、QVS との通信を構築、維持するためのウェブ サーバーは必要ありません。

AJAX クライアントとモバイル クライアントは直接 QVS と通信しません。QlikView Web Server (QVWS) や Microsoft IIS のようなウェブ サーバーを通して QVPX プロトコルを使用した通信を確立、管理する必要があります。これは、通常ポート 80 (http) を通して行われます。また、ウェブ サーバーでは、ポート 4747 の QVPX2 プロトコルを使用して QVS と通信します。

QVS のデフォルトのインストール設定では、IIS ではなく QVWS を使用します。QVWS は、Windows 7 以降および Windows Server 2008 以降で、IIS とポート 80 を共有しています。

QlikView Server - ユーザー ドキュメント

ユーザーがドキュメントを開くには、次が必要です。

  • ユーザー用の Client Access License (CAL)
  • ドキュメントへのアクセス権

ユーザー ドキュメントを読み込むのは QVS なので、実質的には QVS を起動するアカウントに対して読み取り可能である必要があります。アクセス権限は、ドキュメントの ACL リスト (QVS が NTFS モードで起動している場合) あるいは .META ファイル (QVS が Document Metadata Service (DMS) モードで起動している場合) にいずれかに保存されます。これらの設定は、バック エンドからの配信の一部に含まれます。

エンド ユーザーが作成した各アイテム (レイアウト、レポート、ブックマーク、ノート、入力項目値など) は、.Shared ファイルに保存されます。.Shared ファイルはバック エンドからの配信で置き換えられません。

ウェブ サーバー

QlikView Web Server (QVWS) は QlikView Server のインストールに含まれます。ウェブ サーバーはスタンドアロン サービスとして動作し、QlikView Server インストールにかかるニーズを満たします。

QlikView Server の代替オプションとして、より高い柔軟性とさらなる許可スキーム、アプリケーション用のウェブ サービスを提供する Microsoft IIS ソリューションを展開することが可能です。IIS を使用すると、設定を管理する QlikView Settings Service がインストールされます。

QVS 環境で他のウェブ サービスを使用することができますが、QVS に到達するトラフィックのいずれかの地点で、QVWS あるいは IIS の専用 ASPX ページを経由する必要があります。

QlikView Web Server のコンポーネント (QVWS と IIS ベースの両方) は次のような複数のタスクを実行します。

  • AccessPoint バック エンドの処理
  • ステートレス http と QVS とのセッションベースの通信間のトラフィックの変換やルート設定
  • QVS クラスターのロード バランス処理
  • 静的コンテンツの提供 (オプション)
  • Windows認証ユーザーの認証処理
  • カスタム ユーザーを使用した認証処理 (オプション)
  • Windows や Directory Service Connector (DSC) を使用したグループへの配信 (オプション)

QlikView Server トンネル

QVS 通信ポート (4747) がネットワークのファイアウォールによってブロックされた場合、Windows クライアントは、ポート 80 (http) を経由する通信を試行します。QVS トンネル通信を確立するには、接続パスに QVWS を含むか、Microsoft IIS にインストールする必要があります。

Directory Service Connector

下図は情報フローを示しています。Directory Service Connector (DSC) は、アクティブ ディレクトリや LDAP、ODBC、カスタム ユーザーといったさまざまなソース (これらに限定されるものではありません) からエンド ユーザーに関連するユーザー情報を取得します。

Directory Service Connector

ウェブ サーバーは DSC を使用してグループ配信を行い、Distribution Service は DSC を使って配信中にメール アドレスや UID の検索を行います。また Management Service では、管理者がユーザーやグループの検索に使用します。

Management Service

Management Service は QlikView Management Console および QlikView API の双方における、すべての管理のエントリ ポイントです。

Management Service

QlikView Management Service (QMS) は、自身の データベースである QVPR の設定を保持します。デフォルトでは、QVPR は XML ファイル形式で保存され、SQL データベースとして設定を保存する方法もあります。

注: すべてのQlikViewサーバーは、同じ地域設定である必要があります。地域設定が異なると、QlikViewXML参照ファイルのロード時にエラーが発生する場合があります。

インストールはアクティブな QMS の単一インスタンスでのみを可能です。冗長に対しては、アクティブ/パッシブなフェイルオーバーを使用する必要があります。QMS が起動するために、他のサービスは不要です。

Distribution Service

Distribution Service

Distribution Service は次のようなソース ドキュメントを使用します。

  • ユーザー ドキュメント
  • フォルダへの配信やメールを経由する配信用の .qvw ファイル
  • フォルダへの配信やメールを経由する配信用の .pdf ドキュメント

最終配信先に到達するまでの一連のイベントには、次のようなタスクが 1 つ、あるいは複数含まれます。

  1. 1 つあるいは複数のデータ ソース (QVD を含む) から 1 つあるいは複数の .qvw.qvd ファイルにデータをロードする。
  2. ドキュメントを 1 つあるいは複数のサイズの小さなドキュメントに縮小/分割する。
  3. 属性および使用規則を追加する (QVS に配信する場合にのみ適用)。

Distribution Service は、定義済みのスケジュールに従い、あるいはイベントに対する処理としてタスクを実行します。

Reload Engine

Publisher ライセンスがない場合、Reload Engine が Publisher の配信サービスを代行します。Reload Engine がリロードするのはユーザー ドキュメントのみで、設定はユーザー ドキュメントで直接定義されます。

注: Reload Engine を機能させるには、すべての QlikView サービスを同一のマシン上で実行する必要があります。サービスを複数のマシンにインストールする場合は (例えば、あるマシンには QMC、DSC、QDS をインストールし、別のマシンには QVS と QVWS をインストール)、Reload Engine が機能しません。