生成された構成の完了

ツールが Apache Tomcat サーバーおよびアプリケーションの構成を WebSphere Application Server Liberty にマイグレーションした後、生成された構成を完了するためにさらなるアクションを実行する必要がある場合があります。 構成が正常にマイグレーションされたときに開くダイアログ・ボックス内、およびマイグレーション・ログ・ファイル configMigration.log 内に、さらなるアクションが必要かどうかが示されます。 マイグレーション・ログには、構成を完了するために行う必要のある詳細を示した以下のエントリーが含まれています。
  • ** Action required: これらのログ・エントリーは、さらに構成する必要があるエレメントを示します。
  • ** Attention: これらのログ項目は、マイグレーションされなかったエレメント、または Tomcat と比較して Liberty で異なる動作をするエレメントを示します。 構成を完了するためにさらなるアクションが必要かどうかを評価する必要があります。

configMigration.log ファイルは、マイグレーション済みサーバーの migratedConfig ディレクトリー内、およびマイグレーション済みアプリケーションの migratedConfig/[application-name] ディレクトリー内にあります。

以下のセクションには、追加のアクションが必要なエレメントについての情報が含まれています。

Apache ActiveMQ の JMS Resource エレメントのマイグレーション

JMS アプリケーションのマイグレーションをサポートするために、Apache ActiveMQ に関連した Tomcat Resource エレメントは、Liberty サーバー内の組み込み Liberty メッセージング・フィーチャーおよび関連構成エレメントにマイグレーションされます。 アプリケーションは、Liberty 組み込みメッセージング・エンジンを使用するよう構成されている場合、正しく機能するためには JMS インターフェースを使用する必要があります。

WebSphere MQ の JMS Resource エレメントのマイグレーション

WebSphere MQ に関連した Tomcat Resource エレメントは、Liberty WebSphere MQ 構成エレメントにマイグレーションされます。 Liberty から WebSphere MQ に接続するには、WebSphere MQ リソース・アダプターを使用する必要があり、これを別途インストールする必要があります。 WebSphere Application Server Liberty用の WebSphere MQ リソース・アダプターのインストールについて詳しくは、 http://www.ibm.com/support/docview.wss?uid=swg21633761を参照してください。

WebSphere MQ リソース・アダプターの場所は、生成された構成内で wmqJmsClient.rar.location 変数によって指定されています。 デフォルトのロケーションは ${shared.resource.dir}/wmq/wmq.jmsra.rar です。 指定されている場所にファイルをコピーするか、WebSphere MQ リソース・アダプター・ファイルの場所を参照するように wmqJmsClient.rar.location 変数を変更してください。

BINDING モードで、または共有メモリーを使用することで JMS アプリケーションを WebSphere MQ に接続できるようにするには、Liberty サーバーと WebSphere MQ を同じサーバー上にデプロイする必要があります。 JMS アプリケーションを BINDING モードで接続できるようにするためには、生成された構成内の wmqJmsClient エレメントの nativeLibraryPath 属性で WebSphere MQ ネイティブ・ライブラリーの場所を手動で指定する必要もあります。

MongoDB を使用するアプリケーションのマイグレーション

MongoDB を使用する Tomcat アプリケーションが MongoDB Java ドライバーを参照する必要がないとしても、MongoDB Java ドライバーを共有ライブラリーとして使用する Liberty アプリケーションでドライバーへのライブラリー参照が必要となります。 MongoDB を使用し、それを共有ライブラリーとして参照するアプリケーションのマイグレーションをサポートするために、マイグレーション・ツールは共有ライブラリー構成を生成し、library エレメントに MongoDB Java ドライバーの場所を指定します。 ドライバーのデフォルトの場所は、${shared.resource.dir}/mongo-java-driver-*.jar です。

マイグレーション・ツールは、直近の Tomcat サーバー構成マイグレーションで使用された Tomcat サーバー・ランタイム・ディレクトリーから library エレメントに指定された場所に、必要なドライバー・ファイルをコピーすることを試みます。 Tomcat サーバー・ランタイム・ディレクトリーは、migratedConfig/server-updates-for-config.xml ファイルの tomcatServerRuntimeDirectory 変数に保存されています。 tomcatServerRuntimeDirectory が指定されていない場合、マイグレーション・ツールは CATALINA_HOME システム環境変数によって指定されている場所から必要なファイルをコピーすることを試みます。

必要なドライバー・ファイルが見つからない場合は、 ** Action required: 項目がログに記録されます。 指定されている場所にファイルをコピーするか、ドライバーの場所を参照するように library エレメントを変更する必要があります。

データベース Resource エレメントのマイグレーション

データベースを使用するアプリケーションのマイグレーションをサポートするために、IBM DB2、Apache Derby、Oracle データベース、Sybase ASE、Microsoft SQL Server、および MySQL に関連した Tomcat Resource エレメントは、Liberty サーバー内の dataSource 構成エレメントにマイグレーションされます。 生成された構成は、${shared.resource.dir} プロパティーによって指定された場所にある特定のファイルを探します。 MongoDB を使用するアプリケーションも library 構成エレメントを生成します。

マイグレーション・ツールは、直近の Tomcat サーバー構成マイグレーションで使用された Tomcat サーバー・ランタイム・ディレクトリーから ${shared.resource.dir} プロパティーによって指定された場所に、必要なファイルをコピーすることを試みます。 Tomcat サーバー・ランタイム・ディレクトリーは、migratedConfig/server-updates-for-config.xml ファイルの tomcatServerRuntimeDirectory 変数に保存されています。 tomcatServerRuntimeDirectory が指定されていない場合、マイグレーション・ツールは CATALINA_HOME システム環境変数によって指定されている場所から必要なファイルをコピーすることを試みます。

必要なドライバー・ファイルが見つからない場合は、 ** Action required: 項目がログに記録されます。 指定されている場所にファイルをコピーするか、ファイルの場所を参照するように、生成された構成を変更する必要があります。

各データベース・タイプのファイルを以下の表にリストします。

データベース ${shared.resource.dir} プロパティーによって指定される場所に予期されるファイル
Apache Derby derby.jar
IBM DB2 db2jcc4.jar および db2jcc_license_cisuz.jar または db2jcc_license_cu.jar のいずれか
Oracle データベース、シン・ドライバー ojdbc6.jar
Oracle データベース、OCI ドライバー Oracle データベース client ディレクトリーのすべての内容
Sybase ASE、JDBC3 ドライバー jconn3.jar
Sybase ASE、JDBC4 ドライバー jconn4.jar
Microsoft SQL Server、Microsoft JDBC ドライバー sqljdbc4.jar
Microsoft SQL Server、Progress DataDirect ドライバー sqlserver.jar
MySQL サーバー mysql-connector-java-version.jar (ここで、version は、MySQL JDBC ドライバーのバージョンです)
MongoDB、Java ドライバー mongo-java-driver-version.jar (ここで、version は、MongoDB Java ドライバーのバージョンです)
注: Oracle OCI ドライバーが Tomcat ソース構成に存在する場合、生成されるライブラリー構成は、他のデータベースの場合のように JDBC ドライバー構成内に含まれません。 OCI ドライバー用ライブラリーは、すべてのアプリケーションで共有されなければなりません。 したがって、ライブラリーは、別個のインクルード・ファイル migratedConfig/shared-libraries.xml 内に生成されます。 次にライブラリーの ID は、jdbcDriver エレメント上の libraryRef 属性で参照されます。 マイグレーション・ツールは Oracle データベース client ディレクトリーの場所を判別できないため、マイグレーション・プロセス中に必要なファイルはコピーされません。

tomcat-users エレメントのマイグレーション

tomcat-users エレメントを含む次の構成ファイルがマイグレーションされます。

  • MemoryRealm エレメントの pathname 属性によって参照されるファイル
  • MemoryUserDatabaseFactory factory 属性を使用する Resource エレメントの pathname 属性、および UserDatabaseRealm Realm エレメントによって参照されるファイル
  • conf/tomcat-users.xml ファイル (前述の MemoryRealm エレメントまたは Resource エレメントが pathname 属性を定義していない場合)

pathname 属性で参照されるファイルは、Tomcat サーバー・ディレクトリーと相対的であるか、または絶対ファイル名です。 複数のレルムが構成可能であるため、tomcat-users エレメントを含む複数の構成ファイルをマイグレーションできます。 マイグレーション後のファイルでのファイル名の競合を回避するために、生成される Liberty ファイル名は Tomcat 構成ファイル名およびディレクトリーから派生されます。 例えば、conf/tomcat-users.xmlmigratedConfig/conf_tomcat-users_users-and-roles.xml にマイグレーションされます。

アプリケーション security-role エレメントのマイグレーション

Tomcat で、* に設定された security-constraint/auth-constraint/role-name エレメントの意味は、UserDatabaseRealm または MemoryRealm のいずれかの構成の allRolesMode 属性の値によって定義されます。 allRolesMode 属性は、次の値にすることができます。

  • allRolesMode="strict" -アプリケーションの web.xml ファイルのすべての定義済み security-role エレメントが、Liberty の application-bnd security-role エレメントおよび group エレメントにマイグレーションされます。
  • allRolesMode="authOnly" - Liberty application-bnd エレメントは、ALL_AUTHENTICATED_USERS に設定された type 属性を持つ special-subject エレメントを定義している security-role エレメントを使用して作成されます。
  • allRolesMode="strictAuthOnly" - security-role エレメントがアプリケーションの web.xml ファイルに定義されている場合、値は、strict モードである場合と同様にマイグレーションされます。 役割が定義されていない場合、マイグレーションは authOnly モードである場合と同様に実行されます。

allRolesMode 属性が定義されていない場合、デフォルト値は strict です。 複数のレルムがさまざまな allRolesMode 値を定義している場合、authOnlystrictAuthOnlystrict の順に最も柔軟な値がマイグレーションされます。

SSL 対応コネクターのマイグレーション

サポートされるすべての SSL コネクターは、同等の httpEndpoint エレメントにマイグレーションされます。 サポートされるプロトコル・タイプは「HTTP1.1」、「org.apache.coyote.http11.Http11Protocol」、「org.apache.coyote.http11.Http11NioProtocol」、または、デフォルト値であるプロトコルの指定なしです。 他のプロトコル・タイプを使用するコネクターはマイグレーションされません。

SSL 対応コネクターにリダイレクトするコネクターは、httpEndpoint エレメントの httpPort 属性および httpsPort 属性に一緒に関連付けられます。 鍵ストアおよびトラストストアのパスワードは、マイグレーション時にエンコードされます。 ポートが、存在しない SSL 対応コネクターまたはサポートされていないプロトコルである SSL 対応コネクターにリダイレクトする場合、httpsPort 属性は -1 に設定されます。これにより、ポートは無効になります。

複数のポートを Liberty 上の同じ SSL 対応ポートにリダイレクトすることはできません。 この構成が検出されると、マイグレーション・ツールは最初の httpEndpoint のみを SSL 対応ポートと関連付け、生成される残りの httpEndpoint エレメント上の httpsPort 属性を -1 に設定します。

Tomcat コネクターが、セキュリティーが必要であるにもかかわらず、鍵ストア情報を提供しない場合、マイグレーション・ツールは Liberty によってサポートされるデフォルトの SSL 構成を生成します。

変数のマイグレーション

マイグレーション・ツールは、Tomcat 構成で参照される変数を Liberty サーバー構成にマイグレーションします。 Tomcat catalina.properties ファイル内の変数定義は、デフォルトでは migratedConfig/variables.xml ファイルにマイグレーションされます。 変数が catalina.properties ファイルに定義されていない場合、またはシステム・プロパティーとして定義されていない場合は、 ** Action required: 項目がログに記録されます。 Liberty サーバーで変数を構成するか、その変数を参照しないよう構成を変更してください。

WebSphere Application Server Liberty は、ストリング「${」を含む変数名をサポートしていません。 変数名にこのストリングが含まれている場合は、 ** Action required: 項目がログに記録されます。 有効な名前を持つ変数を構成するか、その変数を参照しないよう構成を変更してください。

変数が別の変数の名前を含む値を持っている場合、Liberty サーバーは Tomcat とは異なる方法で値を解釈します。 Liberty サーバーが値を別の変数を参照しているものとして解釈する一方、Tomcat サーバーは値をリテラル・ストリングとして解釈します。 Liberty サーバーが変数参照として解釈する可能性のある値が変数に含まれている場合、 ** Action required: 項目がログに記録されます。 変数をその値の参照をなくして構成するか、その変数を参照しないよう構成を変更してください。

アプリケーションの virtual-host エレメントの構成

Liberty サーバー上でアプリケーションを特定の仮想ホストにバインドするには、アプリケーションの ibm-web-bnd.xml ファイルに virtual-host エレメントが含まれている必要があります。 virtual-host name 属性の値は、 migratedConfig/server.xml ファイル内の Liberty サーバーで構成されている virtualHost id 属性の値でなければなりません。 アプリケーションをマイグレーションするときに、アプリケーション用の仮想ホストを選択できます。