JAX-WS仕様に従ったWebサービスの開発方法には,次の2種類があります。
- WSDLを起点として開発する方法
最初にWebサービスのメタ情報としてWSDLファイルを作成する方法です。WSDLを基に,コマンドによって,SEIやWebサービスの実装クラスのスケルトンなどに該当するJavaソースを生成します。生成されたスケルトンを基に,Webサービスを実装します。
- SEI(サービスエンドポイントインタフェース)を起点として開発する方法
最初にWebサービス実装クラスを作成する方法です。作成したWebサービス実装クラスを基に,コマンドによってWebサービスの実装に必要な追加のJavaソースを生成します。
また,Webサービスのクライアントは,WSDLファイルから作成します。WSDLファイルを基に,コマンドによってWebサービスのクライアントの実装に必要なJavaソースを生成します。生成したJavaソースに対して,必要な処理を実装します。
JAX-WS仕様に従ったWebサービスの開発方法については,マニュアル「Cosminexus アプリケーションサーバ Webサービス開発の手引」を参照してください。
- 参考
- SOAPアプリケーションの開発支援機能を使用する場合
- 07-60までのアプリケーションサーバで提供していたSOAPアプリケーション開発支援機能も使用できます。この機能で開発するアプリケーションをSOAPアプリケーションといいます。
- SOAPアプリケーションは,Webの標準技術を利用してネットワーク上でサービスを公開,実行できるアプリケーションです。アプリケーションサーバで開発できるSOAPアプリケーションの種類は,大きく分けて,次の3種類があります。
- RPCを利用したSOAPアプリケーション
RPCによってSOAPメッセージをやり取りするアプリケーションです。RPCを利用したSOAPアプリケーションではWSDLが必要になります。アプリケーションサーバでは,WSDL生成を支援する機能を使用できます。また,生成したWSDLから,実行環境でのSOAPメッセージの送受信に必要なスタブおよびスケルトンも自動生成できます。
- メッセージングを利用したSOAPアプリケーション
スタブおよびスケルトンを使用しないで,XMLデータであるSOAPメッセージを直接やり取りするアプリケーションです。XMLデータを直接やり取りするため,実行時には,アプリケーションサーバが提供するAPIを利用して,メッセージ生成処理をします。
- EJBを利用したSOAPアプリケーション
既存または新規のEJBをWebサービスとして利用するアプリケーションです。EJBを利用したSOAPアプリケーションではWSDLが必要になります。
アプリケーションサーバでは,WSDL生成を支援する機能を使用できます。また,生成したWSDLから,実行環境でのSOAPメッセージの送受信に必要なスタブも自動生成できます。
- SOAPアプリケーションを利用してネットワーク上のサービスを利用する場合,クライアント側とサーバ側に,それぞれ次の実装が必要です。
- クライアント側
- SOAPサービスを呼び出す処理,またはSOAPサービスを呼び出すためのメッセージを生成する処理の実装。
- サーバ側
- SOAPサービスの実装。
- アプリケーションサーバの開発環境では,SOAPアプリケーションの開発および実行に必要なファイルやソースコードを自動生成できます。新規にSOAPアプリケーションを開発する場合には,必要な定義ファイルおよびサーバとクライアントの実装の基になるスタブとスケルトンを自動生成できます。また,既存のアプリケーションをSOAPサービスにする場合は,必要な定義ファイルを自動生成できます。これによって,アプリケーション開発者は業務ロジックの実装に注力できます。
- アプリケーションサーバで開発できるSOAPアプリケーションについては,マニュアル「Cosminexus アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。
- また,SOAPアプリケーションでは,UDDIレジストリにアクセスするためのUDDIクライアントライブラリも使用できます。
- UDDIレジストリの利用について
- ネットワーク上のWebサービスが増えてきた場合,Webサービスを登録・検索するための情報の格納先として,UDDIレジストリを利用できます。アプリケーションサーバで開発したSOAPアプリケーションをWebサービスとしてUDDIレジストリに登録することもできます。
- UDDIレジストリへの登録・検索方法については,マニュアル「Cosminexus アプリケーションサーバ SOAPアプリケーション開発の手引」の「8. UDDIクライアントの開発と実行」を参照してください。