読書メモ ・「Webサービス入門 ―Javaを使って覚える簡単SOAP、WSDL、UDDIプログラミング」 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サービスの未来 |