このトピックでは、Web サービス・アプリケーションのパフォーマンスのベスト・プラクティスについて述べます。
Web サービスは、Web Services for Java 2 platform, Enterprise Edition (J2EE) 仕様で提供される標準と、Java API for XML-Based Web Services (JAX-WS) および Java Architecture for XML Binding (JAXB) プログラミング・モデルとを基にして、開発およびデプロイ されます。 Web サービスは、Web サービスへのアクセスに使用されるメカニズムです。ここでは、この仕様によりサポートされる Web サービスのパフォーマンスの考慮事項について説明します。
Web サービスは、Web Services for Java 2 Platform, Enterprise Edition (J2EE) 仕様で提供される標準と、Java API for XML-based RPC (JAX-RPC) プログラミング・モデルとを基にして、開発およびデプロイされます。 これ Web サービスへのアクセスに使用されるメカニズムです。 ここでは、この仕様によりサポートされる Web サービスのパフォーマンスの考慮事項について説明します。
Web サービスを開発またはデプロイするときに、Web サービス記述言語 (WSDL) ファイルを含むいくつかの成果物が必要になります。 WSDL は、Web サービス入出力 SOAP メッセージのフォーマットと 構文を説明するファイルです。Web サービスが、WebSphere Application Server ランタイムで実装される場合、SOAP メッセージは J2EE 要求に基づいて変換されます。 次に、J2EE ベースの応答は、SOAP メッセージへ変換されて戻されます。
最も重要なパフォーマンス考慮事項は、XML ベースの SOAP メッセージと Java オブジェクトの間の変換です。WebSphere Application Server での Web サービスのインプリメンテーションはハイパフォーマンスですが、アプリケーション設計、デプロイメント、およびチューニングは改良の余地があります。Web サービスの分析とチューニングについて詳しくは、Web サービス・アプリケーションのパフォーマンスのモニターを参照してください。
WebSphere Application Server のバージョン 6 より前のバージョン用に開発された Web サービス・アプリケーションを使用している場合は、wsdeploy コマンドを実行すると、パフォーマンスを向上させることができます。 wsdeploy コマンドによって Web サービス成果物クラスが再生成されるため、 シリアライゼーションおよびデシリアライゼーションのパフォーマンスが向上します。
wsdeploy コマンドは、Feature Pack for
Web Services 製品とともに使用される JAX-RPC アプリケーションによりサポートされています。Feature Pack for Web Services 製品に導入された Java API for XML-Based Web Services (JAX-WS) プログラミング・モデルは、wsdeploy コマンドをサポートしていません。JAX-WS アプリケーションでは wsdeploy コマンドを実行する必要はないので、このコマンドは実行しないでください。
SAAJ 1.3 は、Java API for XML Web Services
(JAX-WS) プログラミング・モデルを基に開発および実装された Web サービスをサポートしています。
IBM では、Web サービスのアプリケーション設計と開発の考慮事項に関する文書およびベスト・プラクティスを提供し、これらの項目を詳しく説明しています。
パフォーマンスのベスト・プラクティスを述べている、重要な Web サイトのリストは、Web サービス: 学習リソースを参照してください。