1.2 ユーザアプリケーションのアーキテクチャ

Identity Managerユーザアプリケーションでは、独立した複数のコンポーネントが連携して動作しています。主要コンポーネントを図 1-1に示します。

図 1-1 ユーザアプリケーションの主要コンポーネント

1.2.1 ユーザインタフェース

Identity Managerユーザアプリケーションは、ブラウザベースのJava*アプリケーションを使用しています。これは、J2EE*準拠のアプリケーションサーバ上のJava Webアプリケーションで動作する、JSR168に準拠したポートレット、JavaServer*ページ、およびJavaServer Facesから成り立っています。ユーザアプリケーションのフレームワークは、ウィンドウ状態、ポートレット初期設定、保持、キャッシュ、テーマ、ログなどを管理するコンテナサービスを提供し、セキュリティゲートキーパーとして動作します。これに対し、ユーザアプリケーションが実行されるアプリケーションサーバは、クラスタ化によるスケーラビリティ、JDBC*を経由したデータベースへのアクセス、および証明書ベースのセキュリティサポートなど、アプリケーション全体に対するさまざまなサービスを提供します。

1.2.2 ディレクトリ抽象化層

ディレクトリ抽象化層は、アイデンティティボールトデータの論理的なビューを提供しています。一連のエンティティと関連する属性は、ユーザアプリケーションでユーザに表示、変更、削除させるアイデンティティボールトオブジェクトに基づいて定義します。ディレクトリ抽象化層:

  • アイデンティティボールトに対して、すべてのユーザアプリケーションのLDAP クエリを実行します。これはアイデンティティボールトからプレゼンテーション層ロジックを分離し、識別データに対する要求がすべてディレクトリ抽象化層を経由するようにします。

  • ユーザアプリケーション経由で行われたデータ要求の制約とアクセス制御をチェックします。

  • アイデンティティボールトから取得されたランタイム環境設定とエンティティ定義データをキャッシュに格納します。参照先 セクション 5.1.1, キャッシュ管理

ディレクトリ抽象化層データ定義の構造を定義するには、ディレクトリ抽象化層エディタプラグイン(iManagerのDesignerから使用可)を使用します。詳細は、『Identity Managerユーザアプリケーション:設計ガイド』のディレクトリ抽象化層エディタに関する項目を参照してください。

1.2.3 ワークフローエンジン

ワークフローエンジン(プロビジョニングモジュールで使用可)は、管理者が定義したワークフローのステップの管理と実行、およびステータス情報(データベース内)の追跡を担当する一連のJava実行形式ファイルです。必要な承認が付与された後、プロビジョニングシステムは、要求どおりにリソースのプロビジョニングを実行します。

ワークフロー実行時に、ワークフローエンジンは1つまたは複数の電子メールメッセージを送信して、ワークフローのステータスの変更を通知することができます。また、電子メールメッセージを送信して、代理人、委任、および可用性設定の更新をユーザに通知することもできます。

Identity ManagerのDesignerまたはiManagerで電子メールテンプレートを編集し、そのテンプレートを電子メール通知に使用することができます。ランタイム時、ワークフローエンジンはディレクトリからテンプレートを取得し、タグを、通知に適したダイナミックテキストに置き換えます。

ワークフローエンジンの詳細と、プロビジョニングワークフローの環境設定、管理方法については、セクション V, プロビジョニングワークフローの環境設定と管理を参照してください。

1.2.4 SOAPエンドポイント

ユーザアプリケーションには、サードパーティ製ソフトウェアアプリケーションがユーザアプリケーションサービスを活用できるように、次のSOAPエンドポイントが用意されています。

表 1-1 SOAPエンドポイント

SOAPエンドポイント

説明

プロビジョニングWebサービス

サードパーティ製ソフトウェアアプリケーションのアクセスをサポートするために、プロビジョニングワークフローエンジンにはWebサービスエンドポイントが含まれています。このエンドポイントは、すべてのプロビジョニング機能(例:SOAPクライアントに新しい承認ワークフローの開始を許可したり、現在実行中のフローを表示する)を提供しています。

メトリクスWebサービス

ワークフローエンジンには、ワークフローメトリクスを収集するWebサービスも含まれています。ワークフローエンジンにメトリクスWebサービスを追加することにより、承認フロープロセスを監視することができます。また、ビジネスマネージャがプロセスを変更して最適化するために使用するインジケータとしても利用できます。

通知Webサービス

Identity Managerプロビジョニングモジュールには、電子メール通知機能が用意されています。これを使って、ユーザにプロビジョニングシステムのステータスの変更や、ユーザが実行する必要があるタスクを知らせるメッセージを電子メールで送信することができます。サードパーティアクセスをサポートするために、通知機能には電子メールメッセージを1人または複数のユーザに送信するWebサービスエンドポイント機能が用意されています。

ディレクトリ抽象化層(VDX)Webサービス

ディレクトリ抽象化層は、アイデンティティボールトデータの論理的なビューを提供しています。 サードパーティソフトウェアアプリケーションからのアクセスをサポートするために、ディレクトリ抽象化層サービスには、VDXWebサービスと呼ばれるWebサービスエンドポイントが用意されています。 このエンドポイントを利用すれば、ディレクトリ抽象化層に定義されているエンティティに関連する属性にアクセスすることができます。また、グローバル検索と呼ばれる事前定義された検索を実行したり、特定のエンティティを検索することができます。

1.2.5 アプリケーションサーバ(J2EE準拠)

アプリケーションサーバは、ユーザアプリケーション、ディレクトリ抽象化層、およびワークフローエンジンを実行するための、ランタイムフレームワークを提供しています。ユーザアプリケーションは、Java Webアプリケーションアーカイブ、つまりWARファイルとしてパッケージ化されています。WARは、アプリケーションサーバに展開されます。

ユーザアプリケーションは、JBOSSおよびWebSphere上で動作します。サポートするプラットフォームの一覧については、『インストールガイド』を参照してください。

1.2.6 Database

ユーザアプリケーションは、次の数種類の情報を保存するためデータベースに依存しています(デフォルトではMySQL*、サポートされているデータベースについては、『インストールガイド』を参照してください)。

  • ユーザアプリケーション環境設定データ:たとえば、Webページ定義、ポートレットインスタンス登録、および初期設定値などです。

  • プロビジョニングモジュールがインストールされている場合、ワークフロー状態の情報はデータベースに永続保存されます(実際のワークフロー定義は、アイデンティティボールト内のユーザアプリケーションドライバに保管されます)

  • Novell Auditのログ。

1.2.7 ユーザアプリケーションドライバ

ユーザアプリケーションドライバは、ユーザアプリケーションを動作させるための重要な要素です。これは、次の処理を担当します。

  • アプリケーション固有の環境設定データの保管。

  • アイデンティティボールトで重要なデータの値が変更された場合に、ディレクトリ抽象化層に通知する。これにより、ディレクトリ抽象化層のキャッシュが更新されます。

プロビジョニングモジュールがインストールされている場合、ユーザアプリケーションドライバを次のように環境設定できます。

  • アイデンティティボールト内のイベントを契機に、ワークフローを起動する。

  • ワークフローのプロビジョニングアクティビティの成功/失敗をユーザアプリケーションデータベースに通知する。これにより、ユーザは要求の最終的なステータスを参照することができます。

  • アイデンティティボールト内の属性値の変更に応じて、ワークフローを自動的に起動する。

ユーザアプリケーションドライバはランタイムコンポーネントであるだけでなく、ディレクトリオブジェクト(ユーザアプリケーションのランタイムの生成物で構成される)のストレージラッパーでもあります。

表 1-2 ユーザアプリケーションドライバに保存されるアーティファクト

アーティファクト

説明

ドライバセットオブジェクト

Identity Managerの各インストールでは、ドライバをドライバセットとしてグループ化する必要があります。1つのディレクトリサーバで、一度に1つのドライバセットだけをアクティブにできます。セット内のドライバは、ドライバセット全体に影響を与えることなく個別にオンとオフを切り替えることができます。ユーザアプリケーションドライバも、他のIdentity Managerドライバと同じように、ドライバセット内に存在していなければなりません。ドライバセットはユーザアプリケーションによって自動作成されるわけではありません。ユーザがドライバセットを作成し、その中にユーザアプリケーションドライバを作成する必要があります。

ユーザアプリケーション

ユーザアプリケーションドライバおぶじぇくとは、さまざまなアーティファクトのコンテナです。ユーザアプリケーションドライバには、発行者および購読者チャネルオブジェクトとポリシーが実装されています。発行者チャネルがユーザアプリケーションによって使用されることはありませんが、カスタムで使用することもできます。

App Configオブジェクト

AppConfigオブジェクトはさまざまなユーザアプリケーション設定オブジェクトのコンテナです。

  • RequestDefs: プロビジョニング要求定義用コンテナここに保存される定義(XML形式)は、適切な権利を持つエンドユーザがユーザを使用してインスタンス化できる要求のクラスを表します。(プロビジョニングモードのみ)

  • WorkflowDefs: :ワークフローオブジェクトのコンテナで、デザインタイムの説明に加えてテンプレートや未使用のフローが含まれます。

  • ResourceDefs: プロビジョニングリソース定義のコンテナで、デザイン時の説明に加え、テンプレートや未使用のターゲットも含まれます。

  • ServiceDefs: サービス定義オブジェクトのコンテナで、ワークフローによって呼び出されるWebサービスをラップします。

  • DirectoryModel: ユーザアプリケーションに表示される、アイデンティティボールト内の異なるコンテンツの種類を表すディレクトリ抽象化層オブジェクトです。

  • AppDefs: キャッシュ設定情報や電子メール通知プロパティなど、ランタイム環境を初期化する設定オブジェクトのコンテナです。

  • ProxyDefs: 代理人定義のコンテナです。

  • DelegateeDefs: 委任定義のコンテナです。

1.2.8 Designer for Identity Manager

Identity ManagerのDesignerは、ディレクトリ抽象化層オブジェクト、プロビジョニング要求、および関連するワークフローを定義するための、一連のプラグインを提供しています。詳細については、セクション 1.4, 設計および設定用のツールを参照してください。

1.2.9 iManager

iManagerには、プロビジョニング要求およびそれに関連付けられたワークフローの設定および管理に使用するための一連のプラグインが用意されています。これらのツールを使って、プロビジョニングチームとチームの権限を定義することもできます。詳細については、セクション 1.4, 設計および設定用のツールを参照してください。

1.2.10 Identity Managerエンジン

Identity Managerエンジンは、アイデンティティボールトおよび接続されているシステム内のイベントを監視する、ランタイムフレームワークを提供しています。これは、アイデンティティボールトのポリシーとルートデータを強制します。Identity Managerユーザアプリケーションは接続システムです。アイデンティティボールト、ユーザアプリケーションのディレクトリ抽象化層、およびワークフローエンジン間の通信は、ユーザアプリケーションドライバを経由して行われます。

1.2.11 識別ボールト

アイデンティティボールトは、ユーザデータ(および他のIDデータ)、およびIdentity Managerドライバセットとユーザアプリケーションドライバのリポジトリです。ユーザアプリケーションはさまざまなアイデンティティボールトオブジェクトに依存するため、ユーザアプリケーションで要求されるカスタムLDAPオブジェクトとその属性に対応するように、eDirectoryスキーマを拡張する必要があります。スキーマの拡張は、ユーザアプリケーションのインストールの一環として自動的に行われます。カスタムオブジェクトと属性は、ユーザアプリケーションをインストールしてアクティブにした後に、デフォルト値で編成されます。

1.2.12 Novell Audit

Novell Auditは、さまざまな種類のデータ(ワークフローの手順で生成されたデータなど)を永続保存できる独立したログサーバです。詳細については、セクション 3.0, ログのセットアップを参照してください。