JAX-RPC変換ツールの検証により、このスキャン内のJAX-RPCウェブサービスは、JAX-RPCからJAX-WSへのソース移行ヘルパーを使用したJAX-WSへのソース変換、またはJAX-RPC変換ツールを使用したJAX-WSへのバイナリ変換の良い候補であると判断されました。 または JAX-RPC Conversion Toolを使用したJAX-WSへのバイナリ変換に適していると判断されました。
この規則により、JAX-RPC 固有のパッケージおよび構成ファイルの使用にフラグを立てます。 また、この規則により、XML マッピング・ファイルでの jaxrpc-mapping-file タグの使用にフラグを立てます。 次の表に、この規則の影響を受ける Java パッケージ、構成ファイル、および XML マッピング・ファイルをリストします。
パッケージ |
構成ファイル |
XML マッピング・ファイル |
|---|---|---|
|
|
|
Java API for XML-based RPC (JAX-RPC) は、Liberty でも Liberty Core でもサポートされていません。 このテクノロジーは、WebSphere Application Server traditional V9.0 で非推奨となったため、今後のバージョンでは削除される可能性があります。 戦略的なマイグレーション・パスでは JAX-WS を使用します。 相対的な作業は、選択したマイグレーション・パスに応じて変わります。
以下の表は、プロジェクトに影響を与える可能性のある要因に従って、5つのオプションを比較したものです。
プロジェクトの要素 |
オプション 1JAX-RPC Source Migration Helperを使用したJAX-RPC WebサービスからJAX-WS Webサービスへの移行 |
オプション 2JAX-RPC 変換ツールを使用して JAX-RPC Web サービスを JAX-WS Web サービスに移行する |
オプション 3手動で JAX-RPC web サービスを JAX-WS web サービスに移行する |
オプション 4Liberty で Apache Axis 1 JAX-RPC エンジンを使用する |
オプション5WebSphere Application Server traditional をそのネイティブ JAX-RPC エンジンと一緒に使用する |
|---|---|---|---|---|---|
|
サポートされるソリューション |
はい JAX-WS は、Liberty Core を除き、すべての Liberty エディションで構成可能なフィーチャーとしてサポートされます。 |
はい JAX-WS は、Liberty Core を除き、すべての Liberty エディションで構成可能なフィーチャーとしてサポートされます。 Maven および Gradle 用の WebSphere Liberty JAX-RPC 変換ツールをダウンロードしてください。 |
はい JAX-WS は、Liberty Core を除き、すべての Liberty エディションで構成可能なフィーチャーとしてサポートされます。 |
いいえ Axis 1 はサポートされていません。 |
はい JAX-RPC は、WebSphere Application Server traditional でサポートされています。 |
|
重要なソリューション |
はい JAX-WS は、Liberty Core を除き、すべての Liberty エディションに戦略的です。 |
はい JAX-WS は、Liberty Core を除き、すべての Liberty エディションに戦略的です。 |
はい JAX-WS は、Liberty Core を除き、すべての Liberty エディションに戦略的です。 |
いいえ Axis 1 は、現在では開発されていません。 |
いいえ JAX-RPC は、WebSphere Application Server traditional で非推奨となったため、今後のバージョンでは削除される可能性があります。 |
|
実装の複雑さ |
中 アプリケーションは、JAX-RPC Source Migration Helperの使用について検証された。 JAX-RPCサービスは、アプリケーションのソースコード上でこのツールによってJAX-WSウェブサービスに変換することができる。 |
低 アプリケーションは、JAX-RPC 変換ツールの使用について検証されました。 JAX-RPCサービスは、このツールでバイナリアーカイブ内のJAX-WSウェブサービスに変換することができます。 |
高 このオプションは、JAX-RPC クライアントと JAX-RPC Web サービスの数が多い場合は複雑になる可能性があります。 JAX-RPC 変換ツールを使用せずに、JAX-RPC サービス を JAX-WS に移植するには、コード・ベースが多くの変更が必要です。 |
低 アプリケーションで既に Axis 1 を使用している場合、このオプションは複雑ではありません。 使用していない場合、このオプションの複雑さは中程度です。 |
中 JAX-RPC Web サービスから別のエンジンにマイグレーションする際、ほとんどのコード・ベースは保持されます。 |
|
拡張機能 |
はい JAX-WS は、アノテーション、JAXB バインディング、SOAP 1.2 などの多数の拡張機能を提供します。 |
はい JAX-WS は、アノテーション、JAXB バインディング、SOAP 1.2 などの多数の拡張機能を提供します。 |
はい JAX-WS は、アノテーション、JAXB バインディング、SOAP 1.2 などの多数の拡張機能を提供します。 |
いいえ JAX-RPC には、JAX-WS にある多くの拡張機能がありません。 |
いいえ JAX-RPC には、JAX-WS にある多くの拡張機能がありません。 |
|
仕様の準拠 |
はい |
はい |
はい |
はい JAX-RPC はまだ Java EE 仕様の一部ですが、Java EE 6 では非推奨です。 |
はい JAX-RPC はまだ Java EE 仕様の一部ですが、Java EE 6 では非推奨です。 |
|
推奨事項 |
IBM Application Modernization Accelerator Developer Tools の権利がある場合は、このオプションを使用する。 これは、アプリケーションのソースコードをJAX-WSに移行するための自動化された支援を提供する唯一のオプションです。 |
アプリケーションが JAX-RPC 変換ツールの要件を満たす場合に、このオプションを使用します。 このツールはバイナリ アーカイブのみを変換します。 |
JAX-RPC Web サービスがいくつかあり、アプリケーションが JAX-RPC 変換ツールの要件を満たしない場合に、このオプションを使用します。 |
JAX-RPC Web サービスが既に Axis 1 で実行されている場合は、このオプションを使用します。 |
JAX-RPC Web サービスが既に WebSphere Application Server traditional で実行されているか、まだ Axis 1 で実行されていない JAX-RPC Web サービスが多数ある場合は、このオプションを使用します。 |
JAX-RPC Source Migration Helper は IBM Application Modernization Accelerator Developer Tools で利用可能です。 このツールは、アプリケーションのソースコードにおいて、レガシーJAX-RPCサービスからJAX-WSへの変換を支援する。 詳細は Application Modernization Accelerator Developer Tools 概要をご覧ください。
からJAX-RPC変換ツールをダウンロードします。 WebSphere Liberty JAX-RPC Conversion Tool for Mavenおよび Gradle、バイナリアーカイブを移行します。
JAX-RPC 変換ツールを使用した JAX-RPC から JAX-WS へのアプリケーションのマイグレーションについては、オンライン資料の Maven を使用した JAX-RPC アプリケーションの Liberty へのマイグレーションまたは Gradle を使用した JAX-RPC アプリケーションの Liberty へのマイグレーションを参照してください。
JAX-RPC から JAX-WS へのアプリケーションのマイグレーションについては、オンライン資料の Web サービスのマイグレーション・シナリオ: JAX-RPC から JAX-WS および JAXB へを参照してください。
JAX-RPC と JAX-WS の違いについて詳しくは、 JAX-WS アプリケーション・デプロイメント・モデルを参照してください。
Axis 1 を既に使用している場合、それを Liberty で使用するには、Axis 1 ライブラリーを Liberty クラスパスに含める必要があります。
埋め込みの JAX-RPC を使用する場合、Axis 1 を使用するように web サービスを変換できます。 以下のプロシージャーでは、web サービスを Red Hat JBossからAxis 1に移行する方法について説明します。
java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t -s -o <Output directory> <WSDL file>
このコマンドについて詳しくは、 WSDL2Java 資料 (Apache Web サイト) を参照してください。
WSDD 構成エレメントについて詳しくは、 デプロイメント (WSDD) 参照 (Apache Web サイト) を参照してください。
例えば、以下のメソッドには JNDI 検索があります。
ルックアップは以下のように置き換える必要があります。
private com.ibm.demo.webservices.server.DemoType getService() throws Exception {WebSphere Application Server JAX-RPC エンジンを使用する場合は、WebSphere Application Server traditional を使用する必要があります。 JAX-RPC は、Liberty ではサポートされていません。 Liberty を使用するには、他のオプションのいずれかを選択する必要があります。
JAX-RPC 構成ファイルが検出されても、このアプリケーション内で JAX-RPC Java API が使用されていた形跡がない場合、その構成ファイルは以前使用していて現在は不要になった JAX-RPC テクノロジーの残骸である可能性があります。 使用されていない構成は削除できます。