E-Book, Deutsch, 376 Seiten
Reihe: SAP Press
Haider / Koch / Krancz SAP Mobile Services
1. Auflage 2021
ISBN: 978-3-8362-8289-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Das umfassende Handbuch
E-Book, Deutsch, 376 Seiten
Reihe: SAP Press
ISBN: 978-3-8362-8289-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Mobile Apps flexibel entwickeln! Dieses Buch stellt Ihnen den kompletten Funktionsumfang der SAP Mobile Services vor (vormals SAP Cloud Platform Mobile Services). Ob Sie native Apps für iOS oder Android programmieren oder Ihren Mitarbeitenden Mobile Cards für den schnellen Zugriff auf Informationen bereitstellen möchten: Für alle App-Typen und SDKs finden Sie ausführliche Beispiele. Die Autoren zeigen Ihnen außerdem, wie Sie Ihre Apps absichern und verwalten.
Aus dem Inhalt:
Native Apps für iOS und Android
Hybride Apps
SAP-Fiori-Apps
SAP Mobile Cards
Push-Benachrichtigungen
Offline-Datenhaltung
App-Updates
Cloud Connector
Neo- und Cloud-Foundry-Umgebung
Identity Propagation und Authentifizierung
Git
Autoren/Hrsg.
Weitere Infos & Material
Einleitung ... 13
1. Historie der SAP Mobile Services ... 19
1.1 ... Erste Technologien für mobile Apps ... 20
1.2 ... Sybase Unwired Platform ... 22
1.3 ... Syclo Agentry ... 26
1.4 ... SAP Mobile Platform ... 28
1.5 ... SAP Mobile Services ... 31
2. App-Typen ... 39
2.1 ... Native Apps ... 40
2.2 ... Hybride Apps ... 48
2.3 ... SAP Fiori Client ... 51
2.4 ... Mobile Development Kit ... 55
2.5 ... SAP Mobile Cards ... 57
3. Einführung in die SAP Mobile Services ... 59
3.1 ... Funktionsumfang der SAP Mobile Services ... 59
3.2 ... Vergleich zwischen Neo- und Cloud-Foundry-Umgebung ... 107
3.3 ... Migration von der Neo- in die Cloud-Foundry-Umgebung ... 109
4. Entwicklung einer nativen App mit dem SAP BTP SDK for iOS ... 111
4.1 ... Einführung in die SAP Fiori Design Guidelines ... 112
4.2 ... Einführung in SAP Fiori Mentor ... 116
4.3 ... Datenmodell für die im Buch verwendeten Beispiele ... 120
4.4 ... Projekt mit dem SAP BTP SDK Assistant for iOS erstellen ... 123
5. Entwicklung einer nativen App mit dem SAP BTP SDK for Android ... 133
5.1 ... SAP Fiori for Android ... 134
5.2 ... SAP Fiori Mentor für Android ... 136
5.3 ... Projekt mit dem SAP BTP SDK Wizard for Android erstellen ... 140
6. Entwicklung einer hybriden App mit dem Mobile Development Kit ... 157
6.1 ... Entwicklungsumgebung einrichten ... 157
6.2 ... OData-basierte App mit dem Mobile Development Kit erstellen ... 163
7. Entwicklung einer hybriden App mit dem Hybrid Application Toolkit ... 191
7.1 ... Entwicklungsumgebung einrichten ... 192
7.2 ... Eine hybride App in der SAP Web IDE entwickeln ... 196
8. Entwicklung einer Mobile Card ... 215
8.1 ... SAP Mobile Cards installieren und vorbereiten ... 216
8.2 ... Eine Mobile Card erstellen ... 218
9. Integration mit On-Premise- und Cloud-Systemen ... 237
9.1 ... Einführung in den Cloud Connector ... 237
9.2 ... Zugriff auf On-Premise-Systeme ... 255
9.3 ... Zugriff auf Cloud-Systeme ... 270
10. Sicherheit der SAP Mobile Services ... 273
10.1 ... Einführung in die Sicherheitsarchitektur der SAP Business Technology Platform ... 273
10.2 ... Standardrollen für die SAP Mobile Services ... 276
10.3 ... Identity Propagation ... 278
10.4 ... Anwenderauthentifizierung ... 287
10.5 ... SAP Authenticator ... 297
10.6 ... Datenschutz ... 299
11. Softwarelogistik ... 303
11.1 ... Softwarelogistik für mobile Lösungen ... 303
11.2 ... Versionsverwaltung mobiler Apps mit Git ... 305
11.3 ... Continuous Integration und Delivery ... 313
12. Integration von Drittanbieterfunktionalität ... 337
12.1 ... Plug-ins in mobile SAP-Fiori-Apps integrieren ... 339
12.2 ... Plug-ins in iOS-Apps integrieren ... 347
12.3 ... Plug-ins in Android-Apps integrieren ... 350
13. Mobile SAP-Standard-Apps ... 353
13.1 ... SAP Analytics Cloud ... 353
13.2 ... SAP Work Manager ... 356
13.3 ... SAP SuccessFactors Mobile ... 357
13.4 ... Mobile App für SAP Concur ... 359
13.5 ... SAP Sales Cloud ... 360
13.6 ... SAP Jam ... 362
Das Autorenteam ... 365
Index ... 367
1.2 Sybase Unwired Platform
Die Sybase Unwired Platform (SUP) war eine integrierte Plattformlösung zur Erweiterung von Unternehmens-Apps auf mobile Endgeräte. Sie fungierte als Datendrehscheibe, die Unternehmensinformationssysteme und Datenquellen mit den mobilen Endgeräten verband. Sie stellte Funktionen für die Entwicklung, Bereitstellung, Absicherung und laufende Verwaltung mobiler Apps bereit. Die Platform bestand auf folgenden Komponenten: Sybase Mobile Software Development Kit (SDK)
ein Plattform-Entwicklungstoolset zur Erstellung mobiler Apps, die allen Mobilitätsanforderungen entsprachen Sybase Unwired Platform Runtime (SUP Runtime)
Die Bereitstellungs- und Verwaltungsarchitektur sowie Dienste, die zur Ausführung und Verwaltung mobiler Apps verwendet wurden. Die Runtime oder auch der Unwired Server war ein Dienst, der serverseitige Laufzeitdienste wie Sicherheit, Caching und Synchronisation für mobile Apps bereitstellte und die Integration mit dem Unternehmensinformationssystem ermöglichte. In den auf der SUP basierenden Architekturen wurden die folgenden Funktionalitäten von der Plattform bereitgestellt: Verbinden
Während der Entwicklung konnte eine Verbindung zu den heterogenen Datenquellen und Backend-Systemen des Unternehmens hergestellt werden. Während der Bereitstellung sorgte der Unwired Server für die Kommunikation mit diesen Datenquellen. Erstellen
Die im Sybase Mobile SDK enthaltenen Entwicklungstools konnten verwendet werden, um mobile Apps, die den gegebenen Mobilitätsanforderungen entsprachen, zu erstellen und zu testen. Kontrolle
Dieser Bereich umfasste die Bereitstellung und Verwaltung der SUP Runtime, einschließlich der Laufzeitumgebung, der End-to-End-Sicherheit und der Geräte-Apps. Konsumieren
Mobile Apps wurden auf den Geräten installiert, sodass die Gerätenutzer*innen online und offline damit arbeiten konnten. Der Zugriff auf die Unternehmensdaten erfolgte so von einer Vielzahl an mobilen Geräten aus. Das Sybase Mobile SDK unterstützte den Entwicklungslebenszyklus folgender App-Typen: Native Offline-Apps mit dem Object API SDK
Diese Art von Apps war missionskritisch und komplex. Die Nutzer*innen arbeiteten offline an den Daten und synchronisierten die Aktualisierungen mit dem Server, wenn eine Netzwerkverbindung bestand. Die Object API stellte Klassen für die auf der SUP modellierten Mobile Business Objects (MBO) bereit. Online-Apps mit dem HTML5/JavaScript Hybrid SDK und mit Push-Benachrichtigungen
Diese Apps dienten einfachen Abfragen und Workflows, die einem Anfrage-Antwort- oder einem Look-up-Muster folgten, d. h. dem Nachschlagen bestimmter Informationen. Online-Apps mit dem OData SDK und mit Push-Benachrichtigungen auf Basis des OData-Protokolls
Mit diesen Apps wurde auf Daten zugegriffen, die in SAP NetWeaver Gateway (später in SAP Gateway umbenannt) als OData-Services modelliert waren. Dabei wurden ebenfalls Anfrage-Antwort- oder Look-up-Muster befolgt. SAP Gateway SAP Gateway ist ein System auf dem SAP NetWeaver Application Server (AS) for ABAP, das für die Entwicklung und Bereitstellung von OData-APIs genutzt wird. SAP Gateway kann entweder direkt für die Implementierung der OData-Services verwendet werden oder als Proxy zu OData-Service-Implementierungen in anderen Systemen fungieren. Für umfassende Informationen zu diesem Werkzeug empfehlen wir das Buch »SAP Gateway und OData« von Carsten Bönnen, Volker Drees, André Fischer, Ludwig Heinz und Karsten Strothmann (3. Auflage, SAP PRESS 2019). Das Endergebnis des Entwicklungsprozesses war eine mobile App, die auf mobilen Endgeräten veröffentlich werden konnte. Abbildung 1.1 zeigt die Geräteanwendungsstruktur und die Dienste, die für jeden der beschriebenen Entwicklungsansätze mit dem Sybase Mobile SDK bereitgestellt wurden. Abbildung 1.1 Entwicklungsansätze des Sybase Mobile SDKs Die gestrichelten Umrisse in Abbildung 1.1 stellen die vom Sybase Mobile SDK für jeden App-Typ bereitgestellten Dienste dar. Die Entwicklung nativen Codes erfolgte in einem Entwicklungstool eines Drittanbieters, wie z. B. Xcode von Apple, Android Studio, Microsoft Visual Studio, Eclipse usw., also außerhalb des Sybase Mobile SDKs. Dabei wurden Application Programming Interfaces (APIs) der SUP verwendet, die die Kernfunktionen und die spezialisierten App-Funktionen unterstützten. So konnte vorhandenes Fachwissen zur Entwicklung auf den internen Geräteplattformen genutzt werden. Eine Reihe gemeinsamer Dienste boten eine konsistente Grundlage, auf der mobile Apps entwickelt wurden. Diese gemeinsamen Gerätedienste oder Kernfunktionen gestalteten die Entwicklung mehrerer Apps einfacher und effizienter: Sicherheitsfunktionen waren direkt in das SDK eingebettet, z. B. um die sichere Speicherung von Zertifikaten, die Verwendung der Artefakte bei der Authentifizierung, Single Sign-on und andere Funktionen im Zusammenhang mit der Verschlüsselung der Datenbank zu unterstützen. Es wurden APIs zur Unterstützung des Zertifikatspeichers, des Anmeldezertifikats und des Datentresors bereitgestellt. Jeder App-Typ verwendete den gleichen Satz an Sicherheitsfunktionen. Supportfähigkeit und Konfigurierbarkeit ermöglichten es Entwickler*innen, Ausnahmeberichte innerhalb der mobilen App zu aktivieren und zu konfigurieren, sodass Gerätenutzer*innen oder Entwickler*innen Probleme identifizieren und beheben konnten. Die lokale Persistenz und die Cache-Verwaltung definierten, wie die App Daten speicherte und empfing bzw. abrief und mit der Middleware interagierte. Konnektivität und Benachrichtigungen erleichterten Online- und Offlineverbindungen sowie Push-Benachrichtigungen an die Gerätenutzer*innen. Die spezialisierten App-Funktionen waren das Unterscheidungsmerkmal zwischen den verschiedenen unterstützten Entwicklungsansätzen. Auf Grundlage der App-Dienste und eigener Geschäftsanforderungen ließen sich so Apps unterschiedlicher Art entwickeln. Die Synchronisierung setzt einen Zwischenspeicher für Daten voraus. Durch die Synchronisierung werden Datenänderungen zwischen Server, SUP-Cache und dem Gerätespeicher übertragen. Das Ziel ist es, sicherzustellen, dass die Daten standortunabhängig und konsistent repliziert werden. Die Push-Funktion nutzt einen proprietären Nachrichtentransport, um Daten zwischen Geräten und Server auszutauschen. Die Datenänderung wird dort initiiert (oder gepusht), wo die Datenänderung stattfindet. Ihre Beliebtheit bei Entwicklerteams verdankte die SUP der Möglichkeit der Entwicklung und Datenmodellierung auf Basis von MBOs. Hierbei wurde ein mobiles Datenmodell definiert, das sowohl von Object-API-Apps als auch von HTML5-/JavaScript-Hybrid-Apps verwendet werden konnte. Die Entwickler*innen erstellten das Datenmodell mit einem grafischen Tool, dem sogenannten Unwired WorkSpace. Dieses Tool basierte auf der populären Entwicklungsumgebung (Integration Development Environment, kurz IDE) Eclipse und wurde mit dem Sybase Mobile SDK bereitgestellt. Die darin enthaltenen Tools abstrahierten die Verbindungen zu verschiedensten Unternehmensinformationssystemen und boten eine einheitliche Ansicht von Transaktionsobjekten. MBOs waren wiederverwendbar, sodass sie auf mehreren Typen mobiler Geräte genutzt werden konnten. Sie bildeten also eine Abstraktionsebene bei der Interaktion des Unwired Servers mit den Quellsystemen einer heterogenen Systemlandschaft. Die Object API konnte sowohl in iOS als auch in Android verwendet werden. Sie kapselte die gesamte Kommunikation zwischen dem mobilen Endgerät und dem Unwired Server. Die Entwickler*innen mussten sich daher bei der App-Entwicklung lediglich um die Erstellung der Benutzeroberflächen und die Programmierung der Geschäftslogik kümmern. Viele Funktionen der SUP sind in die SAP Mobile Platform und damit auch in die SAP Mobile Services...