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

      2017/03/23

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はシンプルで簡単で実用的です。

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

プログラミング初心者におすすめのサービス
1. 講師から直接学びたい派なら

プログラマカレッジをおすすめします。ProEngineerという転職エージェントが運営しているプログラミングスクールです。なんと無料で受講できて、修了後、就職支援もしてくれるそうです。最高過ぎですよ、これ!!就職の紹介料を企業からもらえるのでスクールを無料にできるんでしょうね。すばらしいシステムだと思います!

2. 自宅で学びたい派なら

「就職保証付き」オンライン就職予備校をおすすめします。Javaエンジニアコースでは就職保証がついているのでプログラマーとして就職したい方にはぴったりです。Javaエンジニアの求人ってめっちゃ多いし、求められる技術レベルもそこまで高くないのでちゃんとした教育プログラムなら就職保証できるだろうなとJavaエンジニア経験者の私も思います。

3. つまづいた時に質問したくなったら

プログラマー専用の質問サイトteratailをおすすめします。 つまづいた時にteratrailで質問すれば教えてもらえます。

これらのサービスを活用すれば、全くの初心者からでもプログラミングをばっちり出来るようになると思います!レッツトライです!

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

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

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

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

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

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

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

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

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

『派遣社員』なら正社員とフリーランスの『良いとこ取り』!

  • 「フリーランスになりたいけど、確定申告とかめんどくさいな」
  • 「定時帰りできる職場や、時短勤務がしたい」

という方には派遣社員がおすすめです。

派遣ってネガティブなイメージありますが、ITエンジニアの派遣社員ならやりたい仕事を選べて、給料も悪くないですし、確定申告や年金、健康保険も派遣会社が入ってくれるので、実はとてもいい選択なんです。

 - 技術