HTML5Experts.jpのエンタープライズ特集第二弾として 小川充 氏による「実例から考える、HTML5時代のエンタープライズ・アーキテクチャ | HTML5Experts.jp」が掲載されました。同氏はエンジニアとして尊敬でき、私がBackbone.jsを導入する際に様々なアドバイスを頂きました、すばらしい技術者のひとりです。
今回のテーマにあるODataは記事にも記載されている通り"Open Data Protocol"のことではあるがプロトコルというよりもAPIであり「こういうルールを作ったから従ってね」といったものです。自分自身まったくわかっていないので、過去同じようなAPIを再整理することでODataの行く末を考えてみたいと思います。
SOAP
SOAPはXML-RPCから発展したWebサービスのためのRPCプロトコルです。この仕様は1999年にMicrosoft社などが発表し、2000年5月にW3C標準規格となりました。B2BにおけるWebサービス化とともに普及が進みましたが、WS-*プロトコル郡などの複雑な仕様が敬遠されるようになり、シンプルで軽量なWebサービスであるRESTful APIが指示されるようになりました。
SOAPとは 【 Simple Object Access Protocol 】 - 意味/解説/説明/定義 : IT用語辞典
GData
GDataは、正確にはGoogle Data APIのことでODataに近いものです。Googleではデータにアクセスする多くのサービスで内部的にGDataを使用していました。現在、Google Data APIのサイト Home Page - Google Data APIs — Google Developers を見ると次のようなコメントが記載されています。
Warning: Most newer Google APIs are not Google Data APIs. The Google Data APIs documentation applies only to the older APIs that are listed in the Google Data APIs directory. For information about a specific new API, see that API's documentation. For information about authorizing requests with a newer API, see Google Accounts Authentication and Authorization.
Home Page - Google Data APIs — Google Developers
GDataってもっと注目されてもいいんじゃないの&非公式開発者ガイド | cyano
OData
Open Data Protocol(OData)はWeb上のデータを検索したり更新したりするためのプロトコルでAtomPubプロトコルの拡張セットであり、WebフィールドのためのXMLベースの言語です。ODataは以前、Astoriaプロトコル、ADO.NET Data Servicesプロトコル、あるいはAtomPubの規約/拡張セットとして知られていました。MicrosoftはGoogleが使っているGDataに対して、WebデータプロトコルODataを提案し、OData採用のための協力をGoogleに求めていたようです。
- 構造化データを表現するための規約
- リソースアドレッシングスキーマとURLシンタックス
- 一般的なクエリオプションセット(フィルタ、ソートなど)
- リソースの構造、リンク、メタデータを記述するためのスキーマ
- バッチや“ユニット・オブ・ワーク”リクエストのためのペイロードフォーマットとセマンティック
- リソースコンテンツ(JSON)の代替表現
MicrosoftがデファクトスタンダードのWebデータプロトコルとしてODataを提案
REST
RESTについて面白い対談がありましたので添付します。
RESTが日本で受け入れられていった頃の話( #mozaicfm の補足) - delirious thoughts
最後に
エンタープライズ開発は以前にも増して
- 開発スピードの短縮
- 軽量開発
が求められてます。Single-page Applicationでクライアントとアプリケーションサーバを疎結合にするというのも、IT起因で活動を鈍くするのではなく企業活動をより活性化させるためにあります。そうした流れをODataが含んでいるかが指示されるか否かだと考えます。