WebSphere V6.1 以前からアプリケーションをマイグレーションする場合にバージョン 1.4 以下のアプリケーションを使用する

資料に示されているとおり プログラミング・モデル API および仕様 の記事「WebSphere Application Server」では、以下の Java EE レベルをサポートしています。

サポートされないバージョンまたは指定されていないバージョンのアプリケーションは、アプリケーション・サーバーでサポートされる最も高いバージョンで実行されます。

例えば、5.0 の application.xml を使用するアプリケーションは、WebSphere Application Server v6.1 で 1.4 のバージョンのアプリケーションとして処理されます。 一方、WebSphere Application Server v7 では、同じアプリケーションが 5.0 のアプリケーションとして処理されます。 アプリケーションのバージョンによってこのように変わることが原因で、望まない変更が振る舞いで発生する可能性があります。

具体的な問題の 1 つとして、WebSphere 6.1 は、XMI 形式を使用してアプリケーション・バインディングを生成します。Java EE バージョン 5 のアプリケーションは、XML 形式のバインディングおよび拡張を予期します。 ibm-web-bnd.xmi ファイルに仮想ホスト情報を持つ Java EE 5 のバージョンのアプリケーションを WebSphere v7 にマイグレーションしようとすると、インストールが失敗します。これは、WebSphere v7 以上では、ibm-web-bnd.xml ファイルで仮想ホスト情報を探し、 このシナリオの場合、バインディングの xml ファイルが存在しないためです。 アプリケーションがバージョン 1.4 であれば、xmi を引き続き正しく読み取ることができます。

別の失敗のシナリオとして、バージョン 7 以上のデプロイメント・マネージャーは、アプリケーションの指定された Java EE レベルをサポートしないノードに Java EE アプリケーションをデプロイすることを許可しません。 つまり、トポロジーに 6.1 以下のノードがあって、7.0 以上のデプロイメント・マネージャーを使用する場合、 まったく同じアプリケーションが、以前実行されていたノードにデプロイされない可能性があります。

バージョン 6.1 以前からマイグレーションする場合、以下の内容を持つ application.xml にフラグが立てられます。

< span class="Code"> < ?xml version= "1.0" encoding= "UTF-8" ?>
<application id="Application_ID" version="5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/application_5.xsd">
...
</application>

アプリケーションのバージョンをバージョン 1.4 に変更する必要があります。 自動化された修正は、バージョン とスキーマ情報を変更します:

< span class="Code"> < ?xml version= "1.0" encoding= "UTF-8" ?>
< application id="Application_ID "< b> バージョン ="1.4" < /b>
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:application = "http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
...
</application>

WebSphere Application Server の各バージョンでサポートされる Java EE 仕様レベルについて詳しくは、プログラミング・モデル API および仕様を参照してください。