OData v4.0が先日,OASIS Open Data Protocol技術委員会の委員会仕様(CS/Committee Specification)として承認された。3部構成の仕様には,エンティティデータモデルに従って定義されたリソースに対して,RESTベースのデータサービスを使用してアクセスや操作を行う機能などが定義されている。
仕様書の第1部には,基本的なプロトコル概要の他,データモデルとサービスモデル, バージョニング, 拡張性, フォーマット, ヘッダフィールド, コンテントURL, データサービス要求, セキュリティ面の考慮, さまざまなサービス適合性レベルなどの包括的な内容が記載されている。正常終了やインストリームエラーなどのクライアントおよびサーバのエラーといった,共通レスポンスのステータスコードもここで定義されている。
第2部では,URLコンポーネントやサービスルートURL, リソースパス, クエリオプション(システムとユーザいずれも), パラメータのエイリアスや適合性に関する項目が検討されている。第3部では,ODataサービスが公開するエンティティデータモデルのXML表現であるCommon Schema Definition Language (CSDL)について学ぶことができる。
CSDL名前空間やEntity Model Wrapper要素に加えて,Nominal, Structural, Primitive, built-in abstruct などのエンティティモデル型やアノテーション,さらにはスキーマ要素やstructural, navigation, c, complex, enumerationといったプロパティ要素や属性も検討対象としている。
型定義やアクション,関数,エンティティコンテナ,語彙と注釈,メタデータサービススキーマに関するコンテンツも,例や属性値と合わせて提供されている。oasisの公式サイトではオンライン資料に加えて,OData v4.0の全仕様が,関連ファイルやソースコードとともにダウンロード可能である。
MicrosoftのSenior Standard ProfessionalであるRam Jeyaraman氏がInfoQの単独インタビューに応じて,OData v4仕様のリリースに関する特別な情報をいくつか提供してくれた。
InfoQ: 新リリース(OData v4)の目的について教えて頂けますか?
新リリースについてブログ記事を書いたのは,OASISの標準化プロセスを通じたOData v4仕様の進捗についてお知らせしたかったからです。ご存じかも知れませんが,OData v4はOASIS内の技術委員会によって開発され,標準化されています(https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=odata)。この委員会には,多数の企業や個人が参加しています。
委員会仕様というステージは,最終標準に向けて非常に大切なステップです。委員会仕様に到達したということは,取りも直さず,作業がFeature Completeに達したという意味です。最終仕様が完成する前に,実装技術者が実装作業や相互運用テストに着手できる,ということなのです。
InfoQ: どのような人が恩恵を受けるのでしょうか?
OData v4は,Web上のデータサービス越しにデータのアクセスと更新を行うためのオープンなデータプロトコルを定義するものです。いわばWeb版のODBCで,HTTPやRESTといったWebプロトコルや規約に依存しています。どんなデータサービスプロバイダも(Web上でなくても),あるいはそのようなデータサービスにオープンかつ標準的な方法でアクセスを望むクライアントでも,ODataの恩恵を受けることができます。
InfoQ: 定期的に仕様を更新するような計画はありますか?
はい,6ヶ月以内にOData v4をOASIS標準に進める計画を持っています。その後もOASIS OData技術委員会を継続して,ニーズや実装経験に基づいた新機能を加えていきたいと思っています。採用数が増えるのに合わせて,OData v4も進化できるといいですね。