zenet_logo

-株式会社ゼネット技術ブログ-

S/4HANA Cloudの拡張開発について

 はじめに

この記事ではSAP(企業内の全ての業務を一元的に管理するシステム)の一つである、S/4HANA Cloudという製品に関連が深い、SAP Business Technology Platform(通称:BTP)について記載しています。

S/4HANA Cloudは四半期毎に自動で行われる機能追加や不具合修正のバージョンアップを通じて、常に最新の状況にすることを可能にしたSaaS型の製品です。

搭載された機能が全て使用できるわけではなく、必要な機能のみを有効化することで、低コストかつ短期間での導入が可能となっており、既に大企業の多くが導入しています。

ただし、「S/4HANA」と呼ばれるオンプレミスの製品とは異なり、S/4HANA Cloudでは、標準機能に備わっていない機能をアドオン開発で個別に開発することができないという欠点があります。

この問題を解消するため、S/4HANA Cloudでは以下2つの方式の「拡張」という手段を用意しています。

 S/4HANA Cloudの拡張方式

「In-App拡張」
SAP S/4HANA Cloud内に提供されている、カスタマイズ用アプリケーションを用いて拡張する方式です。

主に画面項目の追加や、レポートフォームの作成など簡易的に拡張できるのが特徴ですが、バージョンアップの影響を受けることがあります。

「Side-by-Side拡張」
Side-by-Side拡張とは、SAP S/4HANA Cloudとは別にSAP社が提供している、SAP Business Technology Platform(通称:BTP)を用いて、システム外に拡張する方式です。

バージョンアップによる影響が少ない一方で、SAP S/4HANA Cloudとのデータ連携や別の管理を行う必要があり、保守運用コストが必要となります。

この記事では、特に後者の拡張方式に使用されているBTPについて紹介します。

【拡張開発イメージ図】

 BTPとはなにか

SAP BTPとはSAP製品のアプリケーションを開発・拡張するために提供されたクラウド基盤(PaaS)です。

SAP BTP上には既に様々なサービス(フレームワーク、ライブラリ、拡張ツール)が用意されています。

それにより、SAP S/4HANA Cloudとのデータ連携を通じて、JavaやJavaScriptでの開発、データベース構築、RPA実装が可能となり、これらを用いることで、業務に必要なデータの管理/分析を強固にしていくことが可能となります。

<SAP BTPで実現可能となることの一例>

    ・機能拡張    
     フレームワークや拡張機能を利用することにより、
     SAP ERPと親和性の高いアプリケーションを効率的に開発することができます。

    ・機能連携    
     データ連携機能を利用することで、周辺サービス(SaaS型製品など)との連携を行うことができます。

    ・技術者・運用
     JavaやJavaScriptでの開発が可能であるため、SAP技術者不足、維持運用費用などへの貢献に繋がります。

 BTPを使ったデータ管理/分析の例

では、実際にどのような使われ方をしているのか、いくつか簡単に紹介します。    
    
■ Javaアプリケーション

統合開発環境EclipseにてJavaプログラムを作成し、それをBTPへデプロイする事でアプリケーションとして利用できます。

SAP S/4HANA Cloudとのデータ連携としては、Odata APIやSOAP APIといった様々なAPIを使用することができ、それらをプログラム内に記述し、HTTPリクエストを用いることで、データのGET(取得)やPOST(登録)を可能にしています。

BTPでは登録したプロジェクトごとにアプリケーションを管理し、主に下記のようなことができます。        

 ・ステータスの制御(実行/停止)

 ・ログの監視

 ・稼働状況のモニタリング(メモリ確認)

開発したソースコードはBTP内に作成できるGitリポジトリで管理することができます。

【Odata APIの流れの図】

【サンプルコード(Java)】

 

■ データベース構築とデータ分析

BTPのサービスの一つとして、SAP Business Application Studio(通称:BAS)があります。                
これは、ビジネスアプリケーション開発のためのブラウザベースの開発環境となっており、以下の点で非常に有用なツールです。                

    ・すぐに利用可能
        開発環境の準備に時間を要さず、またビルドからデプロイまでワンクリックで操作可能です。
        1アカウントでも同時に複数の開発環境を簡単に用意することができるため、
        複数のアプリ開発を同時に進める際に起こりがちなJavaのバージョン切り替えが不要となります。

    ・シンプルな開発環境
       上記に加え、JavaやNode.jsなどのテストもデプロイすることなしにで実行することができます。
       またBASはクラウドアプリとして自動的にアップデートされるつくりのため、
       これらのサービスのインストールやアップグレードは不要です。

    ・SAPソリューションとの統合
        S/4HANAのオンプレ版やクラウド版及びSAP API Business Hubなどに接続する手段も提供されています。

    ・高い生産性
        アプリケーション開発のためのテンプレートウィザード、Fiori開発などのために
        作りこまれたコードエディタやグラフィカルなエディタなどのツールがあります。
        プロジェクトにおけるコーディングスタイルの統一機能などもインポートが可能で、
        これらの設定はチーム内で共有して開発を進めることができます。

                
このツールを用いることで、BTP内に用意されたデータベース内に、業務に必要な情報やデータの集計などを編纂した、テーブルやプロシージャ、ビューといったオブジェクトを簡単に作成することが可能です。

SAP S/4HANA Cloudとのデータ連携としては、同じくAPIによるデータ取得を行い、データベースへの登録を行いますが、さらにサービスのうちの1つである、SAP Analytics Cloud(通称:SAC)を用いることにより、上記BASで作成したオブジェクトを介して、ブラウザ上で閲覧出来る業務レポートも作成することができます。                
SACは以下の機能を有し上記を含め、導入した企業内での経営方針等の意思決定をサポートしており、非常に有用となっています。                
    ・総合的な意思決定支援(SAP Digital Boardroom)
    ・可視化・自由分析・データ検索(SAP Analytics Cloud for BI)
    ・予算・計画管理(SAP Analytics Cloud Planning)
    ・機械学習による予測・影響分析(SAP Analytics Cloud Predictive)
    ・ユーザー管理等を行う共通プラットフォーム      

    まとめ

BTPを活用する事で、SAP S/4HANA Cloudだけでは実装できない様々な要件に対応できます。

また一例で挙げた通り、従来のSAPの導入とは異なり求められる人材がABAPの技術者だけではなく、Javaの技術者も活躍できる場が増え、SAP事業が展開しやすくなるのではないでしょうか。

    参考文献

・「 SAP Business Technology Platform」                                                                            https://www.sap.com/products/technology-platform.html

・「SAC と SAP HANA Cloud との連携」                                                                              https://blogs.sap.com/2021/06/09/sac-and-hana-cloud-integration-w-sso/

 

他にも役に立つSAP記事を公開しております。ぜひご覧ください。

media.zenet-web.co.jp

media.zenet-web.co.jp