はじめに
「現場の作業員がスマホでSAPを使いたい」という要望は年々増えています。倉庫作業、訪問営業、監査作業、工場点検――モバイルファーストで設計すべきユースケースは多数あります。
SAPのモバイル対応は1つの手段ではなく、複数の選択肢があります。レスポンシブなFioriアプリをブラウザで使う方法と、BTP SDKを使ったネイティブアプリ開発の2大方向で、目的に応じて使い分けが必要です。
モバイル対応の3つの選択肢
1. レスポンシブFiori(ブラウザベース)
通常のFioriアプリはSAPUI5のレスポンシブ設計により、スマホ・タブレットでも動作します。ユーザーはブラウザ経由でアクセスし、アプリストアからのインストール不要で即使えます。
適用:社内ユーザー向け、オンライン前提の業務、短期間での展開。
2. SAP Build Apps(ネイティブ対応)
SAP Build Apps入門で紹介したノーコードツールで、1つのアプリ定義からWeb・iOS・Androidネイティブアプリを生成できます。
適用:部門内ツール、現場作業員向けアプリ、オフライン一部対応が必要なケース。
3. SAP BTP SDK for iOS/Android(フルネイティブ)
Swift(iOS)またはKotlin(Android)でSAPデータを扱うネイティブアプリを開発するSDKです。最大の自由度と、デバイス固有機能(カメラ・GPS・センサー・プッシュ通知)のフル活用が可能です。
適用:高度なオフライン、デバイス機能の積極活用、ストア公開アプリ。
SAP BTP SDK for iOS/Androidの特徴
Fiori for Mobileデザインガイドライン
iOS/Android向けのFioriデザインパターンが用意されており、ネイティブUIでもSAP Fioriの一貫した体験を実現できます。具体的なコントロール(FUICollectionViewなど)がSDKに含まれています。
オフライン対応
OData Offline Storeという仕組みで、ネットワーク接続のない環境でも業務データを扱い、オンラインに戻ったときに同期できます。現場作業員アプリに必須の機能です。
プッシュ通知
Apple Push Notification Service / Firebase Cloud Messagingと連携し、承認依頼やタスク割当をプッシュ通知で即時に届けられます。
セキュリティ
Mobile Application Management(MAM)やBiometric Authentication(指紋・FaceID)と連携し、企業ポリシーに沿ったセキュリティを実現します。
開発言語
- iOS:Swift(Xcodeで開発)
- Android:Kotlin / Java(Android Studio)
BAS(Business Application Studio入門)にはMobile Dev Space種別もあり、プロジェクト雛形生成ができます。
モバイルアーキテクチャの全体像
flowchart LR MA["モバイルアプリ
iOS/Android"] --> MS["Mobile Services
BTP"] MS --> OD["OData/REST"] OD --> S4[("S/4HANA")] MA --> PUSH["Push通知
APNS/FCM"] MS --> PUSH MA --> OFF["Offline
Store"]
SAP Mobile Services(BTP)
BTP上のモバイル基盤サービスで、認証・Destination・プッシュ通知・オフライン同期・ログ収集などを統合的に提供します。ネイティブアプリはMobile Services経由でS/4HANAにアクセスするのが標準構成です。
選定フロー
flowchart LR
Q[モバイル対応したい] --> Q1{オフラインが必要?}
Q1 -->|不要| R["レスポンシブFiori"]
Q1 -->|一部必要| BA["SAP Build Apps"]
Q1 -->|本格的に必要| SDK["BTP SDK
for iOS/Android"]
R --> Q2[短期・低コスト]
BA --> Q3[市民開発OK]
SDK --> Q4[高コスト・高自由度]ほとんどのケースはレスポンシブFiori + BTP Build Appsで十分です。BTP SDKを選ぶのは「オフライン必須」「デバイス機能をフル活用したい」「ストア公開したい」といった特殊要件がある場合です。
アプリ配布方法
企業モバイルアプリは以下の経路で配布します:
- MDM/EMM経由(Microsoft Intune、VMware Workspace ONE等)
- Enterprise Distribution(Apple Business Manager、Android Enterprise)
- 社内App Store(SAP Mobile Application Management含む)
- 公開App Store / Google Play(消費者向けの場合のみ)
社内用途ではMDM配布が一般的で、社員の端末にプッシュ配布されます。
Fiori for iOS/Androidデザインガイドライン
ネイティブアプリ向けに専用のデザインガイドラインが公開されています。iOSならHuman Interface Guidelinesに準拠しつつSAPの一貫性を保ち、AndroidならMaterial Designに準拠します。
Fiori Design Guidelines(Fiori Design Guidelines解説参照)のモバイルセクションから各プラットフォームの詳細が参照できます。
よくある疑問
Q. Build AppsとBTP SDKはどう違いますか?
A. Build Appsはノーコードで早く作れるが自由度に制限あり、BTP SDKはフルコーディングで自由度最大の代わりに開発コストが高い。対立ではなく、要件に応じた使い分けです。
Q. オフラインデータの同期時に競合したらどうなりますか?
A. OData Offline Storeには競合解決の仕組みがあり、タイムスタンプベースまたはカスタムロジックで解消します。設計時に競合ポリシーを決めることが重要です。
Q. SAPGUI for Mobileはまだありますか?
A. 過去には存在しましたが、現在はFiori中心の戦略に統一されています。新規開発はFiori系で進めるのが正解です。
Q. 開発言語はCross-platform(React Native / Flutter)で書けますか?
A. 公式SDKはSwift/Kotlinベースです。React Native等は非公式なラッパーを使うことになり、SAP公式サポート対象外になります。
まとめ
- モバイル対応はレスポンシブFiori・Build Apps・BTP SDKの3択
- 90%のユースケースはレスポンシブFioriまたはBuild Appsで解決
- オフライン必須・ストア公開・デバイス機能フル活用ならBTP SDK
- SAP Mobile Servicesがモバイル基盤(認証・Destination・Push・Offline)
- ネイティブはiOS=Swift、Android=Kotlinで開発
- 配布はMDM経由が企業の標準
シリーズの締めくくり
これで「SAP Fiori / UI5 開発入門」シリーズ全16本が完結しました。Fioriの概念から、UI5の基礎、Fiori Elements、Launchpad、開発環境、拡張、モバイルまでを体系的にカバーしたつもりです。
プロジェクトで具体的な課題に直面したときは、シリーズ最初のSAP Fiori とは何かに戻って該当箇所を参照するのがおすすめです。SAPのUI領域は進化が速いので、公式リファレンス(SAP公式ドキュメント完全ガイド)と併せて最新情報をキャッチし続けてください。
シリーズで学んだ知識を実践に落とし込むなら、UI5アプリの構築からCAP開発、BTPデプロイまでを一気通貫で体験できるハンズオン講座がおすすめです。モバイル対応も含め、実プロジェクトの感覚が掴めます。