japan.internet.comThe Internet & IT Network
RSS
  • ニュース
  • コラム
  • リサーチ
  • ヘッドライン
  • 特集
  • ブログ
  • プレスリリース
  • 専門チャンネル
  • イベント
  • ランキング
  • ニュースメール
2008年9月9日
文字サイズ文字サイズ小文字サイズ中文字サイズ大
WebTutorial2001年6月27日 00:00

すばらしき SOAP の世界

海外海外internet.com発の記事
  • このエントリーを含むはてなブックマーク
  • この記事をクリップ!
  • Buzzurlにブックマーク
  • Yahoo!ブックマークに登録
  • newsing it!

はじめに

Simple(シンプル) Object(オブジェクト) Access( アクセス) Protocol(プロトコル)は最近発表されたXMLベースのテクノロジーではかなり冴 えたものだが、たいていの人はまだ、SOAP の新しい専門用語や略語をものにしようと必死になっている。

この記事は、目の前に立ちはだかる SOAP について、その初歩を知る手助けとなり、一体 SOAP とは何かよく理解する ための基礎を読者に与えるべく、書かれた。よって、SOAP を尾に入り細に入り解説することはしないが、これを読めば 、将来その真髄を深く追求するときの準備となるだろう。

SOAP(Simple Object Access Protocol)

この話の根底には、SOAPとは、インターネット用アプリケーションを開発する際の成熟問題、すなわち相互運用性を解 決するために開発されたものだということがある。想像してみよう。リモートサーバーもしくはローカルサーバーから プラットフォームの種類に関係なく、オブジェクト、サービスにアクセスできる世界を。 現在は、異なったOS、異なったファイアウォールが存在し、異なったリモート プロシージャ コールや異なったプラ ットフォームで汚染されている。インターネット上で相互運用を確保するには、クライアントもサーバーもお互いのセ キュリティの種類および信頼性、サービス展開の概要、サービス実行の際の詳細までを理解する必要がある。当然同じ プラットフォーム言語を使うのは言うまでもない。例えば、COM 対 COM、ORB対ORB、EJB 対EJBなどのように。

SOAP を使えば、プラットフォームが異なるためで起こる混乱に終止符を打つことができる。すでに業界では広く受け入 れられているIETF HTTP スタンダードとW3C XMLスタンダードを基盤に、SOAPは、競合するオブジェクト RPC 技術の ギャップを埋め、どんなOSでもプログラミング言語でもプロットフォームでも使える軽いメッセージフォーマットを提 供する。

簡単に言うと、SOAP によって、サービスやオブジェクト、サーバーに対して、プラットフォームに完全に依存しないで アクセスできる。つまり SOAP を使えば、リモートシステムの位置、OSまたはプラットフォームに関係なく、リモート システムに対してクエリー、インボーク、通信を行えるし、サービスを受けることができる。

SDL(Service Description Language)

SOAP でリモートサーバーからサービスを利用するには、ユーザー(ユーザーのプログラム)は、リモートサービスの性 能を知っておく必要がある。リモートサービスの性能を理解することとその実装(プラットフォームの具体的な情報) を理解することの違いに注意しよう。SDLを使うと、SOAP でリモートサービスに対するクエリーができるし、データの タイプ、コマンドの記述法などの性能が分かる。例えば、SDL で、あるサービスには2つの整数を受け取り、それを加 算し、和を1つの整数として戻す性能があるのが分かるかもしれない。

SDLとは XML グラマーの1種で、言いかえれば、XMLドキュメントそのものであり、拡張機能というXMLのすばらしい特 徴を全て引き継いでいる。IDL(Interface Definition Language)はプラットフォーム固有であり、SDLはプラット フォームから独立している(XML のもうひとつの特色)という点を別にすれば、SDLは、概念上 IDL とよく似ている。

SOAP Contract Language (SCL)

SDLのように、SCL(SOAP Contract Language)はサービスの性能を記載するように設計されているが、SCLはSDLをは るかに超えた代物である。SCLのスペックを発表した際、マイクロソフト社は次のようにコメントした。 「我々は、SCLのスペックを発表しましたが、業界からの幅広いフィードバックを期待しています。今後はフィードバッ クをこのスペックがしんしゃくし、安定した状態になればすぐに SCL 用のパブリックツールキットをアップデートしま す。それまでは、ツールキットは SDL のフォームを引き続き使う予定です」 SCL の拡張性ゆえに、SCLは成熟すればすぐにSDLにとって代わることになるのだ。

サービスの性能説明に加え、SCLはさらにそれによって終点(サーバーとクライアントの)で通信を行うコントラクトを 定義する。コントラクトには、終点と受け取るメッセージの記述、また終点間のメッセージフローを記述するオプショ ン編成情報の両方が含まれる。

DISCO(Discovery of Web Services)

DISCO で、リモートマシン上に SDL もしくは SCL の記述を見つけてそれを検出できる。これは SOAPの最終機能で、 全てをつなぎ合わせる働きをする。同様に XML グラマーであるDiscovery ドキュメントフォーマットを使えば、リモ ートサーバーへ発見したドキュメントを送り、もしAKA Web サービスというSOAPで使用できるサービスがあれば、その サービスを記述するSDLもしくはSCLを受け取ることができる。

ROPE(Remote Object Proxy Engine)

ROPE は、アプリケーションに SOAPメッセージを構築するのを助けるCOMコンポーネントを一式提供する。rope.dll という形式で、ROPE コンポーネントには複雑な2つのモデルがあり、ひとつはVB風のシンプリシティで、もうひとつは VC風のコントロールである。

もし仮に ROPE を使わないで SOAP メソッドをコールしなければならないとしたら、SOAP コールを XML 形式にフォ ーマットし、HTTPリクエストでパッケージし、送り、HTTPリスポンスを受け取り、戻ってくるXMLを分析しなければな らない。ROPEはこの全ての複雑な作業を代わりにやってくれるのだ。SOAPを使用する際に必ずしもROPEが必要というわ けではないのだが、作業が簡単になるのは確実だ。

マイクロソフト社の Visual Studio 6.0 SOAP ツールキットでは、ROPE の実装方法に関する有益な情報と実例を紹介 している。「SOAP on a ROPE」のジョークが見られるわけではないのでご注意を!

SOAP ツールキット

マイクロソフト社が発表した Visual Studio 6.0用のSOAPツールキットで、SOAP と連携を開始するのが簡単になった 。ツールキットはサポートされていないが、その使用方法を教えるすばらしいヘルプファイルがついている。ツールキ ットを使えば、XML や SOAP もワイヤープロトコルも習得しなくてもいいのだ。簡単にアプリケーションにSOAP機能を 付加できるし、既存のツールであるVisual Studioでの知識や経験をより有効にしてくれる。

ツールキットには、以下のものが含まれる。

  • サーバー サイド レファレンス リスナー
  • ROPE(Remote Object Proxy Engine)
  • SDLおよびソースコードジェネレータ(ウィザード)
  • ドキュメント
  • コードサンプル集
  • 実例集(ソースコードをフルで記載!)

要約

おわかりのように、SOAP は完全に使用準備の整ったテクノロジーである。SOAP の個々のパーツが非常に慎重に検討さ れ、開発されており、常に進歩しているインターネットアプリケーションやサービスをはるかにわかりやすくしてくれ る。SOAPについての今後の記事に注目してほしい。XMLの真髄まで探求し、SOAP テクノロジーの具体的な利用方法を検 証するつもりだ。
訳注:SOAP に関する資料は こちら を参照。



関連テーマ
最新トップニュース
データメーション
【データメーション】
在宅勤務者にやめて欲しいこと(10月10日)
ベンチャー専門家の目利きブログ「なぜこの企業は伸びるのか?」
【ベンチャー専門家の目利きブログ「なぜこの企業は伸びるのか?」】
「お客様に使われる商品開発は『1%の閃きと99%の努力』から!」/株式会社エス・アンド・ケイ(10月10日)
Graphic Design Forum
【Graphic Design Forum】
活気に満ちた誕生日をどうぞ (10月8日)
エンジニアの独り言
【エンジニアの独り言】
得体の知れない情報(?)との向き合い方(9月17日)
最新テクノロジーの意外な処方箋
【最新テクノロジーの意外な処方箋】
昆虫と退屈なことについて(9月16日)
台湾企業が席巻する電子製品製造
台湾企業が席巻する電子製品製造
蔓延する市場の不透明感、不況の今だからこそ考える生産アウトソーシング(10月10日)
IT マネジメント
IT マネジメント
「後戻りできない」 Windows 7(10月10日)
DevX
DevX
XQueryの制御構造の活用(10月10日)
最新ハイテク講座
最新ハイテク講座
ハイビジョン対応へ、どこまで進化するのか「レコーダー」(10月10日)
百式のネットビジネス研究
百式のネットビジネス研究
あなたの Blog にライブサーチを設置してくれる「Sikbox」(10月10日)
週刊-サイト別アクセス状況データ
週刊-サイト別アクセス状況データ
ビデオリサーチインタラクティブ調査(月間インターネットオーディエンスデータ)(10月9日)
検索エンジンマーケティング
検索エンジンマーケティング
SEO は外部と内部どっちの対策が効果的?(10月9日)
気になるトレンド用語
気になるトレンド用語
はてなブックマークが変わる!そもそもブラウザのお気に入りと何が違うの?(10月8日)
e-Japan 先端テクノロジー解説
e-Japan 先端テクノロジー解説
行政サービスのマルチチャネル化について(10月8日)
ウチのサイトを SEO
ウチのサイトを SEO
ちゃんと title つけていますか?(10月8日)
海外のインターネットコムアメリカ韓国ドイツトルコ
Copyright 2008 Jupitermedia Corporation All Rights Reserved.http://www.internet.com/