なぜRESTは流行ったのか?理由は「簡単に使える&ブラウザから呼べる唯一の手段だから」

      2016/09/06

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(GET/POSTでJSON/XML返す)が流行ったか?

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

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

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

他の手段がない上に手軽に簡単に使えるのでそりゃ流行りますね。

SOAPが流行らなかった理由

RESTのライバルはSOAPと言われてましたが、SOAPはRESTほど流行りませんでした。SOAPはスキーマ(WSDL)を定義してプロキシコードを生成してとかやるのがめんどくさかったのでRESTのが使いやすかったのと、そもそもブラウザのJavaScriptからSOAPを呼び出せないので、「SOAPいらないじゃん」という感じになりました。

あと、SOAPはWSDLとUDDIとセットでSOA(Service Oriented Ahchitecture)とか言って、特にエンタープライズ系システムでは「サービスを組み合わせるだけでシステムが作れます。サービスとして再利用できる設計が出来ます」みたいな嘘くさい営業トークがされていました。SOAPは単なるリモートコールする技術なのに、その周りに嘘くさいうんちくが足されていたのですが、Webエンジニアからは無視されたのだと思います。

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

実用的なものが選ばれる

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

私の周りでSOAPとかSOAとか言ってた人達は本当に嘘くさかったし、自分でシステムを作っていない人たちでした。

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

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

 

エージェントを使った方が転職活動は楽です

東京・大阪近郊のイケてるIT企業に転職したい人には『レバテックキャリア』

 東京・大阪近郊のエンジニア経験者向け転職サービスです。

このサービスを運営しているレバレジーズという会社はシステム開発もやっているので、現場の仕事をよくわかってくれてますし、ヒカ☆ラボというIT系の勉強会なども主催していたりteratailというプログラマー専用の質問サイトを運営してて好感が持てます。求人案件もWebやスマホの面白い仕事が多いのでいいと思います。

あとホームページ見ると分かるんですが、若くて美人の担当者が多いのもナイスなんです!私の場合(たぶんあなたも)、担当者が美人だと転職活動のモチベーションめちゃ上がりますからね笑

エンジニア未経験の方や地方在住の方にはDODAというエージェントをおすすめします。

エンジニア未経験の方や地方在住の方には『DODA』

全国の求人を扱っていて、しかもITエンジニア未経験の人にも転職支援をしてくれるエージェントです。

未経験の人はサポート対象外のエージェントが多い中、DODAは未経験者を支援し転職を成功させています。未経験の方こそエージェントから職務経歴書の作り方や面接の仕方のレクチャーを受けた方がずっとうまくいきます。

フリーランスになりたい人には『ギークスジョブ』

フリーランスエンジニアになるには人脈が必要と思われがちですが、ギークスジョブに登録して希望条件を伝えれば、自分に合った案件を紹介してもらえるんですよ!思ってるより全然簡単にフリーランスってなれるもんなんです。

東京・大阪・名古屋・福岡の案件を紹介してもらえます。

 - ITエンジニア成功術