CDSビューに切り替わることのメリットとは
INDEX LINK
はじめに
S/4 HANAは周辺システムとのデータ連携によって旧来のERP以上の機能を実現していくためのシステムです。
当然のことながら、S/4HANA以外とのデータ連携が増えます。
そこで重要になっているのがCDSです。
今回はS/4 HANAへの移行で大きな変更点となるCDSビューについてまとめてみたいと思います。
1.CDS Viewの基礎
CDSビューの正式名称は「ABAP CDS View」です。
SAPが開発したABAPベースのオブジェクトで、SQLのViewに似た概念ですね。
SAP公式でも「SQL拡張」と明言しているので、そういうものだと理解しておけばよいでしょう。
1-1.CDSビューの基本的な知識
・高速なデータ読み込み: HANAのインメモリ機能により、データの読み込み速度が非常に速いです。
・ABAPスタックでの動作: データベース層ではなくABAPスタックで動作するため、DBレイヤーでの権限管理やログインは不要です。また、ABAPで開発したものと同様に管理が可能です。
・SQL Viewの生成: 内部的にはHANAレイヤーでSQL Viewが生成されます。
・標準CDS Viewの搭載: S/4HANAには多くの標準CDS Viewが用意されています。「View Browser」を使って標準のViewを閲覧できます。
・独自のCDS Viewの作成: 一方で、ユーザー独自のCDS Viewを作成するためには「ABAP Development Tools (ADT)」が必要です。ADTはEclipseのプラグインとして利用可能です。
1-2.CDS Viewの目的
Fioriを活用するようになると、旧来のGUIベースの操作ではなく、ブラウザからシステムを操作することになります。
つまり、ブラウザ側からのリクエストに対して、レスポンスする仕組みが必要になるわけです。
このとき、ODataというRESTの考え方を基本としたプロトコルによって、レスポンスを返します。
バックエンドでは、データベースからデータを抽出・編集して、ODataで返すわけですね。
このODataを扱うためにCDSビューが必要になります。
1-3.OLTPとOLAPの統合
さらに突っ込んだ見方をすると、「OLTP(オンライン取引処理)とOLAP(オンライン分析処理)の統合」が見えてきます。
これまでのERは、OLTPとOLAPが分離されていました。
そのため、データ分析には時間がかかっていましたが、CDS Viewを使用することで、リアルタイムでのデータ分析が可能になります。
これは、OLTPとOLAPの統合を意味するわけです。
2.CDS Viewのメリット
では開発側から見たCDSビューのメリットを挙げていきましょう。
・Code push downによる大幅な処理速度向上
CDS Viewは、内部的にSQLと同じなので、本質的な処理速度は従来と大差ありません。
簡単に言ってしまえば、特別遅いわけではないが取り立てて高速にもなりません。
一方で、「Code Pushdown」で実装することにより高速な処理が実現します。
Code push downとは、データ処理を可能な限りDB側で行うという方法論です。(Code to data paradigmとも呼ばれます。)
Code Pushdown に基づいて設計されたCDS Viewの内容は、HANAのインメモリDBでSQL Viewとして生成されます。
インメモリ上なので、当然のことながら処理速度は非常に速いです。
ABAPレイヤーでのビュー生成よりも高速になると考えています。(実際に体感できるほど高速です)
・Annotation(アノテーション)の活用による開発効率化
CDS Viewでは、Annotationを使用して、一般的なDB属性以外の要素を管理できます。
Annotationとは、ソースコードの要素に対して付与するタグのこと。
一般的には属性とかプロパティのようなものと理解されています。
Annotationの利用により、アプリケーションレイヤーのロジックをDBレイヤーに寄せることができるため、開発効率が向上するとのこと。
このほかにも様々なメリットがありますが、大きなところではこの2つでしょうか。
3.CDS Viewの種類
CDS Viewにはいくつかの種類があり、それぞれ性質が異なります。
・Consumption View
特定のレポート要件のために作成されたビューで外部公開向け、再利用は不可です。
・Interface View
業務的な意味のあるまとまりのビューです。再利用を想定されており、後述のBasic ViewとComposite Viewで構成されます。
・Basic View
Sales Orderのようにユニーク(重複しない)コアエンティティを表すために使用するビューです。
・Composite View
複数のBasic Viewを組み合わせたものですね。
・Extension View
標準の View に対して項目追加などの拡張を行いたい場合に生成されます。
・Private View
Interface View作成のためのパーツです。再利用は想定されません。
まとめ
今回はS/4 HANAの新しいViewである「CDS View」の基礎を解説しました。
まだまだ使い慣れていない方が多いと思いますが、S/4 HANAに移行するうえでマストとも呼べるツールだけに、使い方は抑えておきましょう。
リアルタイムなデータ分析と開発効率の向上が実現できることは大きな魅力ですから。