REST APIの代替を目指す技術について

RESTful APIがIT業界で普及していますが、その反面で様々な限界も見えてきています。一つのリソースをパーマネントリンクで扱う分には簡単ですが、一覧や関連データを取得する、さらに一覧の絞り込みをしたいとなった時に突然煩雑になってしまいます。

そうした中で考えられているのがREST APIに置き換わる技術です。

OData

Microsoftが提唱しているプロトコルで、HTTP/HTTPSを使います。クエリを記述することでデータの取得はもちろん新規登録や更新、削除も可能です。開発ツールも充実しており、.NET系であれば簡単に扱えるようです。

OData - the Best Way to REST

GData

Googleが提唱しているプロトコルで、AtomPubを拡張した形になっています。Googleが持つ多数のサービスがこのGDataに沿った形で提供されています。データ形式はXMLがメインですが、JSONにも対応しているようです。

Google Data APIs  |  Google Developers

ORDS

Oracle REST Data Servicesの略です。Oracleが開発している通り、Oracleデータベースとの親和性が高いプロトコルです。CRUD操作のエンドポイント(REST形式)は自動で生成されます。取得時の絞り込み条件はJSONで記述します。

Oracle REST Data Services

GraphQL

Facebookが開発したクエリ言語です。HTTP/HTTPSを使います。JSONに似たDSLで記述します。オープンなプロトコルなので、多数のライブラリが出ていたり関連サービスのリリースも盛んに行われています。購読という形で通知を受け取る機能もあります。

GraphQL | A query language for your API


元々この手のプロトコルとしてはODataが早かったのですが、あまり普及していません。GDataやORDSはベンダー依存が強いように見えます。GraphQLはAPIの広がりとREST APIの限界が見えてきた段階で登場し、一番良いタイミングかも知れません。

© NTT Communications Corporation All Rights Reserved.