Skip to Content
Technical Articles

SAP HANA XSAで動くFiori Launchpadを作ってみた

はじめに

SAP HANAのXS Advanced (XSA)で動くSAP Fiori Launchpadについてご紹介したいと思います。Multi-Target Application (MTA)には、SAP Fiori Launchpad Site Modulesというものが用意されており、SAP HANAのXSAにデプロイして動かすことができます。

もちろん、すでにあるSAPUI5アプリを組み込んでタイルから呼び出したり、テーマをカスタマイズしたり、ロールでタイルの制御をしたりと、基本的な機能はゴリゴリ作り込めるようになっています。

少し話は変わりますが、2018年12月31日をもってSAP Web IDE for Cloudがなくなり、来年からはFull-Stackオンリーとなります。実は、今回ご紹介するSAP HANA版Fioriも、異なるランタイムのモジュールをつなぎ合わせて、ひとつのアプリを構成する、まさにフルスタックで開発を行うものです。まだやったことがない方、興味を持った方は、ぜひ実際に作ってみてほしいと思います。

この内容は、SAPアドベントカレンダーの12/8 (土) に投稿したものです。

前提条件

作り始める前に、HANA, Express Edition (Server + XSA Applications)を用意する必要があります。Express Editionである必要はありませんが、個人で自由に使える環境は少ないと思いますので、こちらを記載しています。

なお、このブログでは具体的な手順に触れていませんので、公式チュートリアルをご参照ください。AWSアカウントをお持ちの方は、AWS MarketplaceにAMIがあります。設定も含めて30分程度で環境が作れると思います。

今回使用したバージョンは、以下の通りです。

  • HANA, Express Edition (Server + XSA Application): 2.0 SPS 03
  • SAP Web IDE for HANA 2: SPS 03 Patch 2 ( Build 4.3.25 )

 

Fiori Launchpad on SAP HANA の作り方

全部で4ステップです。では、SAP Web IDEにログインして作っていきます。

flow.png

 

Step1. MTA Projectの生成

Workspaceで右クリック > New > Project from Templateを選択します。

mta-01.png

Multi-Target Application Projectを選択して、Nextをクリックします。

mta-02.png

Projectの名前を入力して、Nextをクリックします。

mta-03.png

以下を入力して、Finishをクリックします。

  • Application ID
  • Application Version
  • Space

 

mta-04.png

 

Step2. SAP Fiori Launchpad Site Modulesの追加

先ほど作成したMTAプロジェクトの中に、SAP Fiori Launchpad Site Modulesを追加します。
MTAプロジェクトを選択して右クリック > New > SAP Fiori Launchpad Site Modulesを選択します。

flsm-01.png

SAP Fiori Launchpad Site Modulesが見つからない場合は、機能を有効化する必要があります。
設定 > Featuresを選択し、SAP Fiori Launchpad SiteをONにしてください。

flsm-00.png

モジュールが追加できたら、Siteの名前を入力して、Nextをクリックします。

flsm-02.png

Site Contentの名前を入力して、Finishをクリックします。

flsm-03.png

MTAプロジェクトの中に、さきほど指定した名前で「Site」と「Site Content」が作られています。
これが、SAP Fiori Launchpad Site Modulesの実体です。

flsm-04.png

それぞれ、簡単にいうと次のような役割です。

Site     ・・・ Fioriのエントリポイント。実際のWebリソースを置くところ。

Site Content ・・・ Fiori Launchpadのサイト構成を定義するところ。

 

現時点では、Siteの中にJSONファイルしかなく、Webリソースらしきものは見当たりません。つまり、ここまでの手順で「アプリを抱え込んでいない、空っぽのSAP Fiori Launchpadを作った」ということになります。

さて、本当に空っぽのLaunchpadでしょうか?
よく見ると、Site Contentに中にapplicationsというフォルダもありますね??

実は、SAP Fiori Launchpad Site Modulesには、最初からタイルが2枚くっついてきます。タイルの中身が外部サイトのリンクであれば、Webリソースを自分自身で抱え込む必要はありませんが、タイルに表示する文言やリンク先のような設定(定義)は必要なので、それらをSite Contentに抱えているというワケです。

もし自分で作ったSAPUI5アプリをタイルから呼び出したい!と思ったときは、Siteの中にWebリソースを抱え込む必要があります。もう少し正確に言うと、SAP Fiori Launchpadからシングルページアプリケーション(SPA)としてSAPUI5を呼び出したい場合になります。

このあたりについては、続編としてまとめたいと思います。では、ビルドしてみましょう。

 

Step3. Build

MTAプロジェクトを選択して右クリック > Buildを選択します。

build-01.png

Buildが成功したことを確認します。

build-02.png

Buildに成功すると、mta_archivesというフォルダに*.mtarが作成されます。フォルダが見つからない場合は、SAP Web IDEをリロードしてみてください。

build-03.png

 

Step4. Deploy

先ほど作成された*.mtarを選択して右クリック > Deploy > Deploy to XS Advancedを選択します。

deploy-01.png

OrganizationとSpaceを選択して、Deployをクリックします。

deploy-02.png

Deployに成功したことを確認します。

deploy-03.png

Consoleに出ているログから、次のようなフレーズを探します。

Application "XXX" started and available at "http://hostname:port"

このURLでSAP Fiori Launchpadが動いているようです。

実際にアクセスした結果がこちらです。

deploy-04.png
deploy-05.png
deploy-06.png

Step.4 Deploy (Command ver.)

xs deployコマンドを実行してデプロイする方法もご紹介します。具体的には、以下のような手順でデプロイします。

  1. *.mtarファイルをローカルPCにダウンロード
  2. *.mtarファイルをSAP HANAに転送
  3. sshでサーバに接続
  4. SAP HANAにログインして、xs deployコマンドの実行

まず、*.mtarファイルを選択して右クリック > Exportを選択してファイルをダウンロードします。

export-01.png

 

次に、SCPコマンドを実行して*.mtarファイルをSAP HANAに転送します。

$scp -i .ssh/key-file.pem Downloads/hana_flp_0.0.1.mtar ec2-user@hxehost:work

 

sshでSAP HANAのサーバに接続します。

$ssh -i .ssh/key-file.pem ec2-user@hxehost

 

ec2-user (root)でログインしているので、hxeadmに切り替えて、xs loginでログインします。
-s オプション(Spaceの指定)は必須ではありませんが、デプロイ先がターゲットになっていることをご確認ください。

$ssh -i .ssh/key-file.pem ec2-user@hxehost
ec2-user@hxehost:~> sudo su -l hxeadm
hxeadm@hxehost:/usr/sap/HXE/HDB90> xs login -u xsa_admin -p password -s development

hxeadm@hxehost:/usr/sap/HXE/HDB90> xs target

API endpoint:   https://hxehost:39030 (API version: 1)
User:           xsa_admin
Org:            HANAExpress
Space:          development

 

xs deployを実行します。

hxeadm@hxehost:/usr/sap/HXE/HDB90> xs deploy /home/ec2-user/work/hana_flp_0.0.1.mtar 


Uploading 1 files:
 /home/ec2-user/work/hana_flp_0.0.1.mtar
File upload finished

Starting process xs2-deploy...
Monitoring process 17501...
 Validating parameters...
 Processing MTA archive...
・・・
 Unregistering discontinued service URLs...
 Creating service brokers...
 Updating subscribers...
Process finished.
Use "xs dmol -i 17501" to download the logs of the process.

 

xs appsでデプロイされたアプリを確認できます。

hxeadm@hxehost:/usr/sap/HXE/HDB90> xs apps | grep hana
home-hana_flp           STARTED           1/1         64.0 MB   <unlimited>   https://hxehost:51006
home-Content-hana_flp   STOPPED           0/1         32.0 MB   <unlimited>   <none>

 

さいごに

今回は、SAP HANA版Fioriの作り方をご紹介しました。環境面のハードルが低いので、個人の勉強用として、デモサイトとして、社内のトレーニング用として、などなど、いろいろな場面で活用できると思います。ぜひ、自分の環境を用意して、チャレンジしてみてください。

 

参考情報

Creating a New Launchpad Site
Fiori Launchpad in SAP HANA 2.0 SP01

Be the first to leave a comment
You must be Logged on to comment or reply to a post.