2016年11月23日水曜日

Creating Web Services with JAX-WS

 「分散システム」授業での簡単な演習という記事を書きましたが、その続きです。
その時は、Java RMI (Remote Method Invocation)をrmiregistry(ネームサーバ)で行いました。今回は、さらに進化した現代のWeb Servicesです。以下のような仕組みです。

Web サービス(菅原健研次「はじめての分散処理システム」より引用)
 
授業でこの演習(簡単な例題で動作を確認)したいのですが、WSDLでの記述やSOAPメッセージの作成はそれなりに面倒です。それを大幅に緩和させて、しかも、Web Servicesの仕組みの本質を体験するには、JAX-WS web serviceというJava標準ライブラリを利用すれば良いようです。これで演習をやります。さらに、以下のこともできそうです!

  • JAX-WSでパブリシュしたWeb serviceに対して自動されたWSDLから、wsimport(jdkに標準付属)によって自動生成されたstub相当のプログラムを使って、クライアント側のプログラムを作成する。
  • Eclipseに組み込まれているTCP/IP Monitorを利用して、SOAPメッセージを追跡する。(ただし、この場合は、クライアントのポートをこのMonitorサーバのポートに変更する。すると、このMonitorから本来のクライアントのポートへ転送されサーバへ行く。)
  • 一例として、Java以外の例えば、Rubyでもクライアントを作成して、このWeb Serviceを利用してみる。Web2.0のもと、Web Serviceは、言語やOSに依存しません!
  • なお、ここではUDDIは省略。たくさんのWeb Sericesを生成した場合はUDDIへ登録することになるが...

-------------上図の補足---------------------------------------------------------
[1]機能
 ●人手を介さず、プログラムが自動的に協調
 ●高度なユーザリクエストを処理
[2] 構成要素
 ●アプリケーションサーバ
 ●Webサービスサーバ
 ●サービス仲介サーバ
[3] XML (eXtensible Markup Language)
 ●プログラムが、Webページの要素の意味に基づいた処理できるようにする。
[4] WSDL (Web Service Description Language)
 ●XMLベースで、Webサービスの仕様を記述する。
[5] SOAP (Simple Object Access Protocol)
 ●メッセージはXMLで記述、上記3サーバ間のメッセージ交換用プロトコル
[6] UUDI (Universal Description, Discovery and Integration)
 ●Webサービスの登録、問い合わせ、提供のためのプロトコル

0 件のコメント:

コメントを投稿