タイトル
Java Webサービス
著者
David A.Chappell (著), Tyler Jewell (著), テクノロジックアート (著), 長瀬 嘉秀 (著)
出版社
オライリー・ジャパン
Amazonで購入する

WebサービスSOAPWSDLUDDIというキーワードをすべて網羅した実用書です。JavaでWebサービスを構築する手順、コーディング方法が詳しく載っています。

Java以外の言語を使ってWebサービスを実装する場合でも、本書を使えます。本書の半分以上は、言語によらないWebサービスの実装方法を解説しているためです。例えば、SOAPメッセージの構造はどうなっているだとか、WSDLのこの項目はどんな意味を持つのかといった感じです。

非常に分かりやすい言葉で解説していて、Webサービスを構築しようと思っている人にとっては分かりやすいと思います。逆に、興味程度の知識が欲しい人にとっては、具体的すぎてよく分からないかもしれません。

特徴

とにかく具体的です。SOAPメッセージの仕様、WSDLの構造、UDDIの仕組みと、動くコードを具体的な値で解説しているので、開発者にはとても分かりやすいと思います。

逆に、マネージャーやWebサービスとは何だ?という人には具体的過ぎて、良く分からないかもしれません。そういった人には、『図解標準 最新Webサービス マスタリングハンドブック―XML、SOAP、WSDL、UDDIの基本から開発まで』がおすすめです。図入りで分かりやすくWebサービスとはどういうものかを解説しています。

半分くらいはWebサービスの標準仕様に関する解説で、残りの半分がJavaでWebサービスを構築した場合のコード例になっている感じです。Webサービスを構築しながら読むと、いっそう理解が深まると思います。

覚書き

開発者が行うアクティビティ

Webサービスの開発者は、下記のことを行う必要があります。

  • サービスのインターフェースの設計
  • サービスの実装コードの作成、デプロイ可能なパッケージの組み立て
  • サービスレジストリ(UDDIサーバ)への登録、WSDLや利用マニュアル、APIドキュメントなどの公開

SOAP

SOAP(Simple Object Access Protocol)は、Webサービスの標準仕様となっているプロトコルです。SOAPでは通信のすべてが、XMLで表現されます。通信自体にはHTTPやSMTPが使われることが多いです。SOAPは通信プロトコルに依存しないように、扱う文書をXMLで表現することにしています。

SOAPは、データ型の表現やリモートメソッド呼び出し、文書交換を行います。ただのXML文書ではSOAP文書にはなりません。下記の項目を満たす必要があります。

  • XMLをSOAPボディでラッピング
  • SOAPボディをSOAPエンベロープでラッピング
  • SOAPヘッダをSOAPエンベロープ内に記述
  • 名前空間の宣言
  • シリアライズ用の符号化スタイルディレクティブ
  • 全体をプロトコルにバインドする

参考

  • 日本ユニシスのWebサービス解説チュートリアル 日本ユニシス

  • Webサービスを理解しようと思うならこの本

  • 何度も読めるほど易しく書かれています。理解しやすいです。
  • 実践で技術を磨きたいという人におすすめ