読書メモ

・「Webサービス入門 ―Javaを使って覚える簡単SOAP、WSDL、UDDIプログラミング
(Graham Glass:著、尾形 隆彦:訳、ピアソンエデュケーション \3,200) : 2011.08.28

GLUE:著者の会社(The Mind Electoric社)のWebサービスプラットフォーム製品。
Webサービスは言語、プラットフォーム、ロケーションから独立したソフトウエアサービス。 乱立する様々な分散コンポーネント技術を統合し、コンポーネントの効果的利用を推進。

○ポイント
・分散コンピューティングのための汎用アーキテクチャとしてのP2P
・P2P Webサービス。最大の問題はセキュリティ。何台かのノードにデータが複製、保存されていく
・SOAPコンテナがXMLメッセージをネイティブコールに変換。クライアントはサービスを呼び出す前にWSDLが必要
・UDDIはWebサービスの提供側と使用側のマッチメーカー。サービス発行元がUDDIサーバにサービスを発行。クライアントはUDDIをブラウズし、WSDLを読み込み、 プロキシを作成し、サービスを起動
・UDDIの現在の実装は中央集中型
・SOAPコンテナのほとんどは、標準的なJavaのデータ型やXSD型へのマッピングを提供。配列の符号化。バイト配列の符号化をサポート。 ユーザ定義のデータ型のやりとりにも、プログラミング言語ネイティブな表現とXMLスキーマとの間にマッピングが必要
・HTTPS:デジタル証明スキーム
・HTTP基本認証:URLをパスワードで保護し、証明書を持つクライアントのみがアクセス可能
・SOAP security extensions:ペイロードの各部分が電子的にサインされ、暗号化される。SOAPメッセージの各フィールドをそれぞれ公開鍵で暗号化。 経由する各ノードが公開鍵をもっているフィールドにはアクセスできる。 HTTPSと基本認証の組み合わせは複数のサーバを経由する場合、うまくいかない。暗号を最終地点でしか解読できないから。
・CLR:複数のプログラミング言語を共通の中間言語(IL)にコンパイルし、ILがコードの実行前にマシンコードに変換される。ガベージコレクション、JITコンパイラなどの機能をもつ。 Visual Studio .NETはVB、C++、C#のCLRをサポート。Visual Studio開発環境でWebサービスの開発、デプロイ、使用ができる。
・GAIA:著者の会社の製品。大規模な分散システムを構築するためのプラットフォーム。負荷分散、耐障害の実現のためにP2P Webサービスを使用

-目次-
1 Webサービス
2 Webサービスを動かす
3 Web Services Description Language(WSDL)
4 ネイティブなデータ構造とXMLをマッピングする
5 セキュリティ
6 Universal Description,Discovery and Integration(UDDI)
7 J2EE Webサービス
8 .NET Webサービス
9 マルチプラットフォーム間の相互運用性
10 P2PとWebサービスの未来