ホームお問い合わせプロフィール未経験→就職転職合格率年収の相場ブラック企業判別定時帰りする方法

なぜRESTは流行ったのか?理由はブラウザから簡単に呼べるから

2015年2月25日に投稿 → に更新 技術 アフィリエイトリンクを含みます

N825_kouyoutojyosei500

mozaic.fmで「なぜRESTは流行ったのか?」について話していたので私も自分なりに理由を考えてみました。

この番組ではRESTの歴史的経緯などが語られていましたけれど、私はもっと単純に考えています。

私が思うRESTが流行った理由は、「リモートコールする一番簡単な手段だから」というだけだと思っています。

詳しく紹介します。

厳密なRESTは流行っていない!

RESTについて、WikiPediaには以下のように書かれています。

RESTは次に述べるように2つのやや異なる意味で使われている。
1.FieldingのRESTアーキテクチャスタイルの原則に合わせたWebサービスシステム。
2.RPCスタイルに合わせた簡易な XML+HTTP インターフェイスを採用したシステム(SOAPは使わない) 。

2は流行ったけど、1は流行ってませんよね。2も正確に言うとJSON/XML+HTTP インターフェイスを採用したシステム(SOAPは使わない)ですよね、今となってはXMLを返すREST APIの方が少数派です。

1はURIの命名規則だったりGET, POST, PUT, DELETEを用途に合わせて使い分けるとかっていう厳密な意味でのRESTですが、現実的にはPUTやDELETEなんて使わないし、URIも自由につけてる場合が多いと思います。

そんなわけで、REST APIの使われ方のほとんどはGETかPOSTでリモートコールをしてレスポンスのフォーマットがJSONかXMLってだけです。

これをこの記事では簡易RESTと呼ぶことにします。

なぜ、簡易RESTは流行ったか?

RESTが流行る前からシステム間連携する時に、CGIのGETパラメータでデータ送って、DB更新して、レスポンスはOKとかの単純な文字だったり、独自フォーマットを返すような使われ方がされていました。

その後、時代は進みAjaxが生まれ、レスポンスをJSONやXMLで返すという使い方が広まったのです。

Ajaxからリモートコールする手段はGETかPOSTリクエストするしかなく、JavaScriptからJSON、XMLの操作が容易という理由でこの簡易RESTが流行ったのでしょう。

「ブラウザからリモートコールする手段が他にない上に、手軽に簡単に使える」、そりゃ流行るに決まってます!

SOAPが流行らなかった理由

RESTのライバルだったSOAPはRESTほど流行りませんでした。

SOAPはスキーマ(WSDL)を定義してプロキシコードを生成するのがめんどくさかったのと、そもそもブラウザのJavaScriptからSOAPを呼び出せないので、「SOAPいらないじゃん」となったんでしょう。

それにSOAPはWSDLとUDDIとセットでSOA(Service Oriented Ahchitecture)とか言って、特にエンタープライズ系システムでは

「SOAを実践すればサービスを組み合わせるだけでシステムが作れます。サービスとして再利用できる設計が出来ます。SOAを取り入れないと企業の競争力が失われまぁぁぁぁぁす!!!」

みたいな嘘くさいマーケティングがなされていました。

SOAPは単なるリモートコール技術なのに、その周りに嘘くさいうんちくが足されていたので。当然、Webエンジニアからは無視されていました。エンターブライズ系のエンジニアの中には本気で「SOAすごい!やらなきゃ!」って思った人もいたかもしれませんが、今では全く目にしません。

SOAって「宣伝文句がうるさくて偉そうなくせに実際役に立たない技術」という印象なんですよね。

実用的なものが選ばれる

SOAPではなくRESTが流行って本当に良かったと私は思っています。

私の周りでSOAPとかSOAとか言ってた人達は本当に嘘くさかったし、コードを書いてない人たちでした。

RESTも厳密な方のRESTは説明がうるさいけれど、簡易RESTはシンプルで簡単で実用的です。

そういう技術だからこそ流行ったのだと思います!