「OData」とは?SAPにおける活用方法
INDEX LINK
はじめに
ODataは、HTTPベースでデータをやり取りするための汎用的な通信規格です。
SAP S/4HANAをはじめとするシステムと外部システム間のデータ連携を容易にし、APIを通じて柔軟かつ高速に情報を取得・更新できます。
本記事では、ODataの概要や利点、利用方法を詳しく解説し、システム間のデータ交換を効率化するための実践的な情報を提供します。
1.ODataとは
ODataは、サーバーとブラウザのデータやり取りを行うためのHTTPベースの通信規格です。
ODataを作ったのはSAPではなくMicrosoftで、SAPはその技術を流用しているというイメージですね。
近年増加している「SAPとそれ以外のデータ連携」を実現し、なおかつ処理を効率よく行うための方法論として、ODataが活用され始めています。
ODataの根底には「REST」があります。
REST(REpresentational State Transfer)とは、Webサービスにおけるアーキテクチャの一つで、近年はWebサービスを中心にさまざまな分野で活用されています。
・RESTの4原則
Uniform Interface:統一インターフェース
Addressability:アドレス可能性
Connectability:接続性
Stateless:ステートレス性
ODataもこのRESTの考え方を踏襲し、対象のリソースをURIで指定し、HTTPメソッド(GET, POSTなど)によって操作できることが特徴です。
2.ODataの特徴
ODataの特徴や強みとしては、以下が挙げられます。
・データのアドレスをURLで記載できるためわかりやすい
・HTTPプロトコルの標準的なメソッド(GET/POST/PUT/DELETEなど)によるデータ操作が可能
・JSON、XML形式でレスポンスを返すため汎用性が高い
・SQLのような操作が可能
ODataは「汎用的な規格」であって、SAP社固有の規格ではないため、外部のシステムとの連携で非常に使いやすいです。
基幹システムで求められる高度なデータのやり取りを実現する仕様も備えています。
また、APIに多くの情報を含めることができ、複雑なデータのやりとりにも対応できます。
SuccesFactorsやBTPとの連携もODataによって実現できます。
さらにODataは、キー項目や取得対象の項目を選択できるため、APIの汎用性が高くなります。
S/4HANAのデータを柔軟に取得可能です。
3.ODataの歴史
ODataはマイクロソフトによって開発され、IBMやSAPなど他の主要なテクノロジー企業とともに標準化が進められました。
現在は、OASIS OData Technical Committeeという非営利組織によって運用されています。
ODataが世に出始めたのは2010年代の初頭でした。
当時、業務システムのHTML5化が必須とされていて、なおかつ「バックエンドとフロントエンドを分離させる」というトレンドがありました。
つまり、Web APIを通じてのデータやり取りが一般化し始めていたのです。
そこでデータアクセス方法の標準化が必要になったわけですが、このとき注目されたのがODataです。
データアクセスに関するさまざまな指定をURLパラメータとして持ち、汎用的でわかりやすく、なおかつ柔軟な指定が可能な方法として一気に知名度が上がりました。
4.従来の仕組みとの違い
従来、SAPとのデータ交換には、ファイルベースのやり取りやRFC、IDocといったSAP独自の規格が必要でした。
これに対し、ODataはオープンで汎用性の高い規格です。
WEBアプリやモバイルアプリから、S/4HANAのデータを簡単に取得・更新できます。
データ取得や更新に関する制限が非常に小さいという点がこれまでとの違いですね。
5.ODataの利用方法
S/4HANAでODataを利用するには、以下の3つの方法があります。
・標準API(Whitelisted API)の利用
・CDS ViewのOData化
・OData APIの作成
5-1.標準API(Whitelisted API)の利用
SAPが提供する多くの標準APIを活用した方法です。
利用可能なAPIは「SAP Business Accelerator Hub」にリストされていて、トランザクションコード「/n/iwfnd/maint_service」によって有効化できます。
5-2.CDS ViewのOData化
「CDS View」をOData APIとして公開する方法です。
ただし、この方法では「Read」操作に限定されているので注意しましょう。
トランザクションコード「/n/iwfnd/maint_service」で設定します。
5-3.OData APIの作成
ABAPベースのOData APIを作成し、BAPIや汎用モジュールをOData APIとして公開する方法です。
具体的な実装は
・「RAP(ABAP RESTful Application Programming Model)」を使用した標準APIと同じように作成する
・トランザクションコード「SEGW」を使用して旧来のABAPプログラムをOData化する
の2択ですね。
まとめ
ODataは、HTTPベースの汎用性の高い通信規格であり、異なるシステム間でのデータ交換を容易にします。
SAP S/4HANAと外部システムのデータ連携が簡単になり、アプリケーション開発を促進する強力なツールです。
例えば、「Integration Suite」はODataを活用してデータ連携を効率的に行います。
このように習得しておいて損のない知識・スキルのひとつなので、ぜひとも学んでおきましょう。
実際にプロジェクトで使用する機会が増えてくるはずですので、できるだけ早く身に着けておくことをお勧めします。