jump to navigation

[プロトコル] SOAPとRESTとついでにJSON 11月 2, 2009

Posted by hyhy in 技術情報.
Tags: , , ,
trackback

厳密な説明はナシで。

SOAPとRESTについては、ネットワーク経由でオブジェクト間の通信を行う軽量のプロトコルで、通信内容の記述にXMLを用います。
転送用プロトコルとして、HTTPやSMTPなど既存の任意の通信プロトコルを使用します。
これらは結局のところ、HTTP経由のリクエストでXMLとしてデータを取得するというのが主流で、SOAPやらRESTというのは「データ構造のみが規定」されたXMLだと思ってください。
※厳密ではないです。。。

■SOAP
Simple Object Access Protocol
SOAPとは、XMLとHTTPなどをベースとした、他のコンピュータにあるデータやサービスを呼び出すためのプロトコル(通信規約)。
Microsoft社やUserLand Software社、Developmentor社が中心となって開発された。
 SOAPによる通信では、XML文書にエンベロープ(封筒)と呼ばれる付帯情報が付いたメッセージを、HTTPなどのプロトコルで交換する。サービスを利用するクライアントと、サービスを提供するサーバの双方がSOAPの生成・解釈エンジンを持つことで、異なる環境間でのオブジェクト呼び出しを可能にしている。
 SOAP 1.1では、実際にデータの送受信に使う下位プロトコルは、すでに広く普及しているHTTPやSMTP、FTPなどから選択できるようになっており、企業間で利用する場合でもファイアウォールなどを安全に通過することができる(SOAP 1.0ではHTTPのみ)。
 なお、SOAPメッセージの生成エンジンは「SOAPプロキシ」、解釈エンジンは「SOAPリスナ」と呼ばれることもある。
RESTに比べてデータ構造が若干複雑なので、現在はあまり使われていない。
soap
※WEBサービスについて
 SOAPによって外部から利用可能な、部品化されたWebベースのアプリケーションソフトは「Webサービス」と呼ばれる。インターネット上で各社が提供しているWebサービスを集め、誰でも検索・照会できるようにするWebサービスを「UDDI」という。

■REST
Representational State Transfer
HTTPリクエストに対してXMLをレスポンスとして返します。
ネットワークシステムのアーキテクチャスタイル。
RESTの最大の特徴は「WebブラウザにURLを入力すれば動作確認できる」事。
RESTの使用例の一つに「RSS配信」がある。RSS配信では、特定のURLにアクセスすると、XMLのRSSフォーマットで記述されたデータが配信される。XMLで取得できることで、受信側で自由に加工することができる。
SOAPと比べて、記述が柔軟。

■SOAPとREST
参考サイト
[共通点]
* 通信内容がすべてテキストであることによる可読性
* HTTPSを使っての暗号化(サーバ証明/クライアント証明)
* HTTPプロキシを使ってFirewallを越える
* リアルタイムな応答
* HTTP, XMLをターゲットにしたライブラリやアプライアンスの流用
* XMLに対してXSLTを使ってのフォーマット変換

■JSON
JSON(ジェイソン、JavaScript Object Notation)
JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語。
JSONはウェブブラウザなどでよく使われているECMA-262, revision 3準拠のJavaScript(ECMAScript)をベースとしている。2006年7月にRFC 4627で仕様が規定され、MIMEタイプはapplication/json、拡張子はjsonとされた。 JSONはJavaScriptにおけるオブジェクト表記法のサブセットであるが、JavaScriptでの利用に限られたものではない。

JSONは単純であるので、特にAjaxの分野で利用が広がりつつある。JavaScriptでJSONをパースして読み込むには、文字列をJavaScriptのコードとして解釈させるeval()関数を作用させるだけでよい。このように、広く普及しているウェブブラウザ搭載言語であるJavaScriptで簡単に読み込める。

JavaScript言語以外でのほとんどの言語において、JSONは単純な処理で書き出しや読み込むことができる。また、実装されたプログラミング言語数はYAMLより多いと言われる。そのため、JSONは異なるプログラミング言語の間でのデータの受渡しには能率的である。ウェブアプリケーションの場合において、ウェブクライアントでのJavaScriptとのデータの受渡しなどはその最たる活用例と言える。プロセス間通信、マシン間通信においても、疎結合にするため、JSONで情報を受け渡しすることもある。

JSONを簡単に編集:JSON Editor
JSONを使ったキャッシング
JSON Parser Online

広告
%d人のブロガーが「いいね」をつけました。