ヘッダーをスキップ
Oracle Application Server WebSphereからの移行
10g リリース3(10.1.3.1.0)
B31845-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

A WebSphere 4.0からの移行

この付録では、WebSphere Advanced Edition 4.0からOracle Application Serverへの移行計画の概要について説明します。内容は次のとおりです。

A.1 WebSphere Advanced Edition 3.5.3と4.0の機能上の相違点

WebSphere Advanced Edition 4.0は、3.5.xバージョンを機能強化したものであり、J2EE 1.2仕様のサポートなど、強化された機能は多岐にわたります。表A-1に、それらの機能を示します。このドキュメントの他の章では、WebSphere Advanced Edition 4.0からOracle Application Server 10g リリース 3(10.1.3.1.0)への移行時に再利用できるコンポーネントが記載されていますが、この表はそれらの情報をまとめたものです。

表A-1 WebSphere 3.5.xと4.0の機能上の相違点のサマリー

WebSphere Advanced Edition 3.5.x WebSphere Advanced Edition 4.0

ポリシー・ベースの認可。

J2EEのロール・ベースの認可。Enterprise Beanのメソッド起動のパーミッションがロールを介して各ユーザーに割り当てられるようになった。ロールは、アプリケーションのデプロイメント・ディスクリプタで指定される。

JSP 1.0。

JSP 1.1。

サーブレット2.1。

サーブレット2.2。

EJB 1.0。

EJB 1.1。

プレゼンテーション・レイヤーの分離。HTMLおよびCGIリクエストが別個の製品で処理される。J2EEのWebアプリケーションは実装できない。

J2EE Webアプリケーションのサポート(.warファイルのサポート)。

ServiceInitializerインタフェース。

CustomServiceインタフェース。ServiceInitializerインタフェースに類似しているが、CustomServiceは登録バインディング用に使用するサービスのコンテキストでは何も渡さない点が異なる。

Connection Manager V2.0。

接続プーリング。接続プーリングには、JDBC 2.0またはデータ・アクセスBeanが使用される。

使用するJNDIコンテキストのインタフェース: com.ibm.ejs.ns.jndi.     CNInitialContextFactory

使用するJNDIコンテキストの新しいインタフェース: com.ibm.websphere.naming.     WsnInitialContextFactory

XML4J V2.0.15パーサー。

XML4J V3.1.1パーサー。

.servletファイルのサポート。

.servlet拡張子が付いたファイルは、.warファイル内に含まれる。

リモート・リクエストの呼び出しのためのOSE remoteとサーブレット・リダイレクタのサポート。

HTTPトランスポートのプラグイン。Webサーバーとアプリケーション・サーバー間の通信に使用される。


A.2 WebSphere Advanced Edition 4.0とOracle Application ServerのJ2EE仕様上の相違点

WebSphere Advanced Edition 4.0では、WebSphere Advanced Edition 3.xにおけるJ2EE仕様のサポートをさらに強化しています。 J2EEの仕様レベルにおいては、Oracle Application Serverにより近い機能を提供します。表A-2では、Oracle Application Server 10g リリース 3(10.1.3.1.0)とWebSphere Advanced Edition 4.0でサポートされる仕様レベルを比較します。

表A-2 Oracle Application ServerとWebSphere Advanced Edition 4.0の機能上の相違点のサマリー

J2EE仕様 WebSphere Advanced Edition 4.0 Oracle Application Server 10g リリース 3(10.1.3.1.0)

JDK

1.2.2と1.3

1.4と1.3

サーブレット

2.2

2.3

JSP

1.1

1.2

EJB

1.1

2.0

JDBC

2.0

2.0 Extension

JNDI

1.2

1.2

JTA

1.0

1.0

JMS

1.0

1.0


A.3 WebSphere 4.0からOracle Application Serverへのサーブレットの移行

WebSphere 4.0は、サーブレット仕様2.2に準拠しています。この製品では、サーブレット・チェイニングとサーブレット・フィルタリングに関して独自のメカニズムが実装されており、サーブレット仕様2.3に完全準拠していません。また、WebSphere 3.5.3の互換モードは使用できません。これらのことを念頭に置くと(サーブレット2.3は使用しない)、WebSphere Advanced Edition 4.0からOC4Jへのサーブレットの移行作業は簡単に行えるはずです。これらの2つの製品では、サーブレット2.2という同じ仕様レベルをサポートしているからです。ただし、使用するサーブレットで次の互換性の問題が生じる場合は、適切な対応をとる必要があります。

A.3.1 WebSphere固有のサーブレットの拡張機能

WebSphere Advanced Edition 3.5.3のサーブレットの拡張機能は、WebSphere Advanced Edition 4.0でも利用可能です。この場合も、サーブレットの拡張機能には、「WebSphereのサーブレットAPIの拡張機能」の説明が当てはまります。OC4Jでサーブレットを実行するには、このような拡張機能を使用するサーブレットを再コーディングして、サーブレット2.2や2.3の標準APIに準拠させる必要があります。

A.3.2 WebSphere固有のデプロイメント・ディスクリプタ

WebSphere Advanced Editionでは、J2EEに準拠しないデプロイメント・ディスクリプタが使用されています。WebSphere 4.0のApplication Assembly Toolで標準的なJ2EEファイルとともにディスクリプタ・ファイルが追加生成されるためです。バインディングおよびWebSphere固有の拡張機能情報を含んだDDLやXMIファイルがそれに該当します。

これらのファイルは、WebSphere固有の拡張機能の実装に必要なため、Oracle Application Serverへの移行では不要です。Oracle Application Serverを配置する前に、移行したアプリケーションにWebSphere固有の拡張機能が他にも実装されていないか確認してください。

A.3.3 WebSphere 3.5.3の非推奨API(WebSphere 4.0ではサポートされている)

WebSphere 4.0でデプロイしたサーブレットで、次の表に示す3.5.3の非推奨APIが使用されている場合は、そのサーブレットを再コーディングしてサーブレット2.2の対応するAPIを使用する必要があります。

表A-3 3.5.3の非推奨APIとそれに対応するサーブレット2.2のAPI

WebSphere 3.5.3(4.0でサポートされている) サーブレット2.2
getValue()
getAttribute()
getValueNames()
getAttributeNames()
removeValue()
removeAttribute()
putValue()
setAttribute()

A.4 WebSphere 4.0からOracle Application ServerへのJSPの移行

WebSphere Advanced Edition 4.0とOracle Application Server10g リリース 3(10.1.3.1.0)では、どちらもJSP 1.1がサポートされています(Oracle Application ServerではJSP 1.2もサポートされています)。したがって、両製品間でのJSPの移行は簡単です。通常、WebSphere Advanced Edition 3.xからOracle Application Serverへの移行時における規則やプロセスが同様に適用されます。JSP 1.1仕様のバリエーションを扱う際には、特に注意を要します。たとえば、tsxなどのタグがあります。OC4Jでは、これをJMLタグに置き換える必要があります。詳細は、「WebSphereの拡張機能のOC4Jへの移行」を参照してください。

A.5 WebSphere 4.0からOracle Application ServerへのEJBの移行

WebSphere Advanced Edition 4.0はEJB 1.1に準拠しています。Oracle Application ServerはEJB2.0に準拠しています。つまり、EJBをWebSphere 3.5.3からOracle Application Serverに移行する場合は、EJB 2.0の仕様レベルにアップグレードする必要があります。

EJBは、Webアプリケーションと一緒にEARファイルにアーカイブすること、またそのファイルをOracle Enterprise Manager 10g Application Server Controlコンソールやdcmctlを使用してデプロイすることを強くお薦めします。そうすることで、Oracle Application Serverによって適切なスタブが生成されます。EJBクラスとWebSphereでコンパイルしたスタブは、手動でコピーしないでください。

EJBの移行プロセスについては現在調査中です。このドキュメントを更新する最新情報は、OTN-J(Oracle Technology Network Japan)(http://otn.oracle.co.jp)から入手できます。

A.6 その他の考慮事項

前述の移行時の注意点のほかに、次のことにも留意してください。

A.6.1 ダイナミック・フラグメント・キャッシュ

ダイナミック・フラグメント・キャッシュとは、サーブレットおよびJSPの出力をキャッシュすることによってパフォーマンスを向上させるWebSphereの拡張機能です。この機能は、サーブレットのserviceへのコールを中断し、そのコールをキャッシュで処理できるかどうかを確認します。サーブレットまたはJSPでこの機能を利用するには、com.ibm.websphere.servlet.cacheパッケージが必要です。Oracle Application Serverへ移行する際には、このパッケージが削除されていることと関連コードが修正されていることを確認します。Oracle Application Serverでキャッシュ機能を必要とする場合は、Oracle Web CacheとEdge Side Includes for Java(JESI)の使用をご検討ください。

A.6.2 データ・アクセスおよびソース

WebSphere 4.0では、JDBCの標準パッケージjava.sqlのかわりにcom.ibm.dbパッケージが用意されています。Oracle Application Serverへ移行する際には、com.ibm.dbのかわりにjava.sql(JDBC 2.0の標準パッケージの使用を推奨)を使用してください。アプリケーションとコンポーネントでIBMデータ・アクセスBeanが使用されている場合は、「データ・アクセスBean」の手順に従ってください。

WebSphere 4.0では、com.ibm.websphere.advanced.cm.factory.DataSourceFactoryを使用して、すべてのデータソースを作成する必要があります。Oracle Application Serverへ移行する際には、JDBC 2.0のjava.sql.Datasourceを使用してデータソースを取得できます。これは、データソースへのコネクション・ファクトリです。Datasourceオブジェクトは、JNDIネームスペースを検索して取得できます。詳細は、「DataSourceクラス」を参照してください。