• 【SAPUI5】ODataとは


    はじめに

    SAPUI5でアプリケーションを作るにあたり、ODataは避けては通れないトピックです。
    結構広いテーマなので、5~7回くらいに分けて書きたいと思います。
    1回目はODataの概要について説明します。

    ODataとは

    OData(Open Data Protocol)とは簡単に言えば、HTTPを使ってサーバとブラウザでデータをやり取りするためのプロトコルです。
    Microsoftが作った仕組みで、それをSAPでも利用しています。

    イメージ
    image.png

    ODataのベースとなる考え方

    ODataは"REST"の考え方がベースとなっています。
    REST(REpresentational State Transfer)とは、Webサービスにおけるアーキテクチャのスタイルの一つです。
    対象のリソースをURIで指定し、HTTPメソッド(GET, POSTなど)によって操作します。
    image.png
    OData – Everything that you need to know (Part 2)より引用

    Representationとは

    RepresentationとはURIによって指定されたリソースまたはその一部です。
    たとえばPersonというリソースがあり、その人の連絡先情報を取得するODataサービスがあるとします。この場合、氏名、住所、電話番号などがRepresentationとなります。
    image.png

    RESTful APIとは

    RESTful APIとは、RESTの6つの原則に従って作られたAPIのことです。

    6つの原則

    原則説明
    Client-Server クライアト・サーバー型であること(データの格納場所とユーザインターフェースを分離するため)
    Stateless クライアントからサーバへのリクエストは、サーバがリクエストを理解するのに必要な情報をすべて含むこと。サーバ側にクライアントの情報は保存しない
    Cacheable サーバからのレスポンスには、明示的あるいは暗黙的にキャッシュの可否が示されること
    Uniform Interface コンポーネント間で統一されたインターフェースを使用すること。このために、リソースの特定方法(URI)、操作方法(HTTPメソッド)などの決まりがある。
    Layered System レイヤー構成を可能にすること。クライアントはサーバではなく中間レイヤーと通信する場合もあるが、何とやり取りをしているかを意識する必要はない
    Code on Demand サーバから送信されたコードをクライアントで実行することで、クライアント側の機能を一時的に拡張できるこ

    ODataの特徴

    ODataには次のような特徴があります。

    1. URIを使ってデータを読み書きする
    2. 言語に依存せずに利用できる
    3. JSONまたはXML形式でレスポンスを返す

    1. URIを使ってデータを読み書きする

    URI(Uniform Resource Identifier)とは、その名の通りインターネット上のリソースを一意に特定するための名前、または場所、またはその両方のことを指します。(ちなみに、URLもURIの一部です)
    ODataにアクセスする際は、以下のようにURIを指定します。
    image.png
    OData Version 4.0 Part 2: URL ConventionsInformation published on non-SAP siteより引用

    ひとまず、「URLのような形式でデータの取得や更新ができる」という理解で十分だと思います。

    2. 言語に依存せずに利用できる

    ODataはHTTPをベースとした仕組みなのでクライアント側、サーバ側とも言語の制約がありません。(HTTPリクエスト、レスポンスを作れればよい)
    参考までにODataの公式リファレンスには、HTTP, C#, JavaScript, C++, Node.jsのサンプルがあります。

    3. JSONまたはXML形式でレスポンスを返す

    ODataのレスポンスの形式はJSON、またはXML形式です。
    どのようなデータ形式で欲しいかはリクエストで指定します。

    まとめ

    • ODataはRESTの考え方をもとに作られている
    • URIを指定してリソースを操作する
    • どのような言語でも使え、レスポンスはJSONまたはXML

    参考

    OData – Everything that you need to know (Part 1)
    OData – Everything that you need to know (Part 2)
    OData – Everything that you need to know (Part 3)
    OData and SAP Netweaver Gateway. Part I. Introduction
    RESTとは何か
    Architectural Styles and the Design of Network-based Software Architectures

  • 相关阅读:
    关于plsql表如何创建自增长列
    逻辑运算符号,赋值运算符,关系运算符
    运算符和自增自减
    其他进制的数字
    数据强转
    JS基本数据类型
    学习进度条
    第14天
    第13 天
    课堂作业05
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10487628.html
Copyright © 2020-2023  润新知