RESTful APIとは?
仕組みと設計について解説

RESTful Webサービスは、インターネットの仕組みを応用し、コンピュータ間のデータやり取りを効率化するための技術です。

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からオンプレミスまで、企業のあらゆるビジネスアプリケーションをリアルタイムかつ活用可能な状態で連携させるアプリケーション統合スイート
    詳しく見る
Spotfire® 組織全体でのデータ分析・活用をオールインワンで実現するビジュアルアナリティクスツール 無料トライアル実施中
Spotfireの機能・使い方を動画で学べる Spotfire活用セミナー アーカイブ動画配信中 セミナー動画視聴はこちら
あ行
イーティーエル
(ETL)
異常検知
(Anomaly Detection)
か行
回帰分析
(Regression Analysis)
機械学習
(Machine Learning)
根本原因分析
(Root Cause Analysis)
さ行
散布図
(Scatter Chart)
製造アナリティクス
(Manufacturing Analytics)
た行
ダッシュボード
(Dashboard)
データ移行
(Data Migration)
データ仮想化
(Data Virtualization)
データカタログ
(Data Catalog)
データガバナンス
(Data Governance)
データクレンジング
(Data Cleansing)
データサイエンス
(Data Science)
データサイエンティスト
(Data Scientist)
データサイロ
(Data Silo)
データセキュリティ
(Data Security)
データ統合
(Data Integration)
データ品質
(Data Quality)
データファブリック
(Data Fabric)
データフェデレーション
(Data Federation)
データ分析
(Data Analytics)
データマネジメント
(Data Management)
データマネジメントプラットフォーム
(Data Management Platform)
データメッシュ
(Data Mesh)
データモデリング
(Data Modeling)
データリンキング
(Data Linking)
データレイク
(Data Lake)
テキストマイニング
(Text Mining)
デジタルツイン
(Digital Twin)
デブオプス
(DevOps)
は行
バッチ処理
(Batch Processing)
ビジネス用語集
(Business Glossary)
ビジュアルアナリティクス
(Visual Analytics)
分散分析
(Anova)
ま行
マスターデータ
(Master Data)
マスターデータ管理
(Master Data Management)
マルチドメインMDM
(Multi Domain MDM)
メタデータ管理
(Metadata Management)
ら行
リアルタイム分析
(Real-time Analytics)
リファレンスデータ
(Reference Data)
レーダーチャート
(Radar Chart)
レストフルエーピーアイ
(RESTful API)
ロジカルデータウェアハウス
(Logical Data Warehouse)
論理データモデル
(Logical Data Model)