Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java™ System Identity Manager 7.1 配備ツール 

第 1 章
Identity Manager IDE の使用

Identity Manager Integrated Development Environment (Identity Manager IDE) とは、使用している配備で Sun JavaTM System Identity Manager (Identity Manager) オブジェクトを表示、カスタマイズ、およびデバッグできる Java アプリケーションのことです。

ここでは、Identity Manager IDE の使用方法について説明します。この章で説明する内容は次のとおりです。


概要

Identity Manager IDE は、ご使用の環境で、オブジェクトをグラフィカルに XML ベースで表示します。このアプリケーションを使用して次のタスクを実行できます。

この節の残りの部分では、Identity Manager IDE の全般的な高レベルの概要を説明します。

主な機能

Identity Manager IDE によって提供される主な機能は、次のとおりです。

BPE と比較した場合の Identity Manager IDE

Identity Manager IDE は、完全に統合された NetBeans プラグインで、Identity Manager のビジネスプロセスエディタ (BPE) アプリケーションに代わるよう設計されています。Identity Manager IDE には、BPE と比べて次の利点があります。


Identity Manager IDE のインストール

ここでは、Identity Manager IDE アプリケーションのインストールと設定の手順を説明します。


Identity Manager のプロジェクトが version 7.1 リリースで大幅に変更されたため、version 7.1 の .nbm は、JDK 1.5 と NetBeans 5.5 を必要とします。したがって、version 7.0 の .nbm で作成されたすべてのプロジェクトをアップグレードする必要があります。手順については、「version 7.0 プロジェクトのアップグレード」を参照してください。


開始する前に

Identity Manager IDE を実行するには、次のものが必要になります。

version 7.0 プロジェクトのアップグレード

7.0 の .nbm から 7.1 の .nbm にアップグレードするには、次の手順を実行する必要があります。

  1. JDK インストールを JDK 1.5 にアップグレードします。
  2. 現在の NetBeans インストールを NetBeans 5.5 にアップグレードします。
  3. Identity Manager 7.1 の .nbm を NetBeans 5.5 インストール内にインストールします。
  4. 新しい Identity Manager プロジェクトを作成します。
  5. ここでは、必要に応じて「通常」、「リモート」のいずれかのプロジェクトを作成できます。これらのプロジェクトタイプの詳細については、「プロジェクトとは何か」を参照してください。

  6. 古いプロジェクトの objects ディレクトリの内容を、新しいプロジェクトの src/objects ディレクトリにコピーします。

モジュールのインストール

Identity Manager IDE は、NetBeans に登録する必要のあるモジュールプラグインとしてパッケージ化されています。モジュールをインストールして登録するには、次の手順に従います。

  1. NetBeans 5.5 を開始します。
  2. NetBeans メニューバーで、「Tools」>「Update Center」の順に選択します。
  3. アップデートセンターウィザードが表示されたら (図 1-1)、「Install Manually Downloaded Modules」を選択して、「Next」をクリックします。
  4. 図 1-1 モジュールの場所を選択
    手動でモジュールをダウンロードするオプションを選択

  5. 「Select Modules to Install」パネル (図 1-2) で「Add」をクリックし、Identity Manager IDE NetBeans プラグインファイル (com-sun-idm-ide.nbm) を特定して選択します。このファイルは、Identity Manager の image ディレクトリ内にあります。
  6. 図 1-2 インストールするモジュールの指定
    「追加」をクリックし、Identity Manager IDE .nbm モジュールを参照して選択します。

  7. 「Next」をクリックすると、「Select Modules to Install」パネルが表示されます。「Next」を再度クリックしてモジュールをダウンロードします。
  8. Identity Manager IDE 使用許諾契約書が表示されたら、「Accept」をクリックします。
  9. 「Download Modules」パネルが表示され、ダウンロード中のモジュールの状態が表示されます。「Next」をクリックします。
  10. 「View Certificates and Install Modules」パネルが表示され (図 1-3)、ダウンロードしたモジュールが一覧で示されます。モジュール名の横にあるチェックボックスを有効にします。
  11. 図 1-3 証明書を表示するモジュールの選択
    モジュールの証明書の表示。

  12. 署名のないモジュールをインストールするかどうかを確認するポップアップが表示されます。
    • モジュールのインストールを続行する場合は、「Yes」をクリックします。
    • インストールを続行しない場合は、「No」をクリックします。
  13. 「Finish」をクリックします。

NetBeans は Identity Manager IDE モジュールをインストールします。

これで、次の作業が可能になります。


Identity Manager IDE インタフェースの操作

Identity Manager IDE のインタフェース (図 1-4 に示す) は、IdM メニュー (NetBeans のトップレベルメニューバー上に配置) と、次の各ウィンドウで構成されています。

図 1-4 Identity Manager IDE ユーザーインタフェース

Identity Manager IDE インタフェースのグラフィカルな概要。


  • Identity Manager IDE を最初に開いたときに、これらすべてのウィンドウが表示されるわけではありませんが、アプリケーションのさまざまな機能を使用するときには、ウィンドウが自動的に開くか、または開くことができるようになります。
  • メニューオプションなど、NetBeans ユーザーインタフェースの一部となっている機能も表示されます。それらの機能については、このマニュアルでは説明しません。それらの機能については、NetBeans のオンラインヘルプや製品マニュアルを参照してください。

この節では、IdM メニューと Identity Manager IDE の各ウィンドウを紹介します。説明する内容は次のとおりです。 

IdM メニュー

Identity Manager IDE アプリケーションのインストールと設定が完了すると、IdM メニューが NetBeans のトップレベルメニューバーから利用可能になります。

IdM メニューを使えば、NetBeans Explorer で現在選択されているノードが何であれ、そのノードに適したアクションを選択できます。次に例を示します。

表 1-1 では、IdM メニューのすべてのオプションについて説明します。


ヒント


表 1-1 IdM メニューのオプション 

選択

実行されるアクション

Repository > Explore

「Explore Repository」ウィンドウを開き、Identity Manager IDE リポジトリの内容を参照できるようにします。1 つ以上のオブジェクトを選択したあと、次の操作を行えます。

  • 「Download」ボタンをクリックしてオブジェクトをローカルファイルシステムにダウンロードする。
  • 「Delete」ボタンをクリックして選択されたオブジェクトをリポジトリから削除する。

Repository > Open Object

あるオブジェクトをエディタウィンドウ内で開きます。

: ローカルファイルシステム上のオブジェクトしか開けません。リポジトリからまだダウンロードされていないオブジェクトを開こうとすると、Identity Manager IDE によって自動的に、そのオブジェクトがローカルファイルシステムにダウンロードされ、その後にそのオブジェクトがエディタ内で開かれます。

Repository > Checkout View

編集のためにユーザービューなどの特定のビューをリポジトリからチェックアウトします。

Repository > Upload Objects

ローカルファイルシステムのオブジェクトをリポジトリにアップロードします。詳細については、こちらを参照してください。

Repository > Diff Objects

ローカルファイルシステムのあるディレクトリ内のすべてのオブジェクトを、リポジトリ内の対応するオブジェクトと比較します。

Identity Manager IDE は、そのディレクトリ内のすべてのオブジェクトに対する差分処理をファイルシステム内で下方に再帰的に繰り返したあと、ローカルとリモートの XML コードを構文強調表示と行番号付きで左右に並べて比較します。

Repository > Manage Embedded Repository

: このメニューオプションは、Identity Manager Project (Remote) の場合や独自のリポジトリを指定する場合は使用できません。

「Manage Embedded Repository」ダイアログを開きます。このダイアログでは、現在のプロジェクトに対する次のリポジトリ設定を変更できます。

  • Repository Location: 別のリポジトリ場所を指定します。
  • Initialize Repository: これが有効になっていると、Identity Manager IDE は既存のデータファイルを削除し、idm.war から init.xml ファイルをインポートします。単にリポジトリの場所をすでに初期化された別のリポジトリに変更する場合には、このオプションを有効にしないでください。
  • Automatically Publish Identity Manager Objects: これが有効になっていると、ユーザーがプロジェクトを実行またはデバッグするたびに、Identity Manager IDE はプロジェクト内のすべての Identity Manager オブジェクトをリポジトリに自動的にアップロードします。

Repository > Reload Object

現在のプロジェクト内のオブジェクトを、リポジトリにある同じオブジェクトの新しいバージョンで置き換えるまたは上書きします。

Run LH command

Identity Manager IDE 内から lh コマンド (lh consolelh setup など) を実行します。

Set Identity Manager Instance

「Set Identity Manager Instance」ダイアログを開きます。このダイアログでは、ある特定のプロジェクトのコンテキストで次のアクションをどの Identity Manager インスタンスに適用するかを制御できます。

Debug Project
Repository > Explore
Repository > Open Project
Checkout View
Upload Object(s)
Diff Object(s)
Reload Object
Test Form
Test Rule

詳細は、「Identity Manager インスタンスの設定」を参照してください。

Clear Credentials Cache

ユーザーが「Remember Password」オプションを有効にしている場合に Identity Manager IDE が記憶しているパスワードが削除されます。

Options

  • Identity Manager IDE がリポジトリからオブジェクトをダウンロードする前に、自動生成されたリポジトリ ID のうち、指定された表現に一致するものをすべて削除します。ただし、ハードコードされた定義済みの ID は削除されません。

    この機能は、あるリポジトリから別のリポジトリにオブジェクトを移動する場合に役立ちます。
  • 「Exclude lastModDate」、「Exclude Ids」、または「Apply pattern substitution」オプションを有効または無効にすることで差分オプションを指定します。オブジェクトの差分処理の詳細については、「差分オプションの使用」を参照してください。

Test Form

ブラウザ内でフォームをテストします。

Test Rule

スタンドアロンおよびライブラリの規則に対して行なった変更を検証します。

エクスプローラウィンドウ

エクスプローラウィンドウは Identity Manager IDE の右上にあり、次の 3 つのウィンドウで構成されています。

プロジェクトウィンドウ

プロジェクトウィンドウは、Identity Manager IDE を開いたときにエクスプローラ内にデフォルトで表示され、開いているすべてのプロジェクトを垂直な論理ビューで示します。

プロジェクトノードを展開すると、プロジェクト内の次の XML オブジェクトが階層ビューで示されます。

XML オブジェクトを構成するほとんどの要素も、プロジェクトツリーのノードで表されます。


デフォルトでは、オブジェクトノードは、XML オブジェクト内と同じ順序でプロジェクトツリー内に表示されます。ただし、「Change Order」、「Insert Before」、「Insert After」、「Move Up」、または「Move Down」ポップアップメニューオプションを使えば、ツリー内 (および XML オブジェクト内) でのそれらの順序を変更できます。これらのオプションについては、表 1-2 を参照してください。


図 1-5 に、さまざまなトップレベルの XML ファイル、およびいくつかの変数ノード、ライブラリノード、規則ノード、および引数ノードを示します。

図 1-5 プロジェクトウィンドウ

デフォルトのプロジェクトビューが表示されたエクスプローラウィンドウ。

このウィンドウで任意のノードを右クリックすると、そのノードに関係する各種タスクの実行を可能にするオプションを含む、ポップアップメニューが表示されます。


メニューオプションのいくつかは NetBeans アプリケーションによって提供されていますが、このマニュアルではそれらのオプションについては説明しません。
それらのオプションについては、NetBeans のオンラインヘルプや製品マニュアルを参照してください。


表 1-2 に、Identity Manager IDE に関係するポップアップメニューオプションの概要を示します。

表 1-2 Identity Manager IDE ポップアップメニューのオプション 

ノード

メニューオプション

説明

Project

Debug Project

プロジェクトをデバッグするときに選択します。

 

Close Project

プロジェクトを閉じるときに選択します。

 

Repository >

リポジトリを参照したり、オブジェクトのオープン、アップロード、または差分処理を行なったり、ビューをチェックアウトしたり、組み込みリポジトリを管理したりする場合に選択します。

Object Node

Add

このプロジェクトの新規オブジェクトを作成するときに選択します。

CVS

Identity Manager IDE
内から CVS バージョン制御ファイルを管理するときに選択します。

Repository

リポジトリからローカルファイルシステムにオブジェクトをダウンロードするとき、ローカルファイルシステムからリポジトリにオブジェクトをアップロードするとき、およびビューをチェックアウトするときに選択します。

Find

プロジェクト内でテキスト、オブジェクト名、オブジェクトタイプ、および日付を検索するときに選択します。プロジェクトウィンドウですべてのプロジェクトを検索することも、特定の場所を選択して検索することも可能です。

Cut、Copy、Paste

オブジェクトをカットアンドペーストやコピーアンドペーストするときに選択します。

Delete

選択したオブジェクトをプロジェクトから削除するときに選択します。

Refactor

オブジェクトのコード構造を変更し、この変更が反映されるように残りのコードを更新するときに選択します。

Tools

JUnit テストの作成、お気に入りへの追加、国際化の管理、または相違パッチの適用を行うときに選択します。

Properties

選択されたオブジェクトのプロパティー (TaskDefinition プロパティー、設定プロパティー、リポジトリプロパティーなど) を表示および編集するときに選択します。

 

Add element

アクション、引数、アクティビティー、フォーム、オブジェクト参照、プロセス、プロパティー、結果、戻り値、規則、遷移、または変数をオブジェクトに追加するときに選択します。

: オブジェクトノードのタイプによって、どの要素を追加できるかが決まります。たとえば、アクションオブジェクトには、引数、フォーム、結果、戻り値、および変数を追加できます。

 

Change Order

複数のオブジェクトの順序を一度に変更するときに選択します。

「Change Order」ダイアログが表示されます。このダイアログでは、複数のオブジェクトを上方または下方に移動することで、プロジェクトツリー内および XML オブジェクト内でのそれらの位置を変更できます。

 

Insert Before

選択されたオブジェクトノードを、プロジェクトツリー内の指定されたオブジェクトノードの上に移動するときに選択します。

 

Insert After

選択されたオブジェクトノードを、プロジェクトツリー内の指定されたオブジェクトノードの下に移動するときに選択します。

 

Move Up

選択されたオブジェクトノードをプロジェクトツリー内の上方に移動するときに選択します。

 

Move Down

選択されたオブジェクトノードをプロジェクトツリー内の下方に移動するときに選択します。

ファイルウィンドウ

ファイルウィンドウを選択してノードを展開すると、プロジェクトウィンドウでは表示されないファイルやフォルダを含め、プロジェクトがディレクトリベースで表示されます。

プロジェクトビルドスクリプトやプロパティーファイルなどのプロジェクト設定ファイルを、開いたり、編集したりすることができます。


新しいプロジェクトを作成すると、Identity Manager IDE によって自動的に、README.txt ファイルが作成されます。

プロジェクトのファイルシステムの詳しい概要を表示する (あるいは別の設定ビルド環境 (CBE) で動作するようにプロジェクトの構造を変更する) には、ファイルウィンドウで README.txt をダブルクリックします。すると、エディタウィンドウに情報が表示されます。


実行時ウィンドウ

実行時ウィンドウは、DTD および XML スキーマカタログの下にある Identity Manager カタログ (waveset.dtd) に読み取り専用アクセスする場合に選択します。

エディタウィンドウ

エディタウィンドウにはツールバーと表示エリアがあり、デザインビューとソースエディタビューでオブジェクトを操作できます。

ツールバー上のほかのボタンは、どちらのビューを選択したかに応じて変わります。


パレットウィンドウからエディタウィンドウには、項目をドラッグすることができます。たとえば、次のようにします。

  • 新規の Workflow サービス、承認、ユーザー、および Workflow タスクをエディタにドラッグして、ワークフローに使用できます。
  • 新規のフィールドをエディタにドラッグして、フォームに使用できます。

項目をデザインビューにドラッグすると、プロジェクトおよびファイルの両方のビューの XML ソースとノードツリーが更新されます。詳細については、「パレットウィンドウ」を参照してください。


規則のデザインビュー

この節では、規則とワークフローのデザインビューエディタについて説明します。

規則のデザインビューエディタは、規則の論理構造を確認したり規則のプロパティーを変更したりしやすくするための式ビルダー (図 1-6) を提供します。

図 1-6 規則のデザインビューの例

AccountName - First dot Last.xml 規則のデザイン - 規則ビューを示す例。

ある規則をデザインビューで開くには、その規則をプロジェクトウィンドウでダブルクリックするか、その規則のノードを選択してから「Design」ボタンをクリックします。

式ビルダーを使用する手順については、「「Expression Builder」ダイアログの使用」を参照してください。

ワークフローのデザインビュー

ワークフローのデザインビューエディタにはワークフローが図示され (図 1-7)、図中の各ノードは特定のプロセスアクティビティーを、線は遷移を表現します。

図 1-7 ワークフローのデザインビューの例

debugger-tutorial-workflow1.xml オブジェクトのデザインビューの例

ワークフローのデザインビューを操作するには、あるワークフローをプロジェクトウィンドウでダブルクリックするか、そのワークフローのノードを選択してから「Design」ボタンをクリックします。

デザインビューでは、ツールバーを使用して次のタスクを実行できます。

表 1-3 デザインビューのツールバーボタン

クリックするボタン

実行されるタスク

アクティビティーの追加

Add Activity:

ワークフローにアクティビティーを追加する場合にクリックします。

アクティビティーの削除

Remove Activity:

1 つ以上のアクティビティーをワークフローから削除する場合にクリックします。
複数のアクティビティーを削除するには、Ctrl キーを押したままノードを選択します。

ワークフローのレイアウトを設定

Layout:

ワークフローのレイアウトを設定する場合にクリックします。アクティビティーが無秩序に配置されている場合には、それらをリセットして編成します。

ワークフローの妥当性検査

Validate XML:

ワークフローの妥当性検査を行う場合にクリックします。妥当性検査情報は出力ウィンドウに表示され、通常はソースエディタビュー内の特定の行に移動するハイパーリンクが提供されます。このリンク先で XML を表示または修正できます。

これらのボタンに加え、ワークフローセレクタメニューを使用して (このツールバーにも用意されている)、デザインビューでワークフローやワークフローのサブプロセスを選択して作業できます。

ワークフローをデザインビューで編集すると、ワークフローライブラリから読み込まれる項目が、パレットウィンドウに表示されます。これらの項目をパレットからドラッグしてデザインビューにドロップし、図の中にアクティビティーノードを作成することができます。このとき、プロジェクトビューとファイルビューの XML ソースとノードツリーも更新されます。詳細については、「パレットウィンドウ」を参照してください。

ソースエディタビュー

ソースエディタは完全な機能を備えたテキストエディタであり、選択されたオブジェクトのフィルタリングされていない XML を表示します。さらに、ソースエディタは、エクスプローラプロジェクトウィンドウおよびデバッガと統合されています。

ソースエディタビューを開くには、次のいずれかを実行します。

表 1-4 では、ソースエディタビューで提供されるツールバーボタンについて説明しています。各タスクのキーボードショートカットも示しています。

表 1-4 ソースエディタビューのツールバーボタン (およびショートカット)  

使用するボタン

実行されるタスク

ソースエディタビュー: 「戻る」および「進む」ボタン

「Back」 (Alt+K) および「Forward」 (Alt+L): これらのボタンをクリックすると、「Source Editor」ウィンドウで行なった直前の編集に戻るか、または次の編集に進みます。

ソースエディタビュー: 「検索」ボタン

これらのボタンを使用して、カーソルの挿入ポイントを次のように移動します。

  • 「Find Previous Occurrence」 (Shift+F3): このボタンをクリックすると、直前に検索したテキストを検出して、そこに挿入ポイントを移動します。
  • 「Find Selection」 (Ctrl+F3): このボタンをクリックすると、現在カーソルが挿入されている項目を検索します。
  • 「Find Next Occurrence」 (F3): このボタンをクリックすると、検索するテキストの次の出現を検出して、そこに挿入ポイントを移動します。

ソースエディタビュー: 「強調表示の切り替え」および「ブックマーク」ボタン

これらのボタンを使用して、次のように機能をオンまたはオフに切り替えます。

  • 「Toggle Highlight Search」 (Alt+Shift+H): このボタンをクリックして、検索テキストの強調表示をオン/オフにします。
  • 「Toggle Bookmark」 (Ctrl+F2): 行を強調表示してからこのボタンを押すと、現在の行にブックマークが挿入されるか、または現在の行からブックマークが削除されます。

ソースエディタビュー: 「ブックマーク」ボタン

「Next Bookmark」 (F2) および「Previous Bookmark」 (Shift+F2): これらのボタンをクリックすると、XML ソース内の次のブックマークまたは直前のブックマークを検出します。

ソースエディタビュー: 「一致した単語」ボタン

「Next Matching Word」 (Ctrl+L) および「Previous Matching Word」 (Ctrl+K): XML ソース内で単語を選択してからこれらのボタンをクリックすると、その単語の次または直前の出現を検出します。

ソースエディタビュー: 「行をシフト」ボタン

「Shift Line Left」 (Ctrl+D) および「Shift Line Right」 (Ctrl+T): これらボタンをクリックすると、選択した行のインデントがタブ一段分減少または増加します。

ソースエディタビュー: 「マクロ記録を開始」および「マクロ記録を停止」ボタン

「Start Macro Recording」 (Ctrl+J S) および「Stop Macro Recording」 (Ctrl+J E): これらのボタンをクリックして、キーストロークやカーソルの移動を含む、マクロの記録を開始または停止します。

ソースエディタビュー: 「XML の検査」および「XML の妥当性検査」ボタン

これらのボタンを使用して、次のように XML ソースを検査または妥当性検査します。

  • 「Check XML」 (Alt+F9): このボタンをクリックすると、オブジェクトの XML が正しく整形式であるかを検査します。出力ウィンドウには XML ソースのエラーが特定され、通常はソースエディタ内のその行へのハイパーリンクが提供されて、問題を訂正することができます。
  • 「Validate XML」 (Alt+Shift+F9): このボタンをクリックすると、オブジェクトの XML を DTD に対して妥当性検査します。妥当性検査情報は出力ウィンドウに表示され、通常はソースエディタビュー内の特定の行に移動するハイパーリンクが提供されます。このリンク先で XML を表示または修正できます。

ソースエディタ内でブレークポイント (プロセス実行内での個別の停止ポイント) を設定するには、XML タグのすぐ横の左マージンをクリックします。たとえば、<WFProcess...> タグの横のマージンをクリックすると、ワークフローの開始位置にブレークポイントを設定できます。

図 1-9 にブレークポイントの例を示します。

図 1-9 ブレークポイントの例

ブレークポイントの例

パレットからのドラッグ

編集のためにオブジェクトを選択すると、パレットウィンドウ (こちらを参照) が通常 Identity Manager IDE の右上に、ワークフローライブラリおよび XPRESS カテゴリの項目とともに自動的に表示されます。項目を「Palette」からソースエディタの行にドロップして、XML ソース内のそのポイントに XML テキストを作成できます。

呼び出しの挿入

ソースエディタで開かれた XML ファイル内で右クリックすると、次の挿入オプションを含むポップアップメニューが表示されます。

いずれかのオプションを選択すると「Insert Invoke」ダイアログが開くので、そこで次の情報を指定します。

図 1-10 に、JavaDoc が表示された「Insert Invoke」ダイアログの例を示します。

図 1-10 JavaDoc を含む「Insert Instance Invoke」ダイアログの例

JavaDoc を含む「Insert Instance Invoke」ダイアログの例

「OK」をクリックすると、Identity Manager IDE によって、XML ソース内のその位置に XML テキストが自動生成されます。


ワークフローのプロセスまたはサブプロセスを操作している場合、単純な計算を実行したり Java クラスや JavaScript を呼び出して複雑な処理を行なったりするために、「アクション」式を追加できます。


パレットウィンドウ

パレットウィンドウ (図 1-11 など) を使えば、XML を入力することなしに、エディタウィンドウ内に表示された電子メールテンプレート、フォーム、汎用オブジェクト、ライブラリ、ワークフロープロセス、またはワークフローサブプロセスオブジェクトに要素を「ドラッグ&ドロップ」できます。

図 1-11 Delete User オブジェクトのパレットウィンドウの例

Delete User ワークフロープロセスオブジェクトのパレットウィンドウでのドラッグアンドドロップの例。

たとえば、フィールドをフォームオブジェクトにドラッグしたり、規則をライブラリオブジェクトにドラッグしたり、ワークフローサービス、承認、ユーザー、およびワークフロータスクをワークフロープロセスやワークフローサブプロセスオブジェクトにドラッグしたりできます。

プロジェクトツリーでオブジェクトをダブルクリックすると、パレットウィンドウが通常は Identity Manager IDE の右上に表示され、次のように編集ビューの種類に応じてさまざまな要素にアクセスできるようになります。

項目をいずれかのエディタウィンドウにドラッグすると、XML ソース、プロジェクト/ファイルビュー内のノードツリーの両方が更新されます。


オブジェクトに要素を追加したあと、プロジェクトツリー内および XML オブジェクト内におけるそれらの要素の順序を、各種ポップアップメニューオプションを使って変更できます。「Change Order」、「Insert Before」、「Insert After」、「Move Up」、「Move Down」の各オプションについては、表 1-2 を参照してください。


プロパティーウィンドウ

Identity Manager IDE のプロパティーウィンドウは、電子メールテンプレート、フォーム、汎用オブジェクト、ライブラリ、規則、ワークフロープロセス、およびワークフローサブプロセスオブジェクトに関連付けられた XML 要素に対応する、1 枚のプロパティーシートから構成されます。このプロパティーシートを使えば、オブジェクト名、ファイルサイズ、変更時刻、結果情報など、選択されたオブジェクトのプロパティーを表示および編集できます。

次のいずれかの方法で、プロパティーウィンドウを開きます。

プロパティーウィンドウが開いているときに、オブジェクトノードをダブルクリックしてウィンドウの内容を更新することができます。

図 1-12 プロパティーウィンドウの例

Create User のプロジェクトウィンドウの例


プロパティーシートを使ってオブジェクトの XML 要素を変更する手順については、「オブジェクトの編集」を参照してください。



ヒント

プロパティーウィンドウを使用しない方法として、ツリー内でオブジェクトノードを右クリックし、ポップアップメニューから「Properties」を選択する方法があります。表示される「Properties」ダイアログには、プロパティーウィンドウの場合と同じオブジェクトプロパティーシートが含まれます。


出力ウィンドウ

出力ウィンドウには、Identity Manager IDE がデバッグ中にエラーを検出したときに返すメッセージが表示されます。このメッセージには通常、エラーの原因となったソースコードの行へのハイパーリンクが含まれます。

出力ウィンドウはデバッガを実行すると自動的に開きますが、メインメニューバーで「Window」>「Output」の順に選択して開くこともできます。

図 1-13 出力ウィンドウの例

出力ウィンドウの例

デバッガウィンドウ

Identity Manager IDE デバッガは、Java デバッガと BPE に備わっているデバッガの両方に似ています。コード内で行、グローバル、ビュー、またはフォームサイクルにブレークポイントを設定し、デバッガを開始して XML 内でコードを停止することができます。

さらに、Identity Manager IDE デバッガは、規則テスターおよびフォームテスターと統合されているほか、ウォッチポイントを追加して特定の変数の値を表示できるようにもなっています (これらの機能についてはこの章で後述する)。

デバッガには、XML ソースのトラブルシューティングに便利な次のウィンドウが提供されています。

ブレークポイントウィンドウ

ブレークポイントウィンドウには、現プロジェクトに設定したすべてのブレークポイントが、ブレークポイントの簡単な説明およびブレークポイントが現在有効か無効かを示すブール型フラグとともに一覧表示されます。

メインメニューバーで「Window」>「Debugging」>「Breakpoints」の順に選択すると、ブレークポイントウィンドウが開きます。

図 1-14 ブレークポイントウィンドウの例

ブレークポイントウィンドウの例。

ブレークポイントウィンドウで「Enabled」プロパティーを変更することにより、ブレークポイントを有効化または無効化できます。

呼び出しスタックウィンドウ

デバッガを実行すると、Identity Manager IDE は自動的に呼び出しスタックウィンドウを起動します。

デバッガがブレークポイントに達すると、スレッドがブレークポイントに到達するまでに実行した一連の呼び出しである実行スタックが、呼び出しスタックウィンドウに表示されます。XPRESS では、これらの呼び出しは BLOCKCASE などの XPRESS 操作です。

追加の関数が呼び出しチェーンに出現する場合、これらの関数は順番に一覧表示されます。このリストはスタックトレースと呼ばれ、リストにはプログラムのライフサイクルのその時点での実行スタックの構造が表示されます。


呼び出しスタックウィンドウを閉じるかまたは別の理由でこのウィンドウが利用できなくなった場合は、メインメニューバーから「Window」>「Debugging」>「Call Stack」の順に選択することで、もう一度ウィンドウを開くことができます。


ローカル変数ウィンドウ

ローカル変数ウィンドウには、デバッガがブレークポイントで停止したときに、現時点の実行範囲内にあるすべての変数がリストされます。変数は、次のタイプの値を表します。

デバッグがアクティブでないときや、実行がブレークポイントで停止していないときは、ローカル変数ウィンドウは空白になります。

現在の要素が XPRESS 終了タグである場合、デバッガを停止すると、最後の評価の結果がローカル変数ウィンドウに表示されます。この評価値は、最後の値が意味を持つ他のタグにも適用されます。たとえば、Identity Manager が <Argument> タグをワークフローサブプロセスに対して評価すると、引数値がローカル変数ウィンドウに表示されます。


  • XPRESSの実行中には、ローカル変数ウィンドウに変数が表示されません。
  • デバッグが停止しているとき、Last Value エントリは空白となります。

ウォッチポイントウィンドウ

デバッガでは、ウォッチポイントを使用でき、デバッガ実行時に変数や式の値に加えられる変更を追跡することができます。有効な XPRESS 式であれば、ウォッチポイントになります。

ウォッチポイントを指定すると、プロジェクトをデバッグするときに監視対象になるすべての変数、式、タイプ、および値がウォッチポイントウィンドウに一覧表示されます。このリストには、XML ソース内のオブジェクトタイプに移動するハイパーリンクが含まれている場合もあります。

デバッガを起動すると、Identity Manager IDE はウォッチポイントウィンドウを自動的に起動します。または、メインメニューバーから「Window」>「Debugging」>「Watches」の順に選択することもできます。

キーボードショートカットの使用

NetBeans を使用することにより、Identity Manager IDE ではさまざまなキーボードキーの組み合わせを使って、コマンドを実行したり、Identity Manager IDE 内でナビゲートしたりすることができます。次の操作が可能です。

使用可能なキーボードショートカットの詳細な説明、およびそれらの使用手順については、オンラインヘルプを参照してください。


ショートカットを割り当てるには、「Tools」>「Options」の順に選択し、「Options」ダイアログが表示されたら「Keymap」を選択します。



Identity Manager IDE プロジェクトの操作

Identity Manager IDE を効果的に使用するには、Identity Manager IDE プロジェクトの一部の基本的な概念について理解することも必要です。ここでは、次の内容を説明します。

プロジェクトとは何か

「プロジェクト」とは、ある配備のすべてのカスタマイズを制御するソースファイル (JSP、Java、および Identity Manager オブジェクト) やビルドスクリプトなどのコレクションのことです。

プロジェクトは特定のリポジトリに関連付けられます。複数のプロジェクトを 1 つのリポジトリに関連付けることは可能ですが、1 つのプロジェクトにつき 1 つのリポジトリにしか関連付けられません。


Identity Manager IDE プロジェクトを使用することにより、CVS と直接対話することができます。詳細については、NetBeans マニュアルを参照してください。


Identity Manager IDE 向けに次のいずれかのタイプのプロジェクトを作成できます。

プロジェクトの作成

新規プロジェクトを作成するには、次の手順に従います。

  1. 「File」>「New Project」の順に選択します。
  2. 新規プロジェクトウィザードが表示されたら (図 1-15)、「Categories」リストから「Web」を選択して、作成するプロジェクトのタイプを指定します。
  3. 図 1-15 新規プロジェクトウィザード: カテゴリの指定
    「Categories」リストから「Sun Identity Manager」を選択します。

  4. 「Projects」リストから、次のサンプル Identity Manager プロジェクトの 1 つを選択します。
    • Identity Manager Project: 次のような完全な機能を備えた開発環境が必要な場合に、このプロジェクトを選択します。
      • サンプルの設定ビルド環境 (CBE)
      • カスタム Java コードおよび JSP を管理する機能
      • NetBeans 組み込みアプリケーションサーバーと統合されているため、Identity Manager war をローカルに配備できる
      • 統合された Java、JSP、ワークフロー、フォーム、および XPRESS のデバッグ
      • 組み込みデータベースリポジトリ
    • Identity Manager Project (Remote): 小規模な変更を加えたり外部サーバー上でデバッグを行なったりする場合に、このプロジェクトを選択します。

      このタイプのプロジェクトには、完全な Identity Manager プロジェクトと同じ編集機能がすべて備わっていますが、ビルド環境は提供されておらず、Identity Manager.war ファイル (idm.war) を起動することもできません。

  5. 完了したら、「Next」をクリックします。

Identity Manager IDE は、さまざまなバージョンのサーバーと連携動作するようになりました。 

各 Identity Manager IDE プロジェクトはある特定の Identity Manager バージョンに関連付けられるため、Identity Manager IDE では、互換性バンドル (Identity Manager JAR ファイルと、バージョン固有の情報を含むいくつかの XML レジストリを提供する ZIP ファイル) が、サポートされている Identity Manager バージョンごとに必要となります。

Identity Manager プロジェクトの作成

完全なプロジェクトの作成を完了するには、次の手順を実行します。

  1. プロジェクトのデフォルトの名前、場所、および Identity Manager プロジェクトの格納先となるフォルダを含む「Name and Location」パネルが表示されます。
    • デフォルトの場所で問題ない場合は、「Next」をクリックします。
    • 別の場所を指定する場合は、デフォルトの情報を変更してから「Next」をクリックします。 
    • 図 1-16 新規プロジェクトウィザード: プロジェクト格納場所の指定
      新規プロジェクトの名前と場所を指定します。

  2. 「Identity Manager WAR File Location」画面が表示されたら、Identity Manager の idm.war ファイルへのパスを指定したあと、「Next」をクリックします。
  3. 図 1-17 新規プロジェクトウィザード: WAR ファイルの場所の指定
    新規プロジェクトの idm.war ファイルの場所を指定します。

  4. 「Repository Setup」画面 (図 1-18) が表示されたら、次のいずれかのリポジトリ設定オプションを選択します。
    • 組み込みリポジトリを Identity Manager IDE に作成させる場合は、「Create Embedded Repository」オプションを有効にし、手順 4 に進みます。

    • 「Create Embedded Repository」を選択すると、Identity Manager IDE によって、デフォルトの「sandbox」CBE ターゲットに対する組み込みリポジトリが作成されます。

      追加のターゲットを指定した場合、その追加ターゲットに対して 「Manage Embedded Repository」も選択するか、あるいは lh setup または setRepo コマンドを実行する必要があります。


    • 既存のリポジトリを別のプロジェクトから再利用する場合には、「Skip Repository Setup」オプションを有効にし、「リポジトリの手動設定」の手順に進みます。
    • 図 1-18 新規プロジェクトウィザード: リポジトリの設定
      組み込みリポジトリを作成するか、ユーザー独自のリポジトリを手動で設定します。

  5. 組み込みリポジトリのデータファイル用のディレクトリを指定します。
  6. 既存のデータファイルを削除し、idm.war から init.xml ファイルをインポートするには、「Initialize Repository」を有効にします。

  7. 別のプロジェクトのリポジトリを再利用する場合は、このオプションを必ず無効にしてください。


  8. プロジェクトを実行またはデバッグするたびにプロジェクト内のすべての Identity Manager オブジェクトをリポジトリに自動的にパブリッシュするには、「Automatically Publish Identity Manager Objects」を有効にします。

  9. このオプションは、Identity Manager Project (Remote) の場合や独自のリポジトリを指定する場合は使用できません。


  10. 「Finish」をクリックします。
  11. Identity Manager IDE がリポジトリの設定を行なっている間、「Creating Project」ダイアログが表示されます。Identity Manager IDE がデータファイルを削除し、init.xml ファイルをインポートするため、この処理には多少の時間がかかります。

    ダイアログが閉じると設定が完了し、BUILD SUCCESSFUL というメッセージが Identity Manager IDE の出力ウィンドウに表示されます。

エクスプローラウィンドウで「Files」タブを選択し、トップレベルのノードを展開すれば、新しいプロジェクトに関連付けられたファイルを確認できます。


新しいプロジェクトを作成すると、Identity Manager IDE によって自動的に、README.txt ファイルが作成されます。

プロジェクトのファイルシステムの詳しい概要を表示する (あるいは別の CBE で動作するようにプロジェクトの構造を変更する) には、ファイルウィンドウで README.txt をダブルクリックします。すると、エディタウィンドウに情報が表示されます。


リポジトリの手動設定

Identity Manager でサポートされている任意のタイプのリポジトリを使用するようにプロジェクトを設定することができます。


リポジトリの手動設定は、現在選択されている CBE ターゲットのリポジトリに影響を与えます。詳細は、「Identity Manager インスタンスの設定」を参照してください。


設定手順はリポジトリのタイプごとに異なるため、次の例は、そのプロセスを示すために提供されたものです。

MySQL リポジトリを設定するには、次の手順を実行します。

  1. mysqljdbc.jar をプロジェクトの custom/WEB-INF/lib ディレクトリにコピーします。
  2. Identity Manager IDE のプロジェクトウィンドウで、project name を右クリックし、ポップアップメニューから「Run LH Command」を選択します。
  3. 「Enter LH Command to Run」ダイアログが表示されたら、「LH Command」フィールドに setup と入力したあと、「OK」をクリックします。
  4. 出力ウィンドウの下に「Input」フィールドが表示され、いくつかの概要情報を含む Sun 設定ウィザードが表示されます。

  5. 情報を読み終わったら、「Next」をクリックします。
  6. 「Locate the Repository」画面が表示されたら、次の情報を入力したあと、「Next」をクリックします。
    1. メニューからリポジトリタイプを選択します。
    2. URL、JDBC ドライバ、および接続情報を確認し、必要であれば変更します。
  7. 「Setup Demo?」画面が表示され、デモ環境の設定を継続するかどうかを尋ねられます。「No, I will configure Identity Manager myself」をクリックしてから「Next」をクリックします。
  8. 「Save Configuration」画面が表示されたら、「Execute」をクリックすることで、init.xml ファイルのインポートと Identity Manager 設定の保存を行います。
  9. インポートが完了したら、「Done」をクリックします。

Identity Manager Project (Remote) の作成

リモートプロジェクトの作成を完了するには、次の手順を実行します。

  1. プロジェクトのデフォルトの名前、場所、および Identity Manager プロジェクトの格納先となるフォルダを含む「Name and Location」パネルが表示されます。
    • デフォルトの場所で問題ない場合は、「Next」をクリックします。
    • 別の場所を指定する場合は、デフォルトの情報を変更してから「Next」をクリックします。 
    • 図 1-19 新規プロジェクトウィザード: プロジェクト格納場所の指定
      新規リモートプロジェクトの名前と場所を指定します。

      「Identity Manager IDE Compatibility Bundle File Location」画面が表示されます。


      Identity Manager IDE はさまざまなバージョンのサーバーと連携動作でき、各 Identity Manager IDE プロジェクトはある特定の Identity Manager バージョンに関連付けられるため、IDE 互換性バンドル (Identity Manager JAR ファイルと、バージョン固有の情報を含むいくつかの XML レジストリを提供する ZIP ファイル) を、サポートされている Identity Manager バージョンごとに指定する必要があります。


  2. 接続先サーバーのバージョンに対応する IDE 互換性バンドルを指定したあと、「Next」をクリックします。
  3. リモートプロジェクトの場合、IDE 互換性バンドルファイルは <Identity Manager のインストールルート>/sample/ide-bundle.zip 内に格納されています。

    図 1-20 新規プロジェクトウィザード: IDE 互換性バンドルファイルの場所の指定
    新規プロジェクトの idm.war ファイルの場所を指定します。

  4. 「Identity Manager Server Settings」画面 (図 1-21) が表示されたら、次の情報を入力して開発用 Identity Manager インスタンスへの接続方法を定義したあと、「Finish」をクリックします。

    • Identity Manager IDE はリモート (SOAP) 接続をサポートします。
    • リモート接続を設定する際、Identity Manager IDE はこの接続を使用してオブジェクトをアップロードまたはダウンロードします。

    • 「Host」 - プロジェクトが実行されているホストの名前を入力します。
    • 「Port」: ディレクトリサーバーが待機する TCP ポートの番号を入力します。
    • Identity Manager IDE で接続を開くときに SSL を使用する場合は、「Secure Connection」ボックスを有効にします。

    • 「Context Path」: Identity Manager インストールのコンテキストルート (/idm など) を入力します。
    • 「User」: 管理者のユーザー名を入力します。
    • 「Password」: 管理者のパスワードを入力します。
    • Identity Manager IDE がパスワードを記憶して、将来のセッションでパスワードが自動的に入力されるようにする場合は、「Remember Password」ボックスを有効にします。

      図 1-21 新規プロジェクトウィザード: サーバー設定の指定
      リモートプロジェクトのサーバー設定を指定します。

  5. 「Finish」をクリックします。
    • リモートサーバーへの接続が成功すると、プロジェクトのノードが Identity Manager IDE のプロジェクトウィンドウ (左上端) に表示されます。
    • 接続に失敗すると、ウィザードのウィンドウ内にエラーメッセージが表示され、失敗に関する情報が提供されます。問題を解決し、「Finish」を再度クリックしてください。

    • ヒント

      • 組み込みサーバーに接続しているのではないことに注意してください。接続が失敗する場合は、リモートサーバーが動作していることを確認してください。
      • 既存のプロジェクトのプロパティーを編集する際にも、Identity Manager IDE の接続をテストできます。

既存プロジェクトの選択

既存のプロジェクトを開くには、次の手順に従います。

  1. 「File」>「Open Project」の順に選択します。
  2. 「Open Project」ダイアログが表示されたら (図 1-22)、使用するプロジェクトフォルダを参照して「Open Project Folder」をクリックします。
  3. 図 1-22 「Open Project」ダイアログ
    「Open Project」ダイアログを使用して、既存のプロジェクトを参照および選択します。

    すでに 1 つまたは複数のプロジェクトが開かれている場合は、右上の「Open as Main Project」チェックボックスがアクティブになります。

  4. このプロジェクトをメインプロジェクトとして指定する場合は、このボックスを有効にします。
  5. 「Open Project Folder」をクリックすると、選択したプロジェクトがエクスプローラウィンドウに追加されます。

Identity Manager インスタンスの設定

ある特定のプロジェクトのコンテキストで次のアクションをどの Identity Manager インスタンスに適用するかを制御するには、「Set Identity Manager Instance」機能を使用します。

「Set Identity Manager Instance」ダイアログ (図 1-23) を開くには、次のいずれかの方法を使用します。

プロジェクトの接続設定の確認

プロジェクトの外部接続設定を表示するには、「Identity Manager Instance」の次のオプションのいずれかを有効にします。

現在の CBE ターゲットの設定

すべてのビルドアクション (「Build Project」、「Run Project」、および「Debug Project」) に対する現在の CBE ターゲットを指定するには、次の手順に従います。

  1. 「Current CBE Target」メニューからターゲットを選択します。

  2. 選択されたターゲットは、各 *-target.properties ファイル内の %%CUSTOM_SERVER_REPOSITORY%% を指定することで、どのリポジトリが使用または設定されるかも制御します。

    たとえば、CBE ターゲットを dev に設定し、「IdM」>「Repository」>「Manage Embedded Repository」の順に選択した場合 (あるいは「IdM」>「Run LH Command」の順に選択し、setRepo または setup と入力した場合)、Identity Manager IDE は dev-target.properties 内を検索して %%CUSTOM_SERVER_REPOSITORY%% を取得しますが、その内容は nbproject/private/dev-ServerRepository.xml です。次に Identity Manager IDE は、nbproject/private/dev-ServerRepository.xml を指定されたリポジトリに設定します。

    • 「Build Project」アクションを実行した場合、生成された war ファイルには、nbproject/private/dev-ServerRepository.xml に等しい ServerRepository.xml が含まれています。
    • ユーザーが「Run Project」または「Debug Project」アクションを実行すると、Identity Manager IDE は、nbproject/private/dev-ServerRepository.xml に等しいサーバーリポジトリを使って、NetBean の組み込みアプリケーションサーバー内の war ファイルを起動します。

  3. 1 つ以上のファイルをリポジトリにアップロードするたびに、<target-name>.properties 内で定義されたパターン置換を Identity Manager IDE に適用させる場合は、「Apply Pattern Substitutions on File Upload」ボックスを有効にします (ここで、target-name は「Current CBE Target」で選択されたターゲットである)。

ターゲットが複数存在する場合のこの機能がどのように動作するかを確認するために、次のようにして、2 つのリポジトリを使って 2 つのターゲットを作成します。

  1. 新しい (フル機能版の) Identity Manager プロジェクトを作成し、「Repository Setup」画面が表示されたら「Create Embedded Repository」を選択します。
  2. 「Finish」をクリックすることで、リポジトリを作成し、現在のターゲットを「sandbox」に設定します。
  3. アプリケーションサーバーを起動します。
  4. 「Projects」タブからプロジェクトノードを右クリックし、メニューから「Run Project」を選択します。

  5. Identity Manager のブラウザが開いたらログインし、sandbox-user という名前のユーザーを作成します。
  6. アカウントの作成後に「List Accounts」タブを選択すると、sandbox-user が表示されるはずです。

  7. アプリケーションサーバーを停止します。
  8. Identity Manager IDE の「Runtime」タブから「Servers」ノードを展開し、「Bundled Tomcat」を右クリックしたあと、ポップアップメニューから「Stop」を選択します。

  9. サーバーが停止したら、Identity Manager IDE の「Projects」タブに戻ってプロジェクトノードを右クリックし、「Set Identity Manager Instance」を選択します。
  10. 「Set Identity Manager Instance」ダイアログが表示されたら、「Current CBE Target」を dev に変更したあと、「OK」をクリックします。 
  11. プロジェクトのクリーンアップを確認するプロンプトが表示されたら、「Yes」を選択します。
  12. 次に、dev ターゲット用のリポジトリを作成します。
    1. プロジェクトノードを右クリックし、メニューから「Repository」>「Manage Embedded Repository」の順に選択します。
    2. 最初のリポジトリで使用したのとは異なる場所を、dev ターゲット用として指定します。
    3. 「Initialize Repository」オプションを有効にしてから「OK」をクリックします。
  13. 出力ウィンドウに BUILD SUCCESSFUL メッセージが表示されたら、プロジェクトノードを右クリックし、「Run Project」を選択します。
  14. NetBeans のログに、Preparing image for environment target: dev と記録されます。

  15. Identity Manager にログインし、dev-user という名前の新しいユーザーを作成します。
  16. ここで「List Accounts」タブを選択すると、新しい dev-user が表示されるはずですが、sandbox-user は表示されません。

  17. 元の sandbox ターゲットに切り替えます。
    1. サーバーを停止します。
    2. プロジェクトノードを右クリックし、「Set Identity Manager Instance」>「Current Target」>「sandbox」の順に選択します。
    3. プロジェクトのクリーンアップを確認するプロンプトが表示されたら、「Yes」を選択します。
    4. プロジェクトノードを右クリックし、メニューから「Run」を選択します。
  18. Identity Manager にログインし、「List Accounts」を選択すると、sandbox-user が利用可能になっていることがわかります。


組み込みリポジトリの管理

現在のプロジェクトに対する次のリポジトリ設定を変更するには、「IdM」>「Repository」>「Manage Embedded Repository」の順に選択します。


組み込みリポジトリの管理は、現在選択されている CBE ターゲットのリポジトリに影響を与えます。詳細は、「Identity Manager インスタンスの設定」を参照してください。



リポジトリオブジェクトの操作

Identity Manager IDE では、BPE の場合のように直接リポジトリ内で作業するのではなく、ローカルファイルシステム上でリポジトリオブジェクトを操作できます。

ここでは、次の内容を説明します。

サポートされているオブジェクトタイプ

Identity Manager IDE では、次のオブジェクトタイプを操作できます。

ビューのチェックアウト

Identity Manager IDE を使用することにより、編集のためにユーザービューなどの特定のビューをリポジトリからチェックアウトできます。


通常は、ビューのチェックアウト機能を使用してユーザーを更新しないでください。ビューの動作を理解する助けとして、この機能を紹介しているにすぎません。Identity Manager のユーザーを更新するには、Identity Manager Web インタフェースを使用します。


ビューをチェックアウトするには、次の手順に従います。

  1. プロジェクトウィンドウで「Custom Identity Manager Objects」を右クリックし、ポップアップメニューから「Repository」>「Checkout View」の順に選択します。
  2. 「Checkout View」ダイアログが表示されたら、メニューからビュータイプを選択し、ビュー名を入力したあと、「OK」をクリックします。

Identity Manager IDE で、ビューのコンテンツがツリー形式で開かれます。

編集後に、ほかの XML オブジェクトと同様に、ビューを右クリックしてリポジトリにチェックインします。

リポジトリからのオブジェクトの取得

Identity Manager IDE を使用することの利点の 1 つは、リポジトリの外でオブジェクトをダウンロードおよび変更できることです。また、必要であれば、リポジトリからオブジェクトを再読み込みし、ローカルファイルシステム上で変更したオブジェクトをそのオブジェクトで置き換えることもできます。

この節では、リポジトリからオブジェクトを取得するための方法をいくつか説明します。具体的には次のとおりです。

オブジェクトのダウンロード

リポジトリからローカルファイルシステムへ初めてオブジェクトをダウンロードする場合は、次の手順に従ってください。

  1. 「Custom Identity Manager Objects」ノードを右クリックし、「Repository」>「Explore」の順に選択すると、「Explore Repository」ダイアログが表示されます (図 1-24)。
  2. 図 1-24 「Explore Repository」ダイアログ
    リポジトリからオブジェクトを選択してダウンロードするには、「Explore Repository」ダイアログを使用します。

  3. ノードを展開してリポジトリ内のオブジェクトを参照し、ダウンロードするオブジェクトをツリーから選択します。

  4. ヒント

    リストからオブジェクトを選択するときに Ctrl キーを押すことで、リポジトリから複数のオブジェクトをダウンロードできます。


  5. 「Download」をクリックします。

選択したオブジェクトノード、およびオブジェクト内の個々の要素を表す子が、Identity Manager IDE によってエクスプローラ内の「Custom Identity Manager Objects」ツリーに追加されます。子ノードをダブルクリックすると、その XML 要素がエディタ内に、そのプロパティーシートがプロパティーウィンドウ内に、それぞれ表示されます。

オブジェクトを開く

ローカルファイルシステム上で開くオブジェクトの名前がすでにわかっている場合には、「Open Objects」オプションを使って大量のオブジェクト (リポジトリなど) の中から単一のオブジェクトをすばやく探してダウンロードします。

「Open Objects」オプションを使用するには、次の手順に従います。

  1. IdM メニューから「IdM」>「Repository」>「Open Object」の順に選択します (あるいは、「Custom Identity Manager Objects」ノードを右クリックし、「Open Object」を選択する)。
  2. 「Open」ダイアログが表示されます。

  3. このダイアログ上のオプションを使ってオブジェクトの検索条件を指定します。
    1. Object Type: 検索するオブジェクトのタイプを選択します。

    2. 「Common Configuration Object Types」がデフォルトで選択されますが、これを使えば、デフォルトでシステム内に読み込まれるすべての設定オブジェクト (設定、電子メールテンプレート、フォーム、汎用オブジェクト、ライブラリ、規則、ワークフロープロセス、およびワークフローサブプロセス) を検索できます。

      一般に、異なるオブジェクトタイプを検索したり、検索結果が最大結果数を超えたりしないかぎり、オブジェクトタイプを変更する必要はありません。


    3. Object Name: オブジェクト名の一部または全部をこのテキストフィールドに入力します。
    4. オブジェクト名としてアスタリスク (*) を指定すれば、リポジトリ内の特定タイプのすべてのオブジェクトにアクセスできます。

      オブジェクト名の入力を始めると、一致する項目のリストが「Matching Objects」フィールドに表示されます。新しい文字を入力するたびに、表示される結果が絞られていきます。たとえば、「Create User」の一部として Creat と入力すると、多数の結果が表示されます (例については図 1-25 を参照)。

      Create のようにエントリをさらに入力すると、条件がより具体的になるため、結果が絞られます。

      図 1-25 「Open Object」ダイアログ
      リポジトリから特定のオブジェクトを開くには、「Open Object」ダイアログを使用します。

    5. Case Sensitive: 「Object Name」フィールドに一致するオブジェクト名を検索する際に、大文字と小文字を区別する制約を加える場合に、このボックスを有効にします。
  4. 「Matching Objects」リストから開くオブジェクトを選択したあと、「Open」をクリックするかEnter キーを押すと、Identity Manager IDE 内でそのオブジェクトが開きます。

    • 「Matching Objects」リストは、最大で 1000 件のオブジェクトを返すことができます。検索結果がこの数を超えると、検索条件の見直しを促すメッセージが表示されます。
    • リポジトリからまだダウンロードされていないオブジェクトを開こうとすると、Identity Manager IDE によって自動的に、そのオブジェクトがローカルファイルシステムにダウンロードされ、その後にそのオブジェクトがエディタ内で開かれます。

オブジェクト参照を開く

プロジェクトツリー内でノードを右クリックすると、特定の参照 (ObjectRef、FormRef、FieldRef、Workflow Subprocess など) の参照先となっているオブジェクトを開くことができます。ツリー内でオブジェクトを表現するオブジェクトノードを右クリックすると、ポップアップメニューから「Open object name」(ここで、object name はそれぞれ Reference、Form、Field、External Process のいずれか) を選択できます。

たとえば、Default User Library オブジェクト参照を Tabbed User Form に追加するには、次の手順に従います。

  1. Tabbed User Form をダウンロードし、「Includes」ノードが表示されるまでノードを展開します。
  2. 「Includes」ノードを右クリックし、「Add an Object Reference」を選択します。
  3. ローカルファイルシステム上にまだオブジェクト参照が存在していないので、「Add Object Reference」ダイアログが表示されます。

  4. あるオブジェクトを参照して選択することも、「Name」フィールドにオブジェクト名を直接入力することもできます。Default User Library オブジェクトを選択してから「OK」をクリックすると、その新しいオブジェクトがツリー内の「Includes」ノードの下に追加されます。
  5. ここで、新しい Default User Library オブジェクト参照ノードを右クリックして「Open Reference」を選択すると、Identity Manager IDE によって、Default User Library オブジェクト参照のフォームがダウンロードされ、その XML ソースがソースエディタ内で開かれます。
  6. ソースエディタ内のオブジェクト参照フォームを閉じます。
  7. オブジェクト参照ノードを再度右クリックし、Default User Library 参照を開きます。
  8. Default User Library フォームがソースエディタ内で開かれますが、このフォームはすでにローカルファイルシステム上に存在しているため、ダウンロードされることはありません。

オブジェクトの再読み込み

現在のプロジェクト内のオブジェクトを、リポジトリにある同じオブジェクトの新しいバージョンで置き換えるまたは上書きするには、次の手順に従います。

  1. オブジェクトノードを右クリックし、ポップアップメニューが表示されたら、「Repository」>「Reload Objects」を選択します。

  2. ヒント

    リストからオブジェクトを選択するときに Ctrl キーを押すことで、リポジトリから複数のオブジェクトをダウンロードできます。


  3. 「Overwrite Files?」ダイアログが表示され、ローカルファイルシステムにそのオブジェクトがすでにあることを知らせるとともに、リポジトリから最新のコピーを読み込むかどうかが確認されます。
    • 「Yes」または「Yes for All」をクリックして続行します。
    • 続行しない場合は、「No」または「No for All」をクリックします。
  4. 準備が完了したら、「Reload」ボタンをクリックします。

選択したオブジェクトノード、およびオブジェクト内の個々の要素を表す子が、エクスプローラに表示されます。子ノードをダブルクリックして、ノードの XML 要素に移動し、要素をプロパティーシートに表示することができます。

オブジェクト ID の削除

あるリポジトリから別のリポジトリへのオブジェクトの移動が容易に行えるよう、リポジトリからオブジェクトをダウンロードする前に自動生成されたすべてのリポジトリ ID を削除するように Identity Manager IDE を設定することができます。


一般に、正規表現パターンを変更する必要はなく、デフォルトで十分なはずです。この機能は、デフォルトパターンが破損した場合のために提供されています。


Identity Manager IDE は指定された表現に一致するすべてのオブジェクト ID とオブジェクト参照 ID を検索して削除しますが、その際、ハードコードされた定義済みの ID が削除されることはありません。

この機能を設定するには、次の手順に従います。

  1. 「IdM」>「Options」の順に選択して「Repository Options」ダイアログを開きます。
  2. 「ID Removal Pattern」フィールドに正規表現を入力したあと、「Use ID Removal」ボックスを有効にします。

    • 「Use ID Removal」ボックスはデフォルトで有効になっています。
    • Identity Manager IDE は正規表現を格納し、最後に使用された表現を「ID Removal Pattern」フィールドにデフォルトで表示します。このため、ユーザーは以前に使用した表現をすばやく再利用できます。

リポジトリへのオブジェクトのアップロード

新規または変更したオブジェクトをローカルファイルシステムからリポジトリにアップロードするには、次の手順に従います。

  1. プロジェクトウィンドウで 1 つ以上のオブジェクトを選択します。

  2. ヒント

    リストからオブジェクトを選択するときに Ctrl キーを押すことで、アップロードするオブジェクトを複数選択できます。


  3. ノードを右クリックし、ポップアップメニューから「Repository」>「Upload objects」の順に選択します。
  4. Identity Manager IDE は、選択されたオブジェクトを即座にアップロードします。

オブジェクトの自動アップロード

新しいプロジェクトを作成するときに、「Automatically Publish Identity Manager Objects」オプションを有効にすることができますが、これを有効にすると、プロジェクトを実行またはデバッグするたびに、Identity Manager IDE によってすべての Identity Manager オブジェクトがリポジトリに自動的にアップロードされます。

手順については、「Identity Manager プロジェクトの作成」を参照してください。

プロジェクトの作成後にこのオプションを有効にするには、「Manage Embedded Repository」ダイアログ (「IdM」>「Repository」>「Manage Embedded Repository」) を使用します。


このオプションは、Identity Manager Project (Remote) の場合や独自のリポジトリを指定する場合は使用できません。


CBE パターン置換の使用

Identity Manager IDE では、組み込みまたは外部の Identity Manager インスタンスにオブジェクトをアップロードする際に、CBE (設定ビルド環境) パターン置換ファイルを使用できます。

メインメニューバーから「IdM」>「Set Identity Manager Instance」の順に選択すると、「Set Identity Manager Instance」ダイアログが表示されます。「Apply Pattern Substitutions on File Upload」を有効にすると、1 つ以上のオブジェクトをアップロードするたびに、target-name.properties (ここで、target-name は「Current CBE Target」で選択されたターゲット) 内に定義されたパターン置換が適用されます。

たとえば、sandbox-target.properties はデフォルトのターゲットであり、%%SMTP_HOST%%=mail.xyzcompany.com を定義しています。ユーザーは、sandbox-target.properties 内の mail.xyzcompany.com を自身の SMTP サーバーの名前で置き換えたあと、Identity Manager オブジェクトファイル内で %%SMTP_HOST%% 変数を必要に応じて使用できます。


  • Identity Manager Project はサンプルの CBE を提供し、nbm は CBE パターン置換ファイルを認識します。*-target.properties ファイルは、CBE ビルドや publishIDMObjects ant ターゲットによっても使用されます。
  • *-target.properties ファイルを別のディレクトリに移動してもかまいませんが、その場合、build.xmlidm-project.xml 内の cbeConfigDir 属性を更新してその変更が考慮されるようにする必要があります。

新しいオブジェクトの作成

プロジェクトに新規オブジェクトを作成するには、次の手順に従います。

  1. プロジェクトウィンドウでオブジェクトノード (またはオブジェクトタイプノード) を右クリックして、「New」>「File/File Folder」の順に選択します。
  2. 新規ファイルウィザードで、「Sun Identity Manager Objects」カテゴリを選択したあと、作成するオブジェクトタイプを選択します。「Next」をクリックします。
  3. 「Name and Location」画面で、ファイル名を入力し、ファイルの格納先を指定します。

  4. 現在のプロジェクト、プロジェクトディレクトリ、およびオブジェクトフォルダがデフォルトで選択されますが、別の場所を指定することができます。


  5. 「Finish」をクリックしてウィザードを閉じます。

Identity Manager IDE は、選択されたオブジェクトタイプノードの下の子として、新しいオブジェクトをツリーに追加します。また、新規オブジェクトの XML ソースがソースエディタビューに表示されます。


Identity Manager IDE では、各 XML ソースファイルにただ 1 つのオブジェクトだけが含まれていることを前提にしています。

そのため、複数のオブジェクトを含む XML ファイルを使用すると (wfresource.xml サンプルなど Identity Manager とともに配布されているファイルを含む)、オブジェクトはプロジェクトウィンドウにノードとして表示されず、パレット内で使用可能になりません。さらに、そのコンテキストメニューには Identity Manager IDE アクションが一切含まれません。

しかし、これらの XML ファイルをプロジェクトの「Objects」ディレクトリに配置すると、Identity Manager IDE はそれらのファイルをプレーンテキストとして扱うため、「File」ツリーで表示することができ、直接ファイルを開いて編集することもできます。


オブジェクトの編集

この節では、プロジェクト内のオブジェクトを編集する方法について説明します。この情報には次のものが含まれます。

オブジェクトプロパティーの編集

電子メールテンプレート、フォーム、ライブラリ、およびワークフローオブジェクトのプロパティーを変更するには、Identity Manager IDE プロパティーウィンドウを使用します。

たとえば、「Account Deletion Approval」オブジェクトノードをクリックすると、次のプロパティーシート (図 1-26) がプロパティーウィンドウ内に表示されます。

図 1-26 プロパティーの例

プロパティーウィンドウでオブジェクトプロパティーを編集します。


ヒント

プロパティーウィンドウを使用しない方法として、オブジェクトノードを右クリックし、ポップアップメニューから「Properties」を選択する方法があります。表示される「Properties」ダイアログには、プロパティーウィンドウの場合と同じオブジェクトプロパティーシートが含まれます。


プロパティーシートには、次の機能の一部または全部が含まれます。

「Expression Builder」ダイアログの使用

プロパティーウィンドウ内での操作中に複合値フィールドをクリックするか省略記号ボタンをクリックすると、図 1-27 に示すような、オブジェクトの XML 式を編集するための「Expression Builder」ダイアログが開きます。

図 1-27 「Expression Builder」ダイアログの 2 つの例

「Expression Builder」ダイアログの例。

「Expression Builder」ダイアログの構成要素は、次のとおりです。

表 1-5 では、さまざまな編集オプションについて説明します。


この表に記載されている式タイプの詳細については、『Identity Manager ワークフロー、フォーム、およびビュー』を参照してください。


表 1-5 式ビルダーのオプション  

編集オプション

説明

  • 「Add」ボタン
  • 「Add」メニューオプション
    (ツリービューで要素を右クリックした場合にのみ利用可能)

次のいずれかの式タイプを選択して新しい式要素を追加します。

  • XPRESS Object > Select String、List、Map、または Integer。
  • Reference
  • Expression > Select Logical > Logical type 、Strings > String type、Lists > List type、Variables > Define a variable、Math > Math type、Control > Control type
  • Object Access > Select New、Invoke (Static または Instance)、または Get。
  • Diagnostics > Select Script、Trace、または Print。
  • Rule
  • XML Object > Select String、List、Map、または Integer。
  • 「Delete」ボタン
  • 「Delete」メニューオプション
    (ツリービューで要素を右クリックする)

選択された式を削除します。

「Move Up」/「Move Down」ボタン

要素を XML 式内で上方または下方に移動します。

「Wrap Object」オプション
(ツリービューで要素を右クリックした場合にのみ利用可能)

ある式要素 (string など) を別の式要素 (concat など) の内側にラップします。

このオプションは、すでに定義済みの引数を必要とする関数呼び出しを含めるのを忘れた場合に役立ちます。たとえば、firstname 属性への参照を定義し、その参照を concat 内にラップした場合、secondname 属性への参照を concat の引数として定義でき、その結果は次のようになります。

<concat>

   <ref>firstname</ref>

   <ref>secondname</ref>

</concat>

  • 「Change To」ボタン
  • 「Change To」メニューオプション
    (ツリービューで要素を右クリックする)

要素の式タイプを次のいずれかに変更します。

  • XPRESS Object > Select String、List、Map、または Integer。
  • Reference
  • Expression > Select Logical > Logical type 、Strings > String type、Lists > List type、Variables > Define a variable、Math > Math type、Control > Control type
  • Object Access > Select New、Invoke (Static または Instance)、または Get。
  • Diagnostics > Select Script、Trace、または Print。
  • Rule
  • XML Object > Select String、List、Map、または Integer。

矢印ボタン

最近アクセスした式編集パネル間を移動します (ブラウザの「戻る」/「進む」ボタンに類似)。

「Type」/「Value」テーブル

選択された式内で現在使用されている式タイプを表示および編集します。

  • 「Type」列 (読み取り専用): 式タイプを一覧表示します。
  • 「Value」列 (編集可能): 式タイプの値を一覧表示します。
    単純な文字列または整数を編集するには、「Value」フィールドに新しい値を入力します。
    「<Complex Value>」を編集するには、フィールドをクリックしてその式に対する「Expression Builder」ダイアログを開きます。

「Style」ボタン

式のスタイルを「Simple」、「Calculated」のいずれかに設定します。

「Value」フィールドと「<> Name」フィールド

現在の単純な文字列または整数を置換します。

「Trace」ボックス

IDM 内で XPRESS が動作している間、トレース診断を出力します

「Browse JavaDoc」ボタン

呼び出し式の作成時に JavaDoc 情報を表示します。

このボタンをクリックすると「JavaDoc」ダイアログが開き、「Class Names」メニューと「Method Names」メニューから項目を選択できるようになります。あるメニュー項目をクリックするか、その項目上でマウスを静止させると、関連する JavaDoc 情報を含むポップアップが表示されます。

式を編集するには、次のいずれかを行います。

オブジェクトへの要素の追加

オブジェクトに新しい要素 (子要素) を追加するには、XML ソースを直接編集するか、ポップアップメニューの「Add」オプションを使用します。


プロパティーウィンドウでは、オブジェクトプロパティーの編集は行えますが、要素の追加は行えません。


「Add」オプションを使用するには、次の手順に従います。

  1. 子要素の追加先となるオブジェクトノードを右クリックし、ポップアップメニューから「Add element_type」を選択します。
  2. 図 1-28 アクションへの要素の追加
    アクションノードを右クリックして「Add」メニューを表示させます。


    オブジェクトタイプによって、どの element_type を追加できるかが決まります。たとえば、ワークフローのプロセスまたはサブプロセスを操作している場合であれば、単純な計算を実行したり Java クラスや JavaScript を呼び出して複雑な処理を行なったりするために、「アクション」を追加できます。続いて、そのアクションオブジェクトに引数、フォーム、結果、戻り値、または変数を追加できます。


  3. 「Add element_type」ダイアログが表示されたら、プロパティーシートを使って新しい要素の名前やその他のプロパティーを指定します (「オブジェクトプロパティーの編集」を参照)。
  4. たとえば、アクションオブジェクトに結果を追加する場合には、「Add Result」ダイアログが表示されます。

    図 1-29 「Add Result」ダイアログ
    「Add Result」ダイアログ。

  5. 「OK」をクリックすると、Identity Manager IDE によって、選択されたオブジェクトノードの下に新しい要素が追加されます。また、新規オブジェクトの XML ソースがソースエディタビューに表示されます。

  6. あるフォームにインクルード要素を追加する場合、フォームの名前を参照して選択することも、名前を直接入力することもできます。

    フォーム名を入力する場合は、次の構文を使用する必要があります。そうしないとエラー (Error creating Object Reference) が発生します。

    <FormType>:<SomeFormName>

    たとえば、AIX User Form を Default User Form に追加するには、次の手順に従います。

    1. Default User Form.xml をダウンロードし、「Includes」ノードが表示されるまでツリーを展開します。
    2. 「Includes」ノードを右クリックし、「Add Object Reference」を選択します。
    3. 「Add Object Reference」ダイアログが表示されたら、「Name」フィールドに AIX User Form を入力することも、「Browse」をクリックしてフォームを特定および選択することもできます。
    4. 名前を入力する場合は、UserForm:AIX User Form と入力する必要があります。

オブジェクトの削除

ローカルファイルシステム上のプロジェクトからオブジェクトを削除するには、次の手順に従います。

  1. プロジェクトウィンドウで 1 つ以上のオブジェクトを右クリックします。
  2. ポップアップメニューから「Delete」を選択します。
  3. オブジェクトが即座にプロジェクトから削除されます。

Identity Manager IDE リポジトリからオブジェクトを削除するには、次の手順に従います。

  1. NetBeans メニューバーで「IdM」>「Repository」>「Explore」の順に選択します。
  2. 「Explore Repository」ウィンドウが表示されたら、オブジェクトノードを展開して削除するオブジェクトを見つけます。
  3. 1 つ以上のオブジェクトを選択したあと、「Delete」ボタンをクリックします。

  4. この「Delete」ボタンを使って個々の規則をライブラリから削除することはできません。1 つ以上の規則をライブラリから削除するには、ライブラリの全体をローカルファイルシステムにダウンロードし、規則を削除したあと、ライブラリを元のリポジトリにアップロードする必要があります。


    削除されたすべてのオブジェクトは、リポジトリから即座に削除されます。

差分オプションの使用

Identity Manager IDE では、ローカルファイルシステム上のディレクトリまたは単一オブジェクトとリポジトリ内の対応するオブジェクトとの比較 (差分処理) を行なったあと、その差分を左右に並べて表示することができます。

グローバルな差分オプションの設定

「IdM」>「Options」を選択すると、「Repository Options」ダイアログが開きます。このダイアログでは、次のグローバルな差分処理オプション (デフォルトではすべて有効) を指定できます。

オブジェクトの差分処理

オブジェクトに対するすべての変更を保存し終わると、次の各節で説明するように、あるディレクトリまたは単一オブジェクトの内容に対して差分処理を行えます。

ディレクトリの差分処理

あるディレクトリの内容に対して差分処理を行うには、次のようにします。

Identity Manager IDE によってすべてのオブジェクトの差分処理が、ファイルシステム内で下方に再帰的に繰り返されたあと、その結果が「Identity Differences」タブ (図 1-30) に表示されます。

図 1-30 「Identity Differences」タブ

差分結果を含む「Identity Differences」タブの例。

このタブの構成要素は次のとおりです。

単一オブジェクトの差分処理

ある単一オブジェクトの内容に対して差分処理を行うには、次のようにします。

Identity Manager IDE のエディタウィンドウが更新され、図 1-31に示すように、そのオブジェクトのローカルビューとリモートビューが表示されます。

図 1-31 左右に並べて表示した例

ローカルファイルとリモートファイルの差異を示す例。

また、エディタウィンドウには、表 1-7 で説明するアイコンとボタンも備わっています。

表 1-7 エディタの差分アイコン/ボタン  

クリックするアイコンまたはボタン

実行されるタスク

「Refresh」ボタン

Refresh

ローカルファイルシステムからオブジェクトのすべての変更内容を取得し、オブジェクトの差分処理を再実行したあと、エディタ内の差分情報を再表示します。

重要: 「Replace local with repository」または「Upload local to repository」オプションを使用する前に、「Refresh」をクリックしてそのオブジェクトに対する最新の変更内容を含めておく必要があります。

「Replace local with repository」ボタン

Replace local with repository

変更済みのローカルオブジェクトをリポジトリ内の対応するオブジェクトで置き換えます。

「Upload local to repository」ボタン

Upload local to repository

変更済みのローカルオブジェクトをリポジトリにアップロードします。

「Options」ボタン

Options

「グローバルな差分オプションの設定」で説明したグローバルな差分処理オプションを指定する場合にクリックします


差分処理ウィンドウが開いていて、かつユーザーがエディタのいずれかのアイコンまたは「Options」ボタンをクリックした場合、差分処理ウィンドウ内に表示された情報は Identity Manager IDE によって自動更新されますが、「Identity Differences」タブは更新されません。



XML の操作

この節では、ソースエディタウィンドウでの XML の操作方法について説明します。これらの情報は、次のように構成されています。

XML の編集

あるオブジェクトの XML を編集するには、次の手順に従います。

  1. プロジェクトウィンドウまたはファイルウィンドウでオブジェクトノードをダブルクリックします。
  2. デフォルトでソースエディタビューが表示されない場合は、「Source」ボタンをクリックします。

オブジェクトのフィルタリングされていない XML がソースエディタに表示されたら、必要に応じて XML を編集、検査、および妥当性検査できます。


プロジェクトウィンドウまたはファイルウィンドウにまだ表示されていないオブジェクトを編集するには、「IdM」>「Repository」>「Open Objects」の順に選択します。「Open Objects」ダイアログでオブジェクト名とオブジェクトタイプの全部 (または一部) を指定することで、ローカルファイルシステム上でそのオブジェクトを検索します。

リポジトリからダウンロードされていないオブジェクトを開こうとすると、Identity Manager IDE によって自動的に、そのオブジェクトがローカルファイルシステムにダウンロードされ、その後にそのオブジェクトがエディタ内で開かれます。


Identity Manager IDE には次のように、オブジェクトの XML を編集するためのオプションがいくつか用意されています。

自動補完の使用

Identity Manager IDE はインストール時に waveset.dtd 定義ファイルを登録し、これによって XML 要素と属性の自動補完が可能になります。

自動補完機能を使用するには、XML 要素または属性の入力を開始し、それから Ctrl+Spacebar を押します。NetBeans は、要素を自動補完するために使用できる要素と属性のリストを表示します。

不正な形式の XML の識別と修正

Identity Manager IDE に読み込んだファイルに不正な形式の XML が含まれている場合、またはファイルに加えた編集が定義 (DTD) ファイルに従っていない場合には、プロジェクトウィンドウとファイルウィンドウでオブジェクトの最上位の親に赤色のエラーアイコンが表示されます。

図 1-32 エラーアイコン

不正な形式の XML があると、エラーアイコンが「プロジェクト」ツリーと「ファイル」ツリーに表示されます。

プロパティーウィンドウが開いている場合、そのウィンドウの説明領域にエラーメッセージが表示されます。あるいは、無効なファイルのツールヒント情報を使ってエラーメッセージを表示させることもできます。それには、そのファイルのノードの上でマウスを静止させます。

オブジェクトに不正な形式の XML が含まれていると、次のようになります。

ソースエディタウィンドウで右クリックして、ポップアップメニューから「Validate XML」を選択すると、形式が不正な XML ソースへのリンクを含む結果が出力ウィンドウに表示されます。このリンクをクリックすると、Identity Manager IDE がソースエディタウィンドウで不正な形式の XML の次の行を強調表示するため、容易に問題を検出して修正することができます。

XML の妥当性検査

ソースエディタで右クリックしてコンテキストメニューから「Validate XML」を選択することにより、オブジェクトの XML をただちに妥当性検査できます。

出力ウィンドウで結果を確認します。次のようなメッセージが表示されるはずです。

XML validation started.

file:/H:/IdentityMgr/IDM_IDE_Project/Idm/objects/
System%20Configuration.xml...

XML validation finished.


Identity Manager IDE デバッガの操作

Identity Manager IDE には、Identity Manager のフォーム、規則、およびワークフローのデバッグに使用できるグラフィカルなデバッガが用意されています。このデバッガを使用して、ブレークポイントとウォッチポイントの設定、コードのステップスルー、変数の検査と変更、クラスと呼び出しスタックの検査、スレッドの監視、および複数セッションの実行を行えます。

ここでは、Identity Manager IDE デバッガの使用法を説明します。手続き型プログラミング言語のコードデバッガを使用した経験があれば、この節で使用されている用語の理解は難しくありません。説明する内容は次のとおりです。

デバッガの開始

Identity Manager IDE デバッガを開始するには、メインメニューバーから「Run」>「Debug Main Project」の順に選択します。

デバッグセッションを開始すると、Identity Manager IDE はプログラムに関するランタイム情報を表示する一連のデバッガウィンドウを自動的に開きます。これらのウィンドウで次の操作ができます。

ブレークポイントの設定

コードの特定の行を実行する前にオブジェクトの実行を停止するには、デバッガの breakpoint コマンドを使用します。


ブレークポイントの設定は、グローバルな設定となることに注意してください。デバッガは指定されたブレークポイントに達すると、着信リクエストスレッドを中断します。このアクションは、どのユーザーがリクエストを作成したかにかかわらず実行されます。


デバッガ使用中は、フォームやワークフローをどこで起動したかにかかわらず、ブレークポイントが適用されます。ほとんどのデバッガではソース上の位置にしかブレークポイントを設定できませんが、Identity Manager IDE のデバッガでは「Refresh view」などの概念的な実行ポイントにもブレークポイントを設定できます。この場合、デバッガはビューの更新操作が発生するたびに操作を中断します。そこで、「Refresh view」にステップインし、進行中の基礎となるフォーム処理を監視できます。

すべてのソースブレークポイントの要約をブレークポイントウィンドウに表示できます。通常、このウィンドウは Identity Manager IDE の左下隅にあります。ブレークポイントウィンドウでブレークポイントをクリックして、ソースエディタ内の対応するブレークポイントに移動することもできます。

ブレークポイントで停止すると、デバッガは現在の実行ポイントの範囲内にある変数も表示します。

図 1-33 ブレークポイントウィンドウ

ブレークポイントウィンドウにブレークポイントを表示できます。

ブレークポイントを設定する最も簡単な方法は、ブレークポイントを追加するタグの真横の、ソースエディタの左マージン部分をクリックすることです。

メインメニューから「Run」>「New Breakpoint」の順に選択することもできます。「New Breakpoint」ダイアログが表示されたら、「Debugger」メニューから「XPRESS」を選択します。ダイアログの内容が変更され、次のオプションが提供されます。

Identity Manager に添付されているチュートリアルサンプルには、ブレークポイントの使い方の例が示されています。「Identity Manager IDE チュートリアルの使用: フォーム、規則、およびワークフローのデバッグ」を参照してください。

ウォッチポイントの使用

Identity Manager IDE デバッガでは、有効な XPRESS 式であればどの式でもウォッチポイントとして使用することができます。ウォッチポイントには 2 つの目的があります。

デバッガを最初に起動したとき、およびステップ実行中に中断するたび、またはブレークポイントで、デバッガはその時点のコンテキストでウォッチポイントを評価します。また、ウォッチポイントを追加または変更するたびに、デバッガはウォッチポイントを再評価します。

Identity Manager に添付されているチュートリアル (debugger-tutorial-workflow1.xml) には、ウォッチポイントの使い方の例が示されています。「例 1: ワークフローと規則をデバッグする」を参照してください。

実行プロセスのステップスルー

ステップスルーとは、実行中のプロセスの関数を逐次、計画的に分析する処理のことです。

用語

ステップイン、ステップオーバー、およびステップアウトは、言語の構造によって実行順が暗黙的に決定される手続き型プログラミング言語のデバッガに由来する用語です。しかし、Identity Manager のフォームとワークフローでは、コード内で要素が出現する順序はその実行順に影響しません。

したがって、これらの用語が Identity Manager IDE やビジネスプロセスエディタ (BPE) で使用される場合、多少異なった意味を持ちます。

表 1-8 は、Identity Manager IDE デバッガによる、次のコードサンプルの処理方法のスナップショットを示します。

<A>
   <B/>
</A>
<D/>
(A、B、および D は何らかの XML 要素)

表 1-8 デバッグプロセスの例

実行順

結果

<A>, <B/>, </A>, <D/>

step-into」をクリックすると、デバッガはこの実行順で行を強調表示します。

step-over」をクリックすると、デバッガは <A></A> を強調表示します。
(B をスキップして)、<D/> を強調表示します。

<A>, <D/>, <B/>, </A>

step-over」をクリックすると、<A><D/><B/></A> の順でコード行が表示されます (この場合、ステップオーバーはステップインと同じ)。

フォームのデバッグ

ここでは、匿名ソースの操作方法を説明し、フォームテスターユーティリティーの設定および起動の手順を示します。

Identity Manager フォームエンジンがフォームを処理する方法の詳細については、『Sun JavaTM System Identity Manager ワークフロー、フォーム、およびビュー』を参照してください。


呼び出しスタックウィンドウで実行スタックをチェックして、どのパスが現在処理中であるかを確認できます。


匿名ソースの操作

フォームをステップスルーするときに、デバッガは匿名ソースを識別できます。匿名ソースとは、Login フォームや MissingFields など、一時的に作成されるフォームまたはフォームの一部のことで、Identity Manager リポジトリにある持続的フォームは該当しません。

これらのフォームはリポジトリに存在しせず、固有の識別子を持たないため、匿名ソースには個別のブレークポイントを設定することができません。ただし、「ブレークポイントの設定」で説明されている方法で「All anonymous sources breakpoint」を設定すると、匿名ソースに対してステップスルーはできます。

この設定により、デバッガは直接の XPRESS ソースを持たないポイントで実行を停止することができます。結果として、デバッガは匿名ソースからの行を検出するたびに中断します。

フォームテスターの設定および起動

Identity Manager IDE には、外部ブラウザでのフォームのテストを可能にするフォームテスターが用意されています。フォームテスターはデバッガに統合されているため、フォームのトラブルシューティングも可能です。

フォームをテストするには、次の手順に従います。

  1. 次のいずれかの方法で、フォームテスターを起動します。
    • プロジェクトウィンドウでフォームノードを選択し、NetBeans メニューバーから「IdM」>「Test Form」の順に選択します。
    • プロジェクトウィンドウでフォームを右クリックし、ポップアップメニューから「Form Preview」を選択します。
    • ソースエディタで <Form> 要素内またはその任意の子の内側で右クリックし、ポップアップメニューから「Test Form」を選択します。

    • 警告メッセージが表示され、Identity Manager IDE がユーザーのフォームをリポジトリにアップロードするときに、既存のコピーが置き換えられる (上書きされる) ことが通知されます。テスト処理を続行するか停止するかを指定する必要があります。


  2. プロンプトが表示されたら、Identity Manager にログインします。

  3. ヒント

    フォームをテストするたびにログインしないですむように、次の手順に従って System Configuration オブジェクトの allowInterAppAuthenication プロパティーを変更します。

    1. 「IdM」>「Repository」>「Explore」の順に選択します。
    2. 「Explore Repository」ウィンドウから「Generic Objects」ノードを展開し、「System Configuration」をダブルクリックしてこのオブジェクトをダウンロードします。
    3. System Configuration.xml をダブルクリックしてソースエディタ内に表示させたあと、下方にスクロールして (あるいは「Edit」>「Find」を使って) allowInterAppAuthentication 属性を見つけます。
    4. この属性の値を true に変更し、変更を保存します。

Identity Manager IDE は、ブラウザウィンドウに新規 Identity Manager セッションを起動し、Identity Manager 管理者ユーザーインタフェースのコンテキストでフォームを表示します。さらに、アップロードされたフォームに関する情報が Identity Manager IDE リポジトリの出力ウィンドウに表示されます。


Identity Manager には、フォームをデバッグする方法を理解するのに役立つチュートリアル (debugger-tutorial-workflow1.xml) が提供されています。手順については、「Identity Manager IDE チュートリアルの使用: フォーム、規則、およびワークフローのデバッグ」を参照してください。


規則のテスト

Identity Manager IDE が提供する規則テスターを使えば、スタンドアロン規則やライブラリ規則をソースエディタ内で編集する際に、それらの規則を検証できます。ソースエディタで規則のすべての引数の値を指定したあと、規則を「実行」します (トレース文を組み込むこともできる)。

次のいずれかの方法で、フォームテスターを起動できます。

次の例は、規則テスターの動作方法を示すために提供されています。

例 1: スタンドアロン規則をテストする

この例では、単純なスタンドアロン規則をテストする方法を示します。

  1. 「Custom Identity Manager Object」を右クリックし、「Repository」>「Explore」の順に選択することで、リポジトリ内のオブジェクトを表示します。
  2. 「Explore Repository」ダイアログで「Rules」ノードを展開し、Accountname First dot Last をダブルクリックして、この規則を開きます。
  3. 「Rule Tester Inputs」ウィンドウを右クリックして、メニューから「Add value」を選択します。 
  4. 「New Value」ダイアログが表示されたら、次の情報を入力し、「OK」をクリックします。
    • 「Name」: global.firstname
    • 「Type」: String
    • 「Value」: myfirst
  5. もう一度、「Rule Tester Inputs」ウィンドウを右クリックし、次の情報でもう 1 つの新しい値を入力します。
    • 「Name」: global.lastname
    • 「Type」: String
    • 「Value」: mylast
    • 「Rule Tester Inputs」ウィンドウは、図 1-34 のようになります。

      図 1-34 「Rule Tester Inputs」ウィンドウ
      規則テスタ入力の例。

  6. これで、規則をテストできます。
  7. NetBeans メニューバーから「IdM」>「Test Rule」の順に選択するか、あるいはソースエディタウィンドウで右クリックし、ポップアップメニューから「Test Rule」を選択します。


    規則テストが規則を自動的に保存し、レポジトリに公開することを警告するメッセージが表示されます。「Yes」または「Always」をクリックして続行します。


    次のような出力が、「Rule Tester Output」ウィンドウに表示されるはずです。

    <String>myfirst.mylast</String>

    <String>myfirst.mylast</String>

    <String>myfirst.mylast</String>

  8. 次に、規則のテストとデバッガの実行を同時に試行します。
    デバッガがまだ実行されていない場合は、メインメニューバーの「Debug Main Project」ボタン 「Debug Main Project」ボタン をクリックします。
  9. ソースエディタウィンドウに移動し、XML 内で <Rule> タグの横のマージンをクリックして、ブレークポイントを追加します。
  10. 「Window」>「Debugging」>「Breakpoints」の順に選択すると、ブレークポイントウィンドウが開きます。
  11. ソースエディタで、<Rule> 要素内の任意の位置で右クリックし、ポップアップメニューから「Test Rule」を選択します。
  12. ブレークポイントでデバッガが停止します (ブレークポイントウィンドウ内の結果を参照)。

  13. 「Step Into」ボタン 「Step Into」ボタン を 7 回クリックして規則をステップスルーし、ローカル変数ウィンドウの結果を監視します。
  14. 「Continue」をクリックして、「Rule Tester Output」ウィンドウの結果を監視します。

例 2: ライブラリ規則をテストする

ライブラリ規則のテストは、スタンドアロン規則のテストに非常に似ています。

  1. 必要に応じて、リポジトリから Alpha Numeric Rules ライブラリをダウンロードし、ノードをダブルクリックしてソースエディタでこのライブラリ規則を開きます。
  2. 「Alpha Numeric Rules」のノードを順次展開し、stringToChars 規則が表示されたらダブルクリックします。
  3. この規則は形式引数を宣言しているため、「Rule Tester Inputs」ウィンドウには testStr 引数が表示されます。

  4. testStr 引数に値を指定します (「Rule Tester Inputs」ウィンドウで引数名を右クリックし、「Add value」を選択し、「New Value」ダイアログに値を入力する)。
  5. ソースエディタで右クリックし、「Test Rule」を選択して規則を実行し、「Rule Tester Output」ウィンドウで結果を監視します。

  6. Identity Manager には、規則をデバッグする方法を理解するのに役立つチュートリアル (debugger-tutorial-workflow1.xml) が提供されています。手順については、「Identity Manager IDE チュートリアルの使用: フォーム、規則、およびワークフローのデバッグ」を参照してください。


ワークフローのデバッグ

ワークフローは単一の Java スレッドによって実行され、呼び出しスタックウィンドウで単一の Java スレッドによって表現されます。ただし、ワークフローの内部で、各アクティビティーは個別の仮想スレッドになります。

ワークフロー実行の間、ワークフローエンジンは仮想スレッドのキューを循環的に処理します。各仮想スレッドは、次の表で説明する状態のいずれかになります。

表 1-9 仮想スレッドの状態 

ワークフローアクティビティーの状態

定義

準備完了

遷移したばかりのアクティビティーを特定します (この状態はごく一時的であり、アクションは通常、準備完了と指定された直後に実行を開始する)。

実行中

現在実行中であるか、まだ実行されていない 1 つ以上のアクションを含むアクティビティーを特定します。

これは論理状態であり、Java スレッドがその時点でそのアクションを実行していることを意味しません。現在実行中のアクションは、必ず太字または通常のフォントで表示されます。
実行中ではないアクションは、斜体で表示されます。

保留中のアウトバウンド

アクティビティー内のすべてのアクションが実行された直後のアクティビティーを特定します。このようなアクティビティーは、保留中のアウトバウンド状態に移行します。この状態のアクションは、アウトバウンド遷移の発生を待機します。OR 分岐の場合、アクションは 1 つの遷移が発生するまでこの状態です。AND 分岐の場合、その条件が true と評価されるすべての遷移が発生するまで、アクションはこの状態です。

非アクティブ

すべての遷移が発生済みのアクティビティーを特定します。

保留中のインバウンド

そのアクティビティーが AND 合流である仮想スレッドを特定します。これは、この仮想スレッドへの 1 回の遷移が発生したが、プロセスはまだほかの遷移を待機していることを意味します。

すべての遷移が完了したあとで、ワークフロープロセスは実行を開始します。

変更のあとでワークフローのリビジョンを妥当性検査するには、プロジェクトウィンドウでオブジェクトまたはプロセスを選択してから、「Tools」>「Validate」の順に選択してテストします。出力ウィンドウでメッセージを確認します。


Identity Manager には、ワークフローをデバッグする方法を理解するのに役立つチュートリアル (debugger-tutorial-workflow1.xml) が提供されています。手順については、「Identity Manager IDE チュートリアルの使用: フォーム、規則、およびワークフローのデバッグ」を参照してください。


Identity Manager IDE チュートリアルの使用: フォーム、規則、およびワークフローのデバッグ

Identity Manager には、フォーム、規則、およびワークフローにデバッガを使用する方法を習得するのに役立つチュートリアル (debugger-tutorial-workflow1.xml) が提供されています。このチュートリアルには、サンプルのフォーム、規則、ワークフローが含まれており、この節を通して同じサンプルが使用されます。


警告

このチュートリアルは、本稼働環境で有効にしないでください。


この節は、次のように構成されています。

はじめに

debugger-tutorial-workflow1.xml チュートリアルを使用するには、次の操作を行います。

  1. 次のいずれかの方法で、debugger-tutorial-workflow1.xml ファイルをインポートします。
    • Identity Manager で、「Configure」>「Import Exchange File」の順に選択します。
      「File to Upload」フィールドに「sample/debugger-tutorial.xml」と入力します。
    • コンソールから、次のように入力します。

      import -v sample/debugger-tutorial.xml

      ファイルが正常にインポートされたら、次のファイルが読み込まれたことを示す確認メッセージが表示されます。

      debugger-tutorial-workflow1
      debugger-tutorial-workflow2
      compute-full-name

  2. debugger-tutorial-workflow1debugger-tutorial-workflow2 をリポジトリからプロジェクトにダウンロードします。手順については、「リポジトリからのオブジェクトの取得」を参照してください。
  3. アプリケーションサーバーを再起動したあと、メインメニューバーで「Run」>「Debug Main Project」の順に選択して、Identity Manager IDE デバッガを起動します。

例 1: ワークフローと規則をデバッグする

この例では、ワークフローのデバッグと規則の実行をステップインおよびステップスルーする方法を含む、簡単なワークフローとワークフローを使用する規則とをデバッグする方法を示します。

この練習を完了するには、次のステップを実行する必要があります。

  1. プロセスの起動
  2. 実行の開始
  3. getFirstName スレッドのステップスルー。
  4. getlastname スレッドのステップインおよびステップオーバー。
  5. computefullname 処理のステップイン。
  6. 規則処理のステップスルー
  7. ワークフロー処理の完了
ステップ 1: プロセスの起動

ワークフローのデバッグプロセスを起動するには、次の手順に従います。

  1. プロジェクトウィンドウで debugger-tutorial-workflow1.xml ノードを展開します。
  2. debugger-tutorial-workflow1.xml ノードをダブルクリックして、ソースエディタに XML を表示します (必要に応じて「Source」ボタンをクリックする)。
  3. 図 1-35 debugger-tutorial-workflow1.xml ソースを開いたところ
    debugger-tutorial-workflow1.xml ファイルソースを開く。

  4. <WFProcess> タグの左のマージンを 1 回クリックして、ワークフローの開始位置にブレークポイントを設定します。
  5. 必要に応じて、メインメニューバーで「Debug Main Project」ボタンをクリックして、Identity Manager IDE デバッガを起動します。
  6. Identity Manager にログインしたあと、「Server Tasks」 >「Run Tasks」の順に選択します。
  7. 「Available Tasks」ページが表示されたら、「Name」列で debugger-tutorial-workflow1.xml をクリックします。
  8. Identity Manager IDE のソースエディタをチェックして、指定したブレークポイントでデバッグが停止したかを確認します。

    次の点にも注意してください。

    • 呼び出しスタックウィンドウの上部には、Thread [thread name] (suspended) と表示されるはずです。これは、このワークフローがここに示された名前のスレッドによって現在実行されており、設定したブレークポイントで中断していることを意味します。

      「Thread」の下には実行スタックが表示されます。このスタックは逆順のスタックトレースであり、呼び出し元の関数が上に、呼び出される関数が下に表示されます (これは、ほとんどのデバッガでの実行トレースの表示とは逆の順序)。

      スタックの一番上のフレームは「Checkin View (ProcessViewer)」という名前であり、これは、ワークフローがその時点で ProcessViewer の checkinView メソッドによって呼び出されていることを示します。このスタックフレームの Java ソースコードにはアクセスできないため、このフレームをクリックしても新しい情報は表示されません。ただし、スタックフレームは、ワークフローがどの場所から起動されているかについてのコンテキストを提供します。

      スタック内の次のフレームは、ワークフロープロセス (<WFProcess>) の開始位置である現在の実行ポイントに対応しているため、強調表示されています。

    • ローカル変数ウィンドウには、現時点で現在の実行ポイントの範囲内にある、すべての変数のリストが表示されるはずです。次の変数が含まれます。
    • 表 1-10 スコープ内の変数  

      変数

      説明

      Last Value

      最後の評価の結果

      Interactive

      ビューによってプロセスへの入力として渡される変数。

      WF_CASE_OWNER

      暗黙のワークフロー変数

      fullname

      <Variable> 宣言を使用してワークフロー内で宣言される変数

      WF_CONTEXT

      暗黙のワークフロー変数

      WF_CASE_RESULT

      暗黙のワークフロー変数

      firstName

      <Variable> 宣言を使用してワークフロー内で宣言される変数

      lastName

      <Variable> 宣言を使用してワークフロー内で宣言される変数

これで、実行を開始する準備が完了しました。次のステップでは、実行手順を説明します。

ステップ 2: 実行の開始

実行を開始するには、次の手順に従います。

  1. Identity Manager IDE のメインメニューバーで「Step-Into」ボタン「Step Into」ボタンをクリックします。 をクリックします。
  2. デバッガが開始アクティビティーに移動します。実行スタックに「Virtual Thread [start, step=0] (executing)」が含まれていることを確認してください。これは、現在実行中の状態である開始アクティビティーの仮想スレッドがあることを示します。

    図 1-36 開始アクティビティーの仮想スレッド
    仮想スレッドの表示例

  3. debugger-tutorial-workflow1 フレーム (2 レベル上) をダブルクリックして WFProcess を強調表示します。そこには、呼び出し側の位置が表示されます。
  4. 呼び出しスタックウィンドウ内の太字のエントリをダブルクリックして、現在の行に戻ります。
  5. 「step-into」をもう一度クリックします。
  6. デバッガはソースエディタの </Activity> 行に移動し、呼び出しスタックウィンドウが表示されている場合は、「Virtual Thread [start, step=0]」が保留中のアウトバウンドになります。

これで、次のステップ 3 に進むことができます。

ステップ 3: getFirstName スレッドのステップスルー

getFirstName スレッドをステップスルーするには、次の手順に従います。

  1. 「step-into」をクリックします。
  2. デバッガでは、getFirstName への遷移が強調表示されます。

  3. 「step-into」をもう一度クリックします。
  4. 呼び出しスタックウィンドウをもう一度チェックし、デバッガがこの遷移の結果として getFirstName の新規仮想スレッドを作成し、現時点でこの仮想スレッドが準備完了の状態になっていることを確認してください。

    図 1-37 開始アクティビティーの仮想スレッド
    getFirstName の仮想スレッドの例

    Virtual Thread [start, step=0]」が保留中のアウトバウンドのままであることに注意してください。これは、この仮想スレッドが and-split 操作であるため、可能性のある遷移をすべて引き受ける必要があるからです。

  5. 「step-into」をもう一度クリックします。
  6. デバッガはソースエディタの getFirstName アクティビティーにジャンプし、呼び出しスタックウィンドウでは状態が準備完了から実行中に変わります。

  7. 「step-into」をもう一度クリックします。
  8. デバッガは get アクションに移動します。

  9. ここで、「Step-Into」をあと 3 回、またはデバッガがソースエディタ内で </set> タグに達するまでクリックします。
  10. ローカル変数ウィンドウをチェックして、</set> の結果として firstName 値が <String>myfirstname</String> に設定されていることを確認します。

    図 1-38 firstName の新しい値
    firstName の新しい値を含むローカル変数ウィンドウの例

  11. ウォッチポイント表現を追加します。
    1. ウォッチポイントウィンドウ (「Window」>「Debugging」>「Watches」) を開きます。
    2. ウィンドウを右クリックして、メニューから「New Watch」を選択します。
    3. 「New Watch」ダイアログが表示されたら、次の XPRESS 文を「Watch Expression」フィールドに入力して、「OK」をクリックします。
    4. <ref>firstName</ref>

ステップ 4: getLastName スレッドのステップインおよびステップオーバー

次の手順に従って、getLastName スレッドをステップインおよびステップオーバーします。

  1. 「Step-Into」をあと 3 回、またはソースエディタ内でデバッガが getFirstName</Activity> 行に達するまでクリックします。
  2. 呼び出しスタックウィンドウで、Virtual Thread (getFirstName, step=1) が、保留中のアウトバウンドになっていることを確認します。

  3. 「step-into」をクリックします。
  4. デバッガは、Virtual Thread (start, step=0) に戻り、getLastName への遷移の処理を開始しようとします。

  5. 「step-into」をクリックします。
  6. Virtual Thread (start, step=0) は、すべての遷移の処理が完了したので、非アクティブになります。この遷移の結果として、getLastName が準備完了の状態になります。

  7. 「step-into」をクリックします。
  8. この時点で、Virtual Thread (start, step=0) は非アクティブであるために消えて、デバッガは Virtual Thread (getLastName, step=2) に移動し、これが実行中の状態になります。

  9. 「step-over」ボタン をクリックして、getLastName の終わりまでスキップします。
  10. ローカル変数ウィンドウを確認すると、lastName 変数が <String>mylirstname</String> に設定されているはずです。getFirstName および getLastName の両方の仮想スレッドは、保留中のアウトバウンド状態です。

  11. 「step-into」をクリックします。
  12. ソースエディタをチェックし、デバッガが getFirstName から computeFullName へ遷移しつつあることを確認してください。

  13. 「step-into」をクリックします。
  14. 呼び出しスタックウィンドウで、getFirstName は非アクティブになり、新しく「Virtual Thread (computeFullName, step=3)」が作成されます。

    図 1-39 新しい computeFullName 仮想スレッド
    firstName の新しい値を含むローカル変数ウィンドウの例

    このスレッドは、getLastName からのインバウンド遷移をまだ待機しているため、「pending inbound」状態です (待機が発生するのは、これが and-join 操作であるため。or-join 操作の場合は、プロセスの状態がただちに「ready」になる)。

  15. 「step-into」をクリックします。
  16. デバッガは getLastName から computeFullName への遷移に遷移します。

ステップ 5: computeFullName 処理のステップイン

次の手順を使用して、computeFullName 処理にステップインします。

  1. 「step-into」をクリックします。
  2. この遷移により、「Virtual Thread (computeFullName, step=3)」の状態が、保留中のインバウンドから準備完了に変化します。

  3. 「step-into」をクリックします。
  4. この時点で、Virtual Thread (computeFullName, step=3) の状態は、実行中です。

  5. 「step-into」をあと 5 回クリックします。
  6. ソースエディタを確認すると、デバッガが firstName</argument> タグ上にあり、ローカル変数ウィンドウで Last Value が <String>myfirstname</String> になっています。この値は firstName 引数に渡されます。

ステップ 6: 規則処理のステップスルー

規則処理をステップスルーするには、次の手順に従います。

  1. 「step-into」をあと 3 回クリックします。
  2. デバッガが「compute-full-name」規則にステップインします。

  3. 呼び出しスタックウィンドウで、フレームをクリックして 1 つ上のフレーム上に移動します。
  4. debugger-tutorial-workflow1 内の <rule> 呼び出しが強調表示され、規則の呼び出し元の場所を示します。

  5. 太字の行をダブルクリックして、その行を再選択します。
  6. 「Step-Into」をあと 3 回、またはデバッガが </ref> タグに達するまでクリックします。
  7. ここでローカル変数ウィンドウを確認すると、Last Value エントリは、<ref>firstName</ref> の結果である <String>myfirstname</String> になっています。

  8. 「Step-Into」をあと 3 回、またはデバッガが </concat>  タグに達するまでクリックします。
  9. Last Value エントリは、<concat> 式の結果である <String>myfirstname mylastname</String> になっています。

  10. 「Step-Into」をあと 2 回クリックします。デバッガは </rule> タグに戻ります。
ステップ 7: ワークフロープロセスの完了

ワークフロープロセスを完了するには、次の手順に従います。

  1. </set> 要素に達するまで「step-into」をクリックします。
  2. fullname 変数が <String>myfirstname mylastname</String> に更新されています。

  3. 「step-into」をあと 2 回クリックします。
  4. この時点で、「Virtual Thread (computeFullName, step=3)」の状態は、保留中のアウトバウンドです。

  5. 「Step-Into」をあと 5 回クリックします。
  6. end が準備完了、続いて実行中になり、そのあとデバッガは </WFProcess> タグに達します。これは、プロセスが完了したことを示します。

  7. 「step-into」をクリックします。
  8. 呼び出しスタックウィンドウには「After Checkin View」と表示されます。これは、ワークフローを呼び出した、ビューのチェックイン操作が完了したことを示します。

  9. Identity Manager IDE メインメニューバーの「Continue」ボタンをクリックして、実行を再開します。
  10. ブラウザの要求がタイムアウトしていない場合、プロセスダイアグラムを伴う「Task Results」ダイアグラムが表示されます。

例 2: 手動アクションとフォームを含むワークフローのデバッグ

この例では、手動アクションとフォームを含む、サンプルワークフローのデバッグ方法を説明します。debugger-tutorial-workflow2 チュートリアルファイルを使用し、次の手順を実行します。

  1. debugger-tutorial-workflow2.xml をダブルクリックして、ソースエディタに XML を表示します。
  2. <WFProcess...> タグにブレークポイントを設定します。
  3. 必要に応じて、Identity Manager IDE メインメニューバーで「Debug Main Project」ボタン をクリックします。
  4. Identity Manager にログインし、「Server Tasks」>「Run Tasks」の順にナビゲートします。
  5. 「Available Tasks」ページが表示されたら、「Name」列から debugger-tutorial-workflow2 を選択します。
  6. 設定したブレークポイントでデバッガが停止していることを確認します。

    図 1-40 新しいブレークポイント
    debugger-tutorial-workflow2.xml 内の新しいブレークポイント

  7. 「Step-Into」を 6 回、または、デバッガが <ManualAction... name='getNameAction'> に達するまでクリックします。
  8. 「step-into」をクリックします。
  9. 別のスレッドでフォーム処理が発生するという説明の「Stepping into Manual Action」ダイアログが表示されたら、「Yes」または「Always」をクリックします。
  10. 処理が行われていることを確認するために、ブレークポイントを <Form> タグに設定します。
  11. フォーム処理が完了すると、ワークフローは別のスレッドでの実行を継続します。その結果、</ManualAction> にブレークポイントを設定して、フォームが処理を完了したあとのワークフロー処理を監視する必要があります。

    デバッガでは、指定どおりに <Form> タグと </ManualAction> タグにブレークポイントが設定されています。加えて、呼び出しスタックウィンドウには「After Checkin view」が示されます。ワークフロー処理は可能なかぎり (手動アクションが完了するまで) 進行済みであるため、ワークフロープロセスからのステップアウトが完了します。

  12. 「Continue」をクリックします。デバッガは <Form> 要素に設定されたブレークポイントで処理を停止します。
  13. 呼び出しスタックウィンドウで、次のエントリに注目します。

    • 「Derivation」 - フォーム実行が「derivation」パス上にあることを示します。
    • 「Checkout View (WorkItem:...)」 - 特定の作業項目に対し、ビューのチェックアウトのコンテキストで処理が発生していることを示します。
    • 「ManualAction forms」 - 作業項目ビューに対して作用し、変数オブジェクトを通じてワークフロー変数を操作します。変数オブジェクトを展開して、null でないワークフロー変数を表示します。
  14. このフォームには <Derivation> 式が含まれないため、「Continue」をクリックして次の処理フェーズに進みます。フォーム処理の「HTML Generation (root component)」パスが開始されます。
HTML 生成フェーズ (root コンポーネント)

root コンポーネントの HTML を生成するには、次の手順に従います。

  1. 「step-into」を 2 回クリックします。
  2. デバッガは、タイトルの <Property> 要素を処理しましたが、このプロパティーの値がローカル変数ウィンドウの Last Value エントリに入ります。

  3. 「step-into」をあと 3 回クリックします。
  4. このパスではページの root コンポーネントの構築のみを扱うため、デバッガはフォームフィールドをスキップして </Form> 要素に直接移動します。

  5. 「Continue」をクリックして、フォーム処理の HTML 生成 (サブコンポーネント) パスを開始します。
HTML 生成 (サブコンポーネント)

サブコンポーネントの HTML を生成するには、次の手順に従います。

  1. 「Step-Into」を 13 回、または、デバッガが </Form> タグに達するまでクリックします。
  2. デバッガはこれらの各フィールドを反復処理し、それらの表示プロパティーを評価します。

  3. 「Continue」をクリックします。
  4. 実行が再開されたため、デバッガには中断されたスレッドは表示されません。Identity Manager ブラウザウィンドウに制御が戻ります。

  5. Identity Manager ブラウザウィンドウに戻り、入力を求められたら姓と名を入力して「Save」をクリックします。
  6. デバッガフレームに戻り、デバッガがブレークポイントで中断していることを確認します。

  7. ローカル変数ウィンドウで、変数サブツリーを展開して、今入力した名前が firstName および lastName の値として表示されることを確認します。
  8. デバッガはこの時点で、フォーム処理の確認フェーズです。

確認

このフォームには確認フィールドがないため、処理は発生しません。「Continue」をクリックして、フォーム処理の検証フェーズを開始します。

検証と展開

このフォームには検証式が含まれないため、明示的な処理は発生しません。

  1. 「Continue」をクリックして検証フェーズをスキップし、フォーム処理の展開フェーズに進みます。
  2. 「step-into」を 6 回クリックします。
  3. デバッガは variables.fullName フィールドの <Expansion><rule> タグに移動します。

  4. 「Step-Into」を 5 回クリックします。デバッガは <Rule> 要素にステップインします。
  5. 「Step-Into」を 7 回、または、デバッガが </Rule> 要素に達するまでクリックします。
  6. 「Last Value」に姓名が入ります。

  7. 「step-into」をもう一度クリックすると、フォームでの処理が再開します。
  8. 「step-into」をもう一度クリックします。
  9. トップレベルの variables.fullName には、実行されたばかりの展開式の値が格納されています。フォーム処理中はフォーム出力が独自の一時的な form_outputs データ構造に保持され、そこではパスの式が平坦化されるため、この値は variables データ構造の子ではなくトップレベルのエンティティーとなります。

    フォーム処理のあと、フォーム出力は元のビューに同化されます。暗黙的な変数 form_inputs および form_outputs において、form_inputs は未変更の作業項目ビューを示し、form_outputs は、フォーム処理の完了後にビューに同化される出力フィールドを示します。

    一般に、form_inputs はビューを特定し、form_outputs にはビューに同化されるデータが含まれます。ただし、Active Sync フォームのように、必ずしもすべてのフォームがビューに結び付けられるわけではありません。フォームエンジンは一般的なデータマッピングエンジンであり、フォーム入力からフォーム出力へのマッピングを行います。ビューハンドラは、フォームエンジンにビューを渡す処理と、出力をビューに戻して反映する処理を受け持ちます。

  10. 「Continue」をクリックします。
  11. デバッガは </ManualAction> ブレークポイントに到達します。これは、デバッガが手動アクションにステップインしたときにすでに設定したブレークポイントです。firstName 変数および lastName 変数は、入力した値です。fullName 値は、実行されたばかりの展開式の結果です。

  12. 「Step-Into」を 5 回、<ManualAction... name='displayNameAction'> に達するまでクリックします。
  13. 「step-into」をもう一度クリックします (プロンプトが表示されたら「Yes」または「Always」をクリックする)。
  14. 「Continue」をクリックします。
  15. この時点で、デバッガは displayNameForm の「Derivation」パスの位置です。

取得と HTML 生成 (root コンポーネント)

取得フェーズと HTML 生成フェーズを完了するには、次の手順に従います。

  1. 「Continue」をクリックして、displayNameForm の HTML 生成 (root コンポーネント) 処理を開始します。
  2. 「Step-Into」を 8 回、または、デバッガが subTitle</Property> 要素に達するまでクリックします。
  3. 「Continue」を 2 回クリックします。
  4. デバッガは次のメッセージを表示します。

    No suspended threads because execution has resumed.Control has now returned to the browser window.

  5. Identity Manager ブラウザウィンドウに戻ります。
  6. 表示される情報は、入力したものと同じです。

  7. 「Save」をクリックして、デバッガフレームに戻ります。
  8. この時点で、デバッガは「Confirmation」パスの位置であり、displayNameForm を処理しています。

検証と展開

検証と展開を開始するには、次の手順に従います。

  1. 「Continue」をクリックして検証パスを開始します。
  2. 「Continue」をクリックして展開パスを開始します。
  3. 「Continue」をもう一度クリックします。
  4. 手動アクションが完了したため、この時点でデバッガは </ManualAction> タグの位置です。この時点で、ワークフロー処理は再開されています。

  5. 「Step-Into」を 5 回、または、デバッガがワークフローの実行が完了したことを示す </WFProcess> タグに達するまでクリックします。
  6. 「Continue」をクリックします。
  7. Identity Manager ウィンドウに戻ると、ワークフロープロセスダイアグラムが表示されているはずです。「OK」をクリックします。

例 3: タブ付きユーザーフォームと更新ビューのデバッグ

このサンプルデバッグの手順では、フォームまたはワークフローを起動した場所に関係なく、デバッガのブレークポイントがどのように適用されるかを示します。

この手順を完了するには、次のステップを実行する必要があります。

  1. ブレークポイントを設定します。
  2. 新しいユーザーを作成します。
  3. ビューの更新前の結果を表示します。
  4. ビューの更新後の結果を表示します。
  5. フォームをステップスルーします。
  6. フォームの処理を終了します。
ブレークポイントの設定

ブレークポイントを設定するには、次の手順に従います。

  1. ブレークポイントウィンドウを右クリックして、メニューから「Breakpoints」を選択します。
  2. 「Breakpoints」ダイアログが表示されたら、「Debugger」メニューから「XPRESS」を選択した後、「View」タブを選択します。
  3. 「Refresh View」チェックボックスを有効にします。
  4. これで、実行中にビューが更新されるたびに、デバッガでブレークポイントが実行されるようになります。

新規ユーザーの作成

新規ユーザーを作成するには、次の手順に従います。

  1. Identity Manager で、「Accounts」タブを選択し、左上のドロップダウンメニューから「New User」を選択します。
  2. 「Create User」ページが表示されたら、jean faux のように名と姓を入力します。
  3. 別のタブをクリックして、ビューの更新操作をトリガーします。
  4. Identity Manager がブレークポイントに到達して中断していることに注意してください。

「Before Refresh View」結果の表示

Identity Manager IDE に戻り、次の点を確認します。

ローカル変数ウィンドウで、グローバルサブツリーを展開して、フォームで入力した firstnamelastname の値を探します。fullname の値は、この時点では「null」です。

「After Refresh View」結果の表示

「After Refresh View」の結果を表示する手順は、次のとおりです。

  1. 「Continue」をクリックします。
  2. 呼び出しスタックウィンドウには、「After Refresh View」が一覧表示されます。ここには、更新操作が発生した直後のビューの状態が表示されます。fullname の値はこの時点では「jean faux」です。

  3. 「Continue」をもう一度クリックします。
  4. フォームが実行を再開します。Identity Manager ブラウザウィンドウに戻って、「First Name」を jean2 に変更します。別のタブをクリックして、もう一度更新をトリガーします。

    Identity Manager IDE ソースエディタに戻ると、フォーム処理は「Before Refresh View」の箇所で中断しています。

フォームのステップスルー

フォームをステップスルーするには、次の手順に従います。

  1. 「step-into」をクリックして、実行内の姓名の展開部分を表示します。
  2. 呼び出しスタックウィンドウに「Before Expansion,」が一覧表示されます。これは、フォームの変数が展開されていないことを示します。

  3. 「step-into」をもう一度クリックします。
  4. 呼び出しスタックウィンドウに「Before Expansion, iteration=0」がリストされます。これは、最初の「Expansion」パスの前にフォーム変数が出現することを示します。

  5. 「step-into」をもう一度クリックします。
  6. 呼び出しスタックウィンドウに匿名ソース (Tabbed User Form (Anonymous, line: 3)(begin)) が一覧表示されます。匿名ソースは一時的に作成されるラッパーフォームであり、MissingFields フォームに関連します。

  7. タブ付きユーザーフォームの先頭に達するまで、「step-into」をさらに 2 回クリックします。
  8. <Field name='global.fullName'>」に達するまで「step-into」をクリックし続けます (約 20 〜 30 回のステップイン操作)。
  9. 15 回または </Field> 要素に達するまで「Step-Into」をクリックします。
  10. ステップ操作中に、</concat> タグの Last Value エントリが、jean2 faux になっており、form_outputs 値が global.fullname: jean2 faux になっていることを確認します。

フォーム処理の完了

フォーム処理を完了するには、次の手順に従います。

  1. 「Step-Out」を 7 回クリックします。
  2. この時点で、呼び出しスタックウィンドウが示す内容は次のようになるはずです。

    Refresh View (User)
    After Expansion

    ローカル変数ウィンドウには、すべての展開が実行されたあとのフォーム変数の状態が表示されます。

  3. 「Step-Out」をもう一度クリックします。
  4. これで、「After Refresh View」に到達しました。ローカル変数ウィンドウには、ビュー変数が表示されています。

  5. グローバルサブツリーを展開します。
  6. この時点で、fullname の値は「jean2 faux」です。

  7. 「Continue」をクリックします。

Java と XPRESS のデバッグ

次の例では、カスタム Java コードを作成およびコンパイルする方法と、XPRESS デバッガと Java デバッガの両方を同時に使用する方法を示します。


Identity Manager Project (Remote) は Java のデバッグをサポートしません。



ヒント

この例を始める前に、NetBeans HTTP モニターを無効にして余分なウィンドウを削除してください。

  1. 実行時ウィンドウで「Servers」ノードを展開し、「Bundled Tomcat」を右クリックし、ポップアップメニューから「Properties」を選択します。
  2. 「Server Manager」ダイアログが表示されたら、「Enable HTTP Monitor」ボックスを無効にしてから「Close」をクリックします。

  1. 次の手順を実行してカスタム Java コードを作成します。
    1. 「Projects」タブで「Source Packages」を右クリックし、ポップアップメニューから「New」>「Java Class」を選択します。
    2. 「Class Name」フィールドに TestClass を、「Package」フィールドに testpackage を、それぞれ入力します。
    3. testpackage ノードが表示されたら、次のメソッドを追加します。
    4. public static String concat(String s1, String s2)
      {
         return s1+s2;
      }

    5. このクラスを保存します。
  2. 次の手順を実行してこの Java コードを呼び出す規則を作成します。
    1. プロジェクトウィンドウで、「Custom Identity Manager Objects」を右クリックし、ポップアップメニューから「New」>「File/Folder」を選択します。
    2. 「New File」ダイアログが表示されたら、「Categories」リストから「Sun Identity Manager Objects」を選択したあと、「File Types」リストから「Rule」を選択します。
    3. 図 1-41 「Rule」ファイルタイプの選択
      「Rule」ファイルタイプの指定。

    4. 完了したら、「Next」をクリックします。
    5. 「New Rule」画面が表示されたら、「File Name」フィールドに Test Rule と入力してから「Finish」をクリックします。
    6. 図 1-42 「Rule」ファイルタイプの選択
      規則のファイル名と場所の指定。

      プロジェクトウィンドウが更新され、Test Rule.xml が表示されます。

    7. Test Rule.xml を選択したあと、エディタウィンドウの「Source」タブをクリックしてその XML を表示します。
    8. 必要であれば、<Rule name='New Rule'<Rule name='Test Rule' に変更します。
    9. 次のメソッド呼び出しを挿入したあと、規則を保存します。
    10. <invoke class='testpackage.TestClass' name='concat'>
              <ref>arg1</ref>
              <ref>arg2</ref>
      </invoke>

  3. 次の手順を実行することで、カスタム Java コードのビルドとアプリケーションサーバーの起動を行います。
    1. プロジェクトノードを右クリックし、「Debug Project」を選択します。
    2. Identity Manager IDE が Web アプリケーションをビルドし、サーバーを起動し終わるまで待ちます (所要時間は数分)。

    3. プロンプトが表示されたら、パスワードを入力します。
    4. ログファイルを確認すれば、この規則が自動的にアップロードされたことがわかります。

    5. ブラウザウィンドウが表示されたら、それは閉じてしまってかまいません。
    6. ブラウザを無効にするには、プロジェクトを右クリックし、「Properties」を選択します。「Project Properties」ウィンドウで「Display Browser on Run」のチェックを外します。

  4. Java コード内と XPRESS コード内にブレークポイントを設定します。
    1. Test Rule.xml で、<Rule タグの左にあるマージンをクリックしてブレークポイントを設定します。
    2. TestClass.java で、return s1+s2; 文の左にあるマージンをクリックしてブレークポイントを設定します。
  5. 規則テスターを使って両方のブレークポイントを呼び出します。
    1. NetBeans メニューバーから「Window」>「Rule Tester Inputs」の順に選択することで、「Rule Tester Inputs」ウィンドウを開きます。
    2. プロジェクトウィンドウで Test Rule.xml を選択します。
    3. 「Rule Tester Inputs」ウィンドウを右クリックして、「Add value」を選択します。「New Value」ダイアログが表示されたら、次の情報を入力し、「OK」をクリックします。
      • 「Name」: arg1
      • 「Type」: String
      • 「Value」: myvalue1
    4. 「Rule Tester Inputs」ウィンドウをもう一度右クリックして、「Add value」を選択します。「New Value」ダイアログが表示されたら、次の情報を入力し、「OK」をクリックします。
      • 「Name」: arg2
      • 「Type」: String
      • 「Value」: myvalue2
    5. Test Rule.xml ノードを展開し、「Test Rule」を右クリックしたあと、ポップアップメニューから「Test Rule」を選択します。
    6. 規則を保存するかどうかを確認するメッセージが表示されたら、「Always」をクリックします。
    7. この時点で、規則のブレークポイントに達しています。

    8. 「Step-Into」ボタン 「Step Into」ボタン を 6 回クリックして、Java コード内のブレークポイントに到達させます。
    9. この時点で Java デバッガが有効になっており、ローカル変数ウィンドウに Java 変数が表示されるようになっています。


      Java と XPRESS を同時にデバッグしている場合、実際には 2 つのデバッガが同時に動作しており、両者は互いを認識していません。どちらのデバッガも、独自のブレークポイントとステップイン状態を保持しています。

      Java コード内にブレークポイントが存在していないかぎり、ステップインを実行しても、XPRESS コードから Java コードへのステップインが発生することはありません。


    10. 「Continue」をクリックします。
    11. XPRESS デバッガ内の </invoke> タグに戻っていることに注意してください。また、Last Value にも、呼び出し結果として myvalue1myvalue2 と表示されているはずです。


      Java コードを離れるときには、常に「Continue」をクリックして Java デバッガの実行を再開するようにしてください。Java デバッガをステップ状態で離れると、デバッグのパフォーマンスが大幅に低下します。


    12. 「Continue」を再度クリックして、「Rule Tester Output」ウィンドウ内で規則の結果を確認します。
  6. 規則を次のように変更したあと、再実行します。
    1. <ref>arg1</ref><s>myprefix</s> に変更します。
    2. 規則を右クリックし、「Test Rule」を選択します。
    3. 「Continue」を 2 回クリックし、「Rule Tester Output」ウィンドウで新しい結果を確認します。
  7. Java コードを次のように変更したあと、再実行します。
    1. return s1+s2;return s1+s2+"mysuffix"; に変更します
    2. Java コードを変更したので、再ビルドと再配備を行う必要があります。
      プロジェクトを右クリックし、「Debug Project」を選択します。
    3. 「Test Rule」ノードを右クリックし、「Test Rule」を選択します。
    4. 「Continue」を 2 回クリックすると、「Rule Tester Output」ウィンドウ内に次の結果が表示されるはずです。
    5. <String>myprefixmyvalue2mysuffix</String>

デバッガの停止

Identity Manager IDE デバッガを停止するには、メインメニューバーから「Run」>「Finish Debugging Session」の順に選択します。

デバッガの無効化

デバッグ終了後には必ずデバッガを無効にし、他のユーザーが誤って本稼働環境のアプリケーションサーバーに接続することのないようにします。

デバッガを無効化するには、次の手順に従います。

  1. 「Projects」タブから、「Generic Objects」ノードを展開し、「System Configuration」をダブルクリックして、ソースエディタウィンドウに XML を表示します。
  2. 下方へスクロールするか「Edit」>「Find」を使用して serverSettings.default.debugger.enabled 属性を探し、その値を false に変更します。
  3. <Attribute name='serverSettings'>

            <Object>

              <Attribute name='default'>

                <Object>

                  <Attribute name='debugger'>

                    <Object>

                      <Attribute name='enabled'>

                        <Boolean>false</Boolean>

                      </Attribute>

  4. メインメニューバーで、「File」>「Save」の順に選択して、変更を保存します。
  5. アプリケーションサーバーを再起動します。

テスト環境の外部でのデバッガの実行

デバッグが必要な問題が本稼働環境に見つかった場合は、その問題をテスト環境で再現してデバッグを試みるのが最善です。デバッガでブレークポイントを設定すると、大量のトラフィックが発生している本稼働環境内のアプリケーションサーバーを短時間のうちに停止させる可能性があります。ブレークポイントを設定する位置によっては、他者がシステムを使用できないようにブロックすることも可能です。

独立したテスト環境でデバッグを実行できない場合は、次の手順に従います。

  1. クラスタ内のノードのうちの 1 つをオフラインにすることにより、すべての有効なトラフィックをクラスタのサブセットに振り分けます (以後、このタスクの説明では、このノードを server-a とする)。
  2. Identity Manager IDE を使用し、SystemConfiguration serverSettings.server-a.debugger.enabled プロパティーを true に設定してシステム設定オブジェクトを編集します。
  3. server-a を再起動し、システム設定オブジェクトのプロパティー設定の変更を有効にします。
  4. 適切なホスト (server-a)、ポート、コンテキストパス、ユーザー、およびパスワードを指定して、プロジェクト設定を変更します。
  5. デバッガを開始します。
  6. デバッグが終了したら、serverSettings.server-a.debugger.enabledfalse に設定し、server-a を再起動して、稼働中の本稼働環境にデバッガが接続しないようにします。
  7. server-a をオンラインのクラスタに再統合します。


NetBeans からの Identity Manager IDE のアンインストール

何らかの理由で、Identity Manager IDE モジュールを NetBeans からアンインストールする場合は、次の手順を実行します。

  1. 必要に応じて、NetBeans を開きます。
  2. NetBeans メニューバーで「Tools」>「Module Manager」の順に選択します。
  3. 「Module Manager」ダイアログが表示され (図 1-43)、インストール済みのモジュールがすべてリストされます。「Active」列には、その中の有効なモジュールが示されます。


    Identity Manager IDE では、必要のないモジュールを無効化することにより、起動時間を最小化し、メモリーを節約することができます。無効化されたモジュールはインストールディレクトリから削除されず、単に Identity Manager IDE によって無視されます。無効化されたモジュールは、いつでもふたたび有効にすることができます。


    図 1-43 アンインストールするモジュールの選択
    Identity Manager IDE モジュールを「Module Manager」リストから選択します。

  4. モジュールのリストから Sun Identity Manager を選択します。
  5. 「Uninstall」をクリックします。
  6. Sun Identity Manager モジュールをアンインストールすることを確認するポップアップが表示されます。「OK」をクリックして、アンインストールプロセスを続行します。
  7. プロセスが完了したら、モジュールマネージャーを閉じます。


Identity Manager IDE のトラブルシューティング

この節では、Identity Manager IDE の問題のトラブルシューティング時に必要となる可能性のある情報を提供します。

削除不能エラー

次の状況下では、削除不能を示すエラーメッセージが表示される可能性があります。

メモリー不足エラー

Identity Manager IDE を使用した作業中にメモリー不足エラーが発生する場合には、NetBeans のメモリー設定値を増やす必要があるかもしれません。対処方法については、NetBeans 製品マニュアルを参照してください。

「Tomcat Manager」ダイアログが表示され、ユーザー名とパスワードを要求される

標準の Identity Manager IDE プロジェクトの操作中にバンドル版の Tomcat インスタンスを起動すると「Tomcat Manager」ダイアログが表示される場合、それは一般に、次のいずれかの状態を示しています。

バンドル版 Tomcat のポート番号と格納された資格をチェックするには、次の手順に従います。

  1. Identity Manager IDE の「Runtime」タブを選択し、「Servers」ノードと「Bundled Tomcat」ノードを展開します。
  2. 「Bundled Tomcat」ノードを右クリックし、ポップアップメニューから「Properties」を選択します。
  3. 「Server Manager」ダイアログが表示されたら、「Server Port」、「Username」、「Password」の各フィールドの値をチェックします。


前へ      目次      索引      次へ     


Part No: 820-2530.   Copyright 2007 Sun Microsystems, Inc. All rights reserved.