高度なカスタマイズ > Info*Engine 実装 > コンフィギュレーションプロセスについて
  
コンフィギュレーションプロセスについて
以下のトピックでは、Info*Engine コンポーネントを設定するときに必要な基本概念とツールについて説明します。
Info*Engine コンフィギュレーション
ネーミングサービスは Info*Engine コンフィギュレーションファイルを使用して Info*Engine コンポーネントの検索に必要な情報を保存します。すべての Info*Engine サーブレット、Info*Engine サーバー、タスクプロセッサ、アダプタ、およびゲートウェイの名前と場所は、JSON エントリで指定する必要があります。各コンポーネントに関連付けられているプロパティは、JSON ファイルにキーと値のペアとして保存されます。ネーミングサービスでは、この情報の要求があったときに、コンポーネントのプロパティ設定が実行されます。
インストール時に設定された情報を手動で変更することはできません。後で特定の値を変更する必要が生じた場合は、「プロパティ管理」ユーティリティを使用してアダプタエントリ値を修正します。
サービス名を使用した Info*Engine サービスのリクエストを受け、同じ LDAP サービス名を持つコンポーネントが 1 つ以上存在する場合、ネーミングサービスは使用するコンポーネントを無作為に選択します。
Info*Engine プロパティ管理
Info*Engine プロパティ管理ユーティリティを使用して、Info*Engine コンポーネントの JSON エントリを設定します。Info*Engine インストーラは、ネーミングサービス、Info*Engine サーブレット、Info*Engine サーバー、およびインストールするタスクプロセッサに JSON エントリを設定します。
ネイティブアダプタをインストールした後、アダプタのプロパティを設定する必要があります。非ネイティブアダプタをインストールした後、ゲートウェイプロパティを設定して、非ネイティブアダプタのゲートウェイを定義する必要があります。
Info*Engine JSON エントリを表示または修正したり、ほかのコンポーネントにエントリを追加したりするには、Info*Engine プロパティ管理ユーティリティを起動します。Info*Engine プロパティ管理ユーティリティは、JSP ルートディレクトリの下位の infoengine/jsp/admin ディレクトリにあります。たとえば、インストールによって JSP ルートディレクトリにデフォルトの「Windchill」エイリアスが設定され、Info*Engine がローカルホスト上でデフォルトのポートを使用してインストールされたと仮定します。次の URL を入力して、Info*Engine プロパティ管理ユーティリティを起動します。
http://localhost/Windchill/infoengine/jsp/admin/index.jsp
または、Windchill の「ナビゲータ」枠で、「サイト」 > 「ユーティリティ」 > 「Info*Engine 管理」の順に選択します
Info*Engine コンポーネントの再設定
最初のインストール時に、Windchill インストーラは Info*Engine サーブレット、ネーミングサービス、Windchill アダプタの JSON エントリを作成します。
Info*Engine コンポーネント (アダプタおよびゲートウェイなど) を再設定するには、Info*Engine プロパティ管理ユーティリティを使用します。各コンポーネントのプロパティは、JSON ファイルにキーと値のペアとして保存されます。コンポーネントを再設定するには、プロパティ管理のメインページでそのコンポーネントの名前をクリックして、属性を含むフォームを表示します。詳細については、既存のエントリの編集を参照してください。
コンポーネント名
Info*Engine の各コンポーネントには、サービス名とランタイムサービス名があります。コンポーネントの JSON エントリを作成する際に、これらの名前を指定します。デフォルトでは、サービス名とランタイムサービス名は同じです。サービス名は、Info*Engine プロパティ管理ユーティリティでサービスを識別する名前で、通常、Webject またはタスクがサービスのインスタンスをリクエストするときに指定される名前です。Java コマンド引数またはサーブレットエンジンの初期化パラメータによって、コンポーネントを起動するときに、ランタイムサービス名を使用します。ランタイムサービス名によって、サービスのプロパティのプリフィックスが定義されます。
通常、サービス名とランタイムサービス名は同じです。ただし、使いやすく短いサービス名を使用してアダプタ Webject INSTANCE パラメータでの入力を簡単にするために、管理者は、Info*Engine プロパティ管理サービスフォームの「サービス名」および「ランタイムサービス名」の両フィールドで指定されるデフォルトの名前と異なるサービス名を作成できます。
次の表は、Info*Engine コンポーネントに対して提示される名前を示しています。
Info*Engine コンポーネント
提示された名前
サーブレット
domainPath.servlet
SOAP RPC サーブレット
domainPath.rpc
ネーミングサービス
domainPath.namingService
サーバー
domainPath.server
JDBC アダプタ
domainPath.jdbcAdapter
JNDI アダプタ
domainPath.jndiAdapter
Windchill アダプタ
domainPath.Windchill
ゲートウェイ
domainPath.gateway
各名前に示されている domainPath は、コンポーネントが動作または常駐するドメインのホストを定義します。インストールの際に、入力されるネーミングサービスサーチベースにパスが設定されます。たとえば、サーチベースが「dc=myLocation,dc=myCompany,dc=com,ou=pIE,l=Pacific,o=myCompany,c=US」に設定されている場合、企業のシステム内に Info*Engine LDAP エントリに使用される同様のパスがないと仮定すると、"com.myCompany.myLocation" という domainPath を使用できます。
コンフィギュレーションプロパティ
Info*Engine コンポーネントは、JSON エントリに保存されているキーと値のペアを使用して、コンフィギュレーションプロパティを定義および維持します。Info*Engine コンポーネントプロパティは、ランタイムサービス名で始まる個々のコンポーネントに適用され、そのコンポーネントの使用時に読み込まれます。
たとえば、「com.company.Ldap1」のランタイムサービス名が JNDI アダプタを定義した場合、そのコンフィギュレーションプロパティの名前は「com.company.Ldap1」で始まります。したがって、プロパティ管理フォームで JNDI アダプタの「サーチベース」フィールドに値を入力すると、com.company.Ldap1.searchBase プロパティが設定されます。
* 
Windows システムでは、円マーク (\) がディレクトリセパレータですが、Info*Engine プロパティ管理ユーティリティの例で示されているファイルのパスでは、スラッシュ (/) がファイルパスのセパレータとして使用されています。スラッシュを指定すると、Info*Engine はすべてのシステムファイルパスを正しく識別します。Windows ファイルパスにバックスラッシュを使用する場合、ファイルパスでバックスラッシュをエスケープする必要があります。つまり、パスの各バックスラッシュ (\) に対して、2 つのバックスラッシュ (\\) を入力します。
プリフィックスとしてランタイムサービス名を使用すると、混乱を引き起こさずに適切なプロパティが適切なコンポーネントに適用されて、すべてのコンポーネントプロパティをメモリにロードできます。同じプリフィックスを持つプロパティが何回も手動で設定されている場合、最後に読み込まれたプロパティの値が使用されます。Info*Engine は、LDAP エントリが読み込まれる順序を制御しないので、プロパティが数回設定されている場合、結果として生じるプロパティの値は予測できません。
通常、ユーザーは Info*Engine の各コンポーネントに一意の LDAP ディレクトリエントリを 1 つ維持します。ただし、1 つの LDAP サービスエントリに複数のコンポーネントに共通するプロパティを維持しておいて、プロパティを使用する各コンポーネントの LDAP エントリを含めることができます。Info*Engine プロパティ管理ユーティリティには、この目的のために、フォーム上に「その他のサービス」セクションが設けられています。
Info*Engine は、コンフィギュレーションプロパティを以下の 2 つの方法で使用します。
コンポーネントが起動する際に、プロパティが設定されます。大部分のコンポーネントでは ie.properties ファイルを使用します。ie.properties ファイルには、LDAP 情報を指定する seeAlso プロパティが含まれています。これによって、このファイルにアクセス制御を設定し、ps コマンドの使用によって機密情報が表示されるのを防ぐことができます。
Info*Engine がリクエストを処理するためにコンポーネントのインスタンスを作成する際に、プロパティが読み込まれます。
ie.properties ファイルについて
ie.properties ファイルは Info*Engine がインストールされている /codebase/WEB-INF ディレクトリにあり、Info*Engine コンフィギュレーション JSON ファイルへの参照が含まれています。この参照には、サービスが Info*Engine コンフィギュレーション JSON ファイルにアクセスできることを確認するための検証情報も含まれています。
Windchill インストーラは、ユーザーが LDAP 設定の入力時に指定した値に基づいて、ie.properties ファイルのコンテンツを作成します。以下の設定が含まれます。
LDAP サーバー DNS 登録ホスト名
管理者の識別名
管理パスワード
製品プロパティの基本識別名
* 
ie.properties ファイルのコンテンツは site.xconf ファイル内のエントリから生成され、xconfmanager ユーティリティを使用して設定されます。このファイルを直接編集することはできません。
たとえば、以下のように値が設定されているとします。
「管理者の識別名」が「cn=Manager」
「管理パスワード」が「admin」
「LDAP サーバーの DNS 登録ホスト名」がローカルホスト「host.company.com」
「製品プロパティの基本識別名」が「cn=configuration,cn=Windchill_10,o=Company」
この例では、ie.properties ファイルには以下が含まれます。
seeAlso=ldap://cn=Manager:encrypted.ie.ldap.managerPw@host.company.com/
cn=configuration,cn=Windchill_10,o=Company
com.myCompany.myState.myHost.namingService.
directoryProvider=ldap://cn=Manager:encrypted.ie.ldap.managerPw@host.company.com
* 
この例の LDAP のパスワードは「admin」ですが、ie.properties ファイルにはプレーンテキストでこのパスワードは格納されません。実際のパスワードは WTKeystore に格納され、必要に応じて取得されます。
Info*Engine では、ie.properties ファイルを使用することにより、管理者のユーザー名とパスワードを、一部のオペレーティングシステムで表示可能な個々の起動スクリプトではなく、比較的安全なファイルに保存できます。さらに、このファイルの内容を変更するだけで、異なった LDAP エントリのセットを簡単に使用でき、LDAP 認証を簡単に変更できます。
* 
ie.properties ファイルの内容を変更するには、xconfmanager ユーティリティを使用します。詳細については、xconfmanager ユーティリティについてを参照してください。それ以外の場合は、コマンドラインで以下のコマンドを入力します。
xconfmanager --help