高度なカスタマイズ > Info*Engine 実装 > アダプタとゲートウェイの設定
  
アダプタとゲートウェイの設定
このトピックでは、ゲートウェイとネイティブまたは非ネイティブのアダプタの設定手順を概説します。
プロセス内アダプタとゲートウェイの設定
ネイティブアダプタまたはゲートウェイが、SAK として同一の Java 仮想マシン (JVM) でのみ動作する場合、アダプタまたはゲートウェイは、接続用の独自のポートを必要としません。プロセス内アダプタとゲートウェイの例には、JSP アプリケーションまたはタスクプロセッサ内で動作するサーブレットが含まれています。これらのインスタンスでは、SAK はアダプタまたはゲートウェイに関連付けられたクラスファイルを検索できる必要があります。
必要な情報を提供するには、アダプタまたはゲートウェイの LDAP エントリに以下の属性を含める必要があります。
アダプタまたはゲートウェイのサービス名。通常、これはユーザーがアダプタまたはゲートウェイにアクセスするために Webject INSTANCE パラメータに入力する名前です。
入力する名前は、ロードバランスまたは障害に対する冗長サービスを提供する場合を除いて、ネーミングサービスサーチベース内で一意でなければなりません。アダプタまたはゲートウェイサービスをネーミングするには、サイトによって設定される LDAP ネーミング規則を使用します。デフォルトで使用される規則については、Info*Engine LDAP ディレクトリを参照してください。
LDAP エントリの識別名。デフォルトで、Info*Engine プロパティ管理ユーティリティでは、アドミニストレータ起動時に入力したベース URI とサービス名に基づいて識別名を提案します。
「サービス名」フィールドに値を入力すると、識別名の ptcServiceName 属性が更新され、サービス名の変更が反映されます。サービスに対して正しい LDAP エントリが作成されるようにするため、ptcServiceName 属性は手動で修正しないでください。デフォルト場所とは異なる LDAP ディレクトリの場所にエントリを常駐させる場合、識別名でほかの属性を修正できます。
ランタイムサービス名。
最初に、プロパティ管理ユーティリティにより、「サービス名」フィールドに入力された名前と同じ名前が「ランタイムサービス名」フィールドに追加されます。ランタイムサービス名を削除すると、入力するサービス名がランタイムサービス名になります。ランタイムサービス名は、設定されているプロパティにあらかじめ付加されています。アダプタまたはゲートウェイがインスタンス化される際に、この名前で始まるプロパテが使用されます。
サービスクラス。この属性は、アダプタまたはゲートウェイに使用されるクラスファイルを識別します。
対応するアダプタガイドまたはプロパティ管理ユーティリティのヘルプで説明されているアダプタまたはゲートウェイプロパティ。
Info*Engine サーバーがプロセス内アダプタをサポートするように設定するには、アダプタのクラスファイルをサーバーのコードベースに加える必要があります。アダプタのクラスファイルが、codebase/WEB-INF ディレクトリ内の lib または classes ディレクトリに含まれている場合、変更する必要はありません。
プロセス内でゲートウェイを使用するためには、これ以上の設定は必要ありません。
プロセス外アダプタとゲートウェイの設定
ネイティブアダプタまたはゲートウェイが独自の Java 仮想マシン (JVM) で動作するように設定されている場合、アダプタまたはゲートウェイには独自の接続ポートが必要で、別々に起動する必要があります。また、ネーミングサービスはこのアダプタまたはゲートウェイを検索できる必要があります。
必要な情報をネーミングサービスに提供するには、アダプタまたはゲートウェイの LDAP エントリに以下の属性を含める必要があります。
アダプタまたはゲートウェイのサービス名。通常、これはユーザーがアダプタまたはゲートウェイにアクセスするために Webject INSTANCE パラメータに入力する名前です。
入力する名前は、ロードバランスまたは障害に対する冗長サービスを提供する場合を除いて、ネーミングサービスサーチベース内で一意でなければなりません。アダプタまたはゲートウェイサービスをネーミングするには、サイトによって設定される LDAP ネーミング規則を使用します。デフォルトで使用される規則については、Info*Engine LDAP ディレクトリを参照してください。
LDAP エントリの識別名。
デフォルトでは、Info*Engine プロパティ管理ユーティリティにより、ユーティリティにログインしたときに入力したサービス名とベース URI に基づいて識別名が提案されます。「サービス名」フィールドに入力すると、識別名の ptcServiceName 属性が更新され、サービス名の変更が反映されます。サービスに対して正しい LDAP エントリが作成されるようにするため、ptcServiceName 属性は手動で修正しないでください。デフォルト場所とは異なる LDAP ディレクトリの場所にエントリを常駐させる場合、識別名でほかの属性を修正できます。
ランタイムサービス名。
最初に、プロパティ管理ユーティリティにより、「サービス名」フィールドに入力された名前と同じ名前が「ランタイムサービス名」フィールドに追加されます。ランタイムサービス名を変更すると、入力するサービス名がランタイムサービス名になります。ランタイムサービス名は、設定されているプロパティにあらかじめ付加された名前、およびアダプタまたはゲートウェイを起動するときに使用する名前です。
アダプタまたはゲートウェイが常駐するホスト。
ホストと関連付けられたポート番号またはポート範囲。
ポート範囲を指定する場合、下のポート番号と上のポート番号をダッシュで区切ります (例: 1001-1005)。起動時に、プロセス外アダプタによってポート範囲内で最初の使用可能ポートが選択されます。Info*Engine の要求は、使用中の設定範囲内のポート全体にロードバランスされます。
アダプタにデータを送る際に Info*Engine が使用するシリアル化のタイプ。デフォルトでは、Info*Engine コンポーネントは Java シリアル化を使用します。Java シリアル化は、データタイプ情報を保持するので、データは Info*Engine カスタムアプリケーション、JSP、またはタスク内から簡単に操作できます。
このタイプを変更する必要があるのは、設定しているプロセス外アダプタが Info*Engine Release 6 以前のアダプタである場合、または XML のみを受け入れるカスタムアダプタである場合に限られます。これらの場合は、「シリアル化タイプ」フィールドを「xml」に設定してください (ptcObjectSerializationType 属性が text/xml に設定されます)。それ以外の場合、属性のデフォルト設定を java にできます (これによって、属性は application/java-serialization-object に設定されます)。
対応するアダプタガイドまたはプロパティ管理ユーティリティのヘルプで説明されているアダプタまたはゲートウェイプロパティ。
ホストおよびポート以外は同じプロパティセットを使用する複数のコンポーネントを設定するには、1 つの LDAP エントリにホストとポートのペアを複数追加するか、ホストとポートの範囲を 1 つ設定します。そのエントリが使用されると、Info*Engine がアダプタ全体にロードバランスされ、設定済みのネットワークアドレスで要求が受信されます。
Windchill アダプタサービスなどのアダプタサービスを作成することもできるので、プロセス内およびプロセス外アダプタとして実行できます。プロセス内アダプタ用のサービスクラスとプロセス外アダプタ用のホストとポートの両方をアダプタフォームに加えると、Info*Engine はプロセス内でアダプタを実行するタイミングを決定し、可能なときには必ず実行します。プロセス内でアダプタサービスを呼び出し可能の Info*Engine サービスを定義する場合、「共存サービス」フィールドに各サービスの識別名を入力できます。
Info*Engine ネーミングサービスが起動される際に、プロセス外アダプタを自動的に起動するには、起動スクリプトを作成し、スクリプトをネーミングサービスフォームのネーミングサービスの「起動」フィールドで指定します。起動コマンドの -DmyName 引数で、アダプタ LDAP ディレクトリエントリで使用したランタイムサービス名を使用します。
アダプタまたはゲートウェイがネーミングサービスと同じハードウェア上にない場合、リクエストされたときにアダプタまたはゲートウェイが動作していることを確認する方法を決定する必要があります。
アダプタおよびゲートウェイエントリの作成
LDAP ディレクトリでアダプタまたはゲートウェイエントリを作成するには、Info*Engine プロパティ管理ユーティリティの「エントリを作成」ドロップダウンメニューから、対応するアダプタまたはゲートウェイを選択します。プロパティフォームの表示されたウィンドウが開きます。必須のプロパティフィールドの横にはアスタリスク (*) が表示されます。設定しているアダプタまたはゲートウェイによっては、フォームに設定可能な追加プロパティが含まれている場合があります。プロパティ管理ユーティリティのヘルプと対応するアダプタガイドを使用して、実際に設定するプロパティを決定します。
デフォルトでは、アダプタのフォームに正しいサービスクラスが常に表示されます。したがって、プロセス内アダプタとゲートウェイの場合、「サービス名」フィールドに一意の名前を入力し、ほかのアダプタのプロパティを環境に応じて設定します。たとえば、JNDI アダプタのフォームでは、ユーザー、パスワード、URL、ドライバ、および接続するデータベースのタイプの値を入力できます。
JNDI フォームのフィールドの例を以下に示します。
この例では、ptcServiceName 属性と「ランタイムサービス名」の値は、最初に「サービス名」の値「com.myCompany.myLocation.myHost.jdbcAdapter」に設定されています。プロセス外アダプタの場合、サービスクラスではなく、ホストとポートを指定する必要があります。
フォームでは、「プロバイダの URL」フィールドが必須フィールドであることも示されています (アスタリスク記号 (*) で示されます)。
アダプタ用 INSTANCE 名の定義
アダプタやゲートウェイなどの Info*Engine コンポーネントをサイトでネーミングする規則の定義とともに、アダプタとゲートウェイへアクセスするために使用する名前をユーザー集団に伝える必要があります。これらの名前は、アダプタ Webject の INSTANCE パラメータに対するデータ値で指定されます。
ネーミングサービスは、以下のコンポーネント名の形式を認識します。
LDAP エントリの ptcServiceName 属性で定義される簡単な名前。エントリがネーミングサービスサーチパスにある場合に、この名前を使用できます。たとえば、ptcServiceName 属性が「com.myCompany.myHost.jdbcAdpt」に設定されている場合、INSTANCE データ値は以下のようになります。
com.myCompany.myHost.jdbcAdpt
完全修飾識別名。この名前は、LDAP ディレクトリの任意の場所にある特定の Info*Engine LDAP エントリを検索するために使用できます。
たとえば、「com.myCompany.myHost.jdbcAdpt」エントリが「dc=myHost,dc=myCompany,dc=com,ou=Applications,o=myCompany」に配置されている場合、識別名は以下の形式で使用されます。
ptcServiceName=com.myCompany.myHost.jdbcAdpt,dc=myHost,dc=myCompany,
dc=com,ou=Applications,o=myCompany
以下の形式で表示されるドメインベースの参照名。
ptcServiceName@dc_attributes
このフォーマットで、ptcServiceNameptcServiceName 属性の値で、dc_attributes は LDAP エントリのドメインロケーションを構成する dc 属性です。ここで、それぞれの属性はピリオドで区切ります。
* 
ドメインベース参照名は、Info*Engine エントリが配置されている LDAP ディレクトリが、ルートレベルディレクトリとして dc=com を使用して構築されている場合、または、ネーミングサービスの .serviceDomainBase プロパティがエントリの識別名に使用される属性値をドメインの後ろに配置するように設定されている場合にのみ使用できます。
たとえば、ptcServiceName 属性値が「com.myCompany.myHost.jdbcAdpt」で、「dc=myHost,dc=myCompany,dc=com,ou=Applications,o=myCompany」ブランチでエントリが検索された場合、以下のドメインベースの参照名は、.serviceDomainBase プロパティが「ou=Applications,o=myCompany」に設定されている場合にのみ使用できます。
com.myCompany.myHost.jdbcAdpt@myHost.myCompany.com
.serviceDomainBase プロパティを設定するには、Info*Engine プロパティ管理ユーティリティを使用します。詳細については、プロパティ管理ユーティリティのプロパティヘルプを参照してください。
通常、ptcServiceName 属性で定義されている簡単な名前を入力すると、INSTANCE パラメータ値に対して有効に機能します。ただし、サイトに最適な方策を決定するには、Info*Engine LDAP エントリを作成する方法およびネーミングサービスのサーチパスに対するエントリの場所を確認する必要があります。