Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


1.5.1 Webサービスの形態

Application Serverでは,次に示す形態のWebサービスをサポートしています。

それぞれの形態について説明します。

〈この項の構成〉

(1) Webサービス実装クラスを使用したSOAP Webサービス

Webサービス実装クラスを使用する場合の形態を次に示します。

図1‒5 Webサービス実装クラスを使用したSOAP Webサービスの形態

[図データ]

Webサービス実装クラスを使用すると,WSDLのオペレーションに対応するJavaメソッドを実装するだけでWebサービスを実現できます。複雑な変換はスタブが実施するため,Webサービス開発時に,APIを利用してSOAPメッセージを構成するXMLを組み立てるような,複雑なプログラミングをする必要はありません。

スタブは,ツールが自動生成するか,またはJAX-WSエンジンが動的に生成します。WSDLは自動生成でき,必須となります。また,WSDLに含まれないSOAPメッセージを送受信することはできないので注意してください。なお,Webサービス実装クラスは,POJOとしても,EJBを基にしても作成できます。

(2) プロバイダ実装クラスを使用したSOAP Webサービス

プロバイダ実装クラスを使用する場合の形態を次に示します。

図1‒6 プロバイダ実装クラスを使用したSOAP Webサービスの形態

[図データ]

プロバイダ実装クラスを使用する場合はスタブもWSDLも必要ないため,任意のSOAPメッセージを動的に送受信したいときに適しています。プロバイダ実装クラスはJAX-WSエンジンがマーシャルしたオブジェクトをそのまま受け取るため,Webサービス開発時に,APIを利用してSOAPメッセージを構成するXMLから値を直接取得したり,APIを利用してSOAPメッセージを構成するXMLを組み立てたりする必要があります。

(3) RESTful Webサービス(Webリソース)

RESTful Webサービス(Webリソース)はリソースクラスを実装することで実現します。

図1‒7 RESTful Webサービス(Webリソース)

[図データ]

リソースクラスには,ルートリソースクラスとサブリソースクラスがあります。

ルートリソースクラスは,クラスレベルでPathアノテーションでアノテートされたJavaクラスです。サブリソースクラスは,クラスレベルでPathアノテーションでアノテートされていないJavaクラスです。

リソースクラスには次に示すメソッドのどれかを実装します。