RESTful API

RESTful APIとは?

最近、RESTful Webサービスという言葉を耳にする機会が多くなり、ここ数年で現れた新しい概念だと思われがちですが、実際には、RESTful APIの基礎となる概念はインターネットと同じくらい前から存在しており、その観点から理解するのが最もわかりやすいかもしれません。

RESTful APIの概念

RESTful APIとは何かについて説明する前に、なぜRESTful APIが重要なのかについて考えてみましょう。コンピュータが単一の言語でできたネットワークを介してやり取りできるようにするための方法が数百種類も生み出されてきました。方法、つまり「プロトコル」の進化によって、コンピュータ通信における標準的なプロトコルの組合せ(スタック)が定着するようになりました。プロトコルスタックの最上位には、アプリケーション層とプレゼンテーション層があり、ここでビジネスロジックとそれによって生じるデータのやり取りが行われます。

RESTもこのスタックに含まれています。交換されるデータは人間にとっても理解しやすいと同時に、コンピュータにとって効率的になっています。同じ場所にある他の技術としてはSOAPがありますが、データ量が多く、より計算能力を必要とするため、リソースに制約のあるモバイル環境にはあまり適していません。他にJMS(Javaアプリケーション専用)、XML-RPC(SOAPと同じような問題を抱えており、標準化もされていない)などがあります。

RESTはインターネットそのものの仕組みに乗っており、より重量級のプロトコルにつきものの不都合なしに最小限のデータをやり取りできます。これにより、プログラマーは、不安定なネットワークであっても、また計算能力が限られた環境であっても、API経由で公開されたデータにアクセスしたり操作したりするプログラムを、より迅速に構築することができます。

RESTの動作は、ブラウザでのウェブサイトとほぼ同じです。リソースはURLを通じてプログラムに公開されており、プログラムはそのURLにアクセスして、リソースに関するデータを受け取ります。これは、ブラウザにURLを入力してウェブページを取得する仕組みとよく似ています。正しく設計されたRESTful APIにおいては、アクセスするプログラムが辿れるような追加のリンクも書かれています。これらリンクは、追加の情報を要求する(新しいページに訪れるためにリンクをクリックするのと似ています)ものであったり、またリソースを更新する(ウェブサイトのフォーム入力に似ています)ものであったりします。

RESTの強みは柔軟性ですが、弱点は標準化が弱いことです。開発者はRESTにデータ連携方法を記述できますが、データの見え方を記述することができません。ネットにアクセスするモバイル機器はますます増えていますが、RESTが真に標準化されるには、いましばらくかかると考えられています。

関連製品

  • TIBCO
    Cloud™ Integration
    SaaSからオンプレミスまで、企業のあらゆるビジネスアプリケーションをリアルタイムかつ活用可能な状態で連携させるアプリケーション統合スイート
    詳しく見る
TAF The Analytics Forum『インサイトからアクションへ』Spotfireが開催するカンファレンスイベント 今すぐ視聴する
Spotfire® 組織全体でのデータ分析・活用をオールインワンで実現するビジュアルアナリティクスツール 無料トライアル実施中
Spotfireの機能・使い方を動画で学べる Spotfire活用セミナー アーカイブ動画配信中 セミナー動画視聴はこちら