Bei der Entwicklung von Cloud-Anwendungen gilt es eine Vielzahl unterschiedlicher Werkzeuge zu verstehen, die sich in den vergangenen Jahren zu einem De-Facto Standard entwickelt haben. Im zweiten Teil unserer vierteiligen Webinar-Serie zeigen wir Ihnen, welche dieser Werkzeuge typischerweise zum Einsatz kommen.
Melden Sie sich gleich zu unserem nächsten Webinar an: https://attendee.gotowebinar.com/register/7160045394797243907
3. Seit 2014 unterstützen wir als NATUVION unsere Kunden mit Erfahrung und Expertise im
Umfeld der Digitalisierung
3
Gegründet: 2014 als eigentümergeführter Beratungsspezialist mit Fokus Versorgungswirtschaft,
Security und Transformation
Standorte: Walldorf, Berlin, München, Wien(AT), Philadelphia(US)
Unternehmensgröße: > 55 Mitarbeiter
Expertise der Berater: > 75 % SAP zertifiziert & Ø 12 Jahre Energiewirtschaft und SAP
SAP Gold Partner
SAP Recognized Expertise in Utilities
SAP Landscape Transformation
Langjähriger Partner der größten Energieversorger Deutschlands
Leistungen/Kompetenzen:
▪ Strategisches IT-Management
▪ IT Consulting für die Energiewirtschaft
▪ SAP Transformation & Data Services
▪ SAP Security & Data Privacy / Protection
▪ Business Intelligence / Analytics
Natuvion Gruppe
Dediziertes SAP Cloud Plattform Team seit
Anfang 2016
Know-How Aufbau und App-Entwicklung im
Bereich Datenschutz / Auskunft DS-GVO
Implementierung eigener Apps auf der SAP
Cloud Plattform (Anbieter von SaaS) im Bereich
Cut-Over, Provisionsabrechung, Analytics,
Datenschutz
Etablierung eines Ausbildungs- /
Workshopprogramm zum Know-How-Aufbau
SCP / UI5 / Fiori Entwicklung
SAP Co-Inovation Programm für zwei
Applikationen
Erfolgsfaktoren Cloud Development
Natuvion – Ihre Spezialisten in der Realisierung der Anforderungen der GDPR / DS-GVO
SAP Cloud Platform
4. Natuvion Webcasts
Überblick der Webcast-Reihe „SAP Cloud Platform"
SAP Cloud Platform4
1
Die Natuvion GmbH entwickelt zusammen mit der SAP in einem Co-Innovation Programm Apps auf der SAP Cloud
Plattform. Das SCP Team der Natuvion hat in den vergangenen 12 Monaten viele praktischen Erfahrungen gemacht
die wir in einer 4 teiligen Webcast-Reihe gerne mit unseren Kunden und Partner teilen möchten.
SAP Cloud Platform – On Boarding
Überblick über die Cloud Platform und Klärung
wichtiger Begriffe
2
SAP Cloud Platform – Developing Tools
Übersicht über die wichtigsten Werkzeuge, die bei der
Cloud-Entwicklung zum Einsatz kommen
3
SAP Cloud Platform – Java Entwicklung
Überblick und Erfahrungen bei der Entwicklung von
Java Anwendungen auf der SAP Cloud Platform
4
SAP Cloud Platform – UI Entwicklung
Überblick und Erfahrungen bei der Entwicklung von UI
Anwendungen auf der SAP Cloud Platform
Nach diesem Webcast kennen Sie:
• Wie eine Java-Webanwendung im Allgemeinen aufgebaut ist
• Wie Sie mittels geeigneter Frameworks und wiederverwendbaren Services die Entwicklung Ihrer Java-
Webanwendungen vereinfachen und beschleunigen können
• Welche Besonderheiten bei der Entwicklung von Web-Anwednungen für die SAP Cloud Platform zu
beachten sind
6. 6 13.10.2017
Der Weg zur Cloud: Geschwindigkeit und Flexibilität als Treiber
SAP Cloud Platform
Welche Anforderungen führten zur SAP Cloud Platform?
• Kurze Entwicklungszeiten um schnell und flexibel
auf neue Anforderungen am Markt reagieren zu
können
• Wahrnehmung der IT:
„IT ist viel zu starr, schränkt mich in meiner
Flexibilität ein“
• Die IT Infrastruktur muss auf einer soliden Basis
aufgebaut sein, um Zuverlässigkeit und Sicherheit
zu gewährleisten
• Wahrnehmung der Anforderungen aus der
Geschäftswelt:
„Unrealistische Anforderungen, nicht in dem
Tempo machbar“
Anforderungen Business Anforderungen IT
7. Zusammenspiel der einzelnen Bausteine zur Erreichung des Ziels ….
Dev Ops
REST
JSON
Microservices
Container
ByoPl* *Bring your own
programming language
SAP Cloud Plattform
… auf stabilen und
sicheren Systemen
… und Wartung,
Überwachung
Agiler
Entwicklungs-
prozess
„Schlanke“ Artefakte,
Standards
Kurze Entwicklungs-
und Rüstzeiten
Hohe Automatisierung
… bei Entwicklung …
Cloud: gehostete
Systeme und DL bei
Bedarf
7 13.10.2017 SAP Cloud Platform
Das Arbeitsumfeld ändert sich…
„Bridging the gap“
10. Im Allgemeinen sieht der Arbeitsablauf bei der Entwicklung von Java-Webanwendungen wie folgt aus
10 13.10.2017 SAP Cloud Platform
Java Entwicklung, die Wahl des Frameworks
Standard JEE
Lokal
Sourcen
auschecken
Cloud/Server
Versionsverwaltung
Sourcen
einchecken
Branchen,
Entwickeln,
Bauen,
Deployen,
Testen,
Überwachen
PT
Web Archive
IDE
Ext. Libs.
Deployen
…
11. Mit Spring Boot vereinfacht sich der Entwicklungsaufwand
11 13.10.2017 SAP Cloud Platform
Java Entwicklung, die Wahl des Frameworks
Spring Boot
Sourcen
auschecken
Deployen
Cloud/Server
Versionsverwaltung
Sourcen
einchecken
Branchen,
Entwickeln,
Bauen,
Deployen,
Testen,
Überwachen
PT
IDE
Ext. Libs.
Lokal
12. Beispiel: Anlegen eines Spring Starter Projekts
SpringBoot
… ein Java basiertes Framework für die Entwicklung von Microservices
12 13.10.2017 SAP Cloud Platform
Vorauswahl der Bibliotheken,
Spring Boot sorgt für Kompatibilität
13. Resultat: Spring Boot Project
SpringBoot
… ein Java basiertes Framework für die Entwicklung von Microservices
13 13.10.2017 SAP Cloud Platform
1 Das Root-Package enthält die Startklasse der Spring Boot Anwendung
Im Package Config sind alle notwendigen Konfigurationsklassen enthalten,
das Verzeichnis src/main/resources enthält u.a. zusätzliche
Konfigurationsdateien
Die Controller stellen die Verbindung zur „Aussenwelt“ dar. Hier werden
z.B. die RESTController mit den entspr. REST-Endpunkten definiert. Die
eigentliche Businesslogik sollte aber nicht in diesen Klassen, sondern in den
Service Klassen definiert werden
Die Serviceklassen werden durch die Controller aufgerufen. Sie beinhalten
die eigentliche Businesslogik. Auf diese Weise können bspw. untersch.
Controller (zB. für Oberflächen oder RESt-Controller) zur Verfügng gestellt
werden, die auf die selben Service-Klassen zugreifen
Im Paket „util“ werden u.a. Hilfsklassen definiert
1
2
2
2
3
3
4
4
5
5
15. Für die Entwicklung von Microservices werden bestimmte Features benötigt
▪ Service Discovery
▪ Load Balancing
▪ Metriken
▪ Circuit Braker
▪ …
Die o.g. Features werden über Spring Boot/Spring Cloud
unterstützt
seitens JEE gibt es hierzu wenig Unterstützung
SpringBoot
… ein Java basiertes Framework für die Entwicklung von Microservices
15 13.10.2017 SAP Cloud Platform
17. 17 13.10.2017 SAP Cloud Platform
SAP Cloud Platform
NEO CF
„NEO“- und „Cloud Foundry“-Stack
18. 18 13.10.2017
SAP Cloud Platform
Die SAP Cloud Cloud Platform stellt viele Services bereit, die man in seiner
eigenen Applikation wiederverwenden kann
Dazu stellt die SAP entsprechende Eclipse Plugins und APIs zur Verfügung
(die größtenteils im Natuvion Virtual Image im STS installiert sind)
Services der SAP Cloud Platform („NEO“- und „Cloud Foundry“-Stack)
SAP Cloud Platform
20. Dev Ops
Cloud Computing wird sehr stark von der Open Source Community vorangetrieben
Zur Entwicklung von (Java-)Apps werden eine Vielzahl unterschiedlicher Entwicklungs- und
Administrationswerkzeuge benötigt
Außerdem ändert sich die Art, wie
Applikationen entwickelt und gewartet
werden („DevOps“)
20 13.10.2017 SAP Cloud Platform
Cloud Computing, Open Source und die Werkzeuge
22. 22 13.10.2017
Java Applikationen auf der SAP Cloud Plattform*
* SAP Cloud Platform, „NEO“-Stack
Spring Boot ermöglicht es, eigenständige
Komponenten im MicroService-
Architekturstil zu entwickeln. Dabei können
die Komponenten aus der IDE heraus direkt
in einem internen Web Container
ausgeführt werden und über einen Browser
aufgerufen werden
Empfehlung 1: Entwickeln und lokales Testen
SAP Cloud Platform
23. 23 13.10.2017
Sobald die lokalen Tests erfolgreich waren
können Sie eine .war-Datei bauen und über
das SAP Cloud Plattform Cockpit auf den
Cloud Server deployen
Achtung: Die .war Datei muss für die SAP
Cloud Plattform bestimmte Erfordernisse
erfüllen, diese sind beim Bauen zu
berücksichtigen
Nach dem Deployen auf der SAP Cloud
Platform müssen Sie die Anwendung noch
aktivieren
Danach können Sie die Anwendung mit dem
Browser oder Postman aufrufen und testen
Bauen, deployen, aktivieren und testen*
Java Applikationen auf der SAP Cloud Plattform*
* SAP Cloud Platform, „NEO“-Stack
SAP Cloud Platform
24. 24 13.10.2017
Java Applikationen auf der SAP Cloud Plattform*
Was es zu beachten gibt*
Die SAP Cloud Platform unterstützt nur bestimmt Java Profile
▪ SDK for Java Web - supports some of the standard Java EE 6 APIs (Servlet, JSP, EL, Websocket)
▪ SDK for Java Web Tomcat 7 - supports some of the standard Java EE 6 APIs (Servlet, JSP, EL, Websocket)
▪ SDK for Java EE 6 Web Profile - certified to support Java EE 6 Web Profile APIs
▪ SDK for Java Web Tomcat 8 - supports some of the standard Java EE 7 APIs (Servlet, JSP, EL, Websocket)
* SAP Cloud Platform, „NEO“-Stack
Java Profile
SAP Cloud Platform
25. SAP: Compute Unit
A Compute Unit is a virtualized hardware on which a SAP Cloud Platform application
runs.
Problem: Skalierung
Es gilt: „ein .war-File pro CU“
D.h.: Ein echter Microservice-Ansatz mit vielen Microservices/.war files
ist dadurch zu teuer (dies ermöglicht bspw Cloud Foundry)
Workaround: Komponenten zu „Fat war“ zusammenfassen
25 13.10.2017
Java Applikationen auf der SAP Cloud Plattform*
Was es zu beachten gibt*
* SAP Cloud Platform, „NEO“-Stack
Compute Units, „Fat war“ Files
Web Archive
SAP Cloud Platform
26. Java Applikationen auf der SAP Cloud Plattform*
Was es zu beachten gibt*
26 13.10.2017
Definieren Sie Parent- und Child-POM Files
▪ Führen Sie ein Parent Projekt ein, das eine Parent POM Datei bereitstellt.
▪ Diese Parent POM können Sie bspw. als unternehmensweiten Standard für die Nutzung von Fremdbibliotheken bzw. zum
Management des Portfolios verwenden.
▪ Tragen Sie in den POM‘s der abhängigen Projekten entsprechende Parent-Einträge ein
Maven POM Files
Parent mit Children
(Modulen)
Child
(Modul)
SAP Cloud Platform
27. Java Applikationen auf der SAP Cloud Plattform*
Was es zu beachten gibt*
27 13.10.2017
Bitte achten Sie darauf, dass in
Ihren .war Files keine
Abhängigkeiten auf slf4j-api (Logging)
bestehen
Maven: Verwenden Sie Maven Profile
▪ Verwenden Sie sog. Maven-Profile.
Darüber können Sie bspw. definieren,
dass beim Bauen eines war-Files für die
SAP Cloud Plattform entsprechende
„exclusions“ für das Logging
berücksichtigt werden
▪ Beim Bauen mit Maven müssen Sie
dann das entsprechende Profil angeben
Empfehlung: Maven POM Files: Logging und Profile
Profil
Exclusion
SAP Cloud Platform
28. 28 13.10.2017 Technischer Workshop „Software Entwicklung auf der SAP Cloud Plattform“
Java Applikationen auf der SAP Cloud Plattform*
Was es zu beachten gibt*
Java Persistence API (JPA)
JPA ist eine Schnittstelle für Java-Anwendungen, die die Zuordnung und die
Übertragung von Objekten zu Datenbankeinträgen vereinfacht („objekt-
relationales Mapping“)
EclipseLink
EclipseLink ist die Referenzimplementierung für JPA 2.0
Die SAP Cloud Platform stellt darüber hinaus den Persistence Service zur
Verfügung, der JPA und JDBC unterstützt
Unsere Empfehlung: Für einen Prototypen reichen zunächst die Java-In-Memory
Datenbanken H2 oder Derby aus
Auf der SAP Cloud Plattform („NEO“-Stack) stehen dann SAP ASE (relationale DB) oder
SAP HANA zur Verfügung
* SAP Cloud Platform, „NEO“-Stack
Persistenz
JPA
Eigene Java Klassen
JDBC
29. 29 13.10.2017
Java Applikationen auf der SAP Cloud Plattform
Spring Boots stellt den Spring-Boot-Starter-Data-JPA zVfg um den
Zugriff auf die Datenbank mittels Spring Data JPA noch weiter zu vereinfachen
Persistenz mit Spring
Eigene Java Klassen
Spring Data JPA
SAP Cloud Platform
30. 30 13.10.2017
Java Applikationen auf der SAP Cloud Plattform
SAP Cloud Platform Connectivity*
SAP Cloud Platform Connectivity bietet einen sicheren, zuverlässigen und einfach zu bedienenden Zugriff
auf Business-Systeme, die entweder on-premise oder in der Cloud ausgeführt werden.
Konfiguration über
Cockpit
Konfiguration über
Admin. Console
* SAP Cloud Platform, „NEO“-Stack
SAP Cloud Platform
31. • Im Cockpit werden
die Destinations
eingetragen ...
• … und die Cloud
Connectoren
• Im Cloud Connector werden
die SAP Cloud Plattform
Systeme eingetragen ...
• … sowie welche Services
zVfg stehen
31 13.10.2017
Java Applikationen auf der SAP Cloud Plattform
SAP Cloud Platform Connectivity: Konfiguration
SAP Cloud Platform Cockpit SAP Cloud Connector
SAP Cloud Platform
32. 32 13.10.2017
Java Applikationen auf der SAP Cloud Plattform
SAP Cloud Platform Connectivity: Zugriff auf RFCs über SAP Java Connector (JCo)
SAP Cloud Platform
35. Natuvion Webcasts
Überblick der Webcast-Reihe „SAP Cloud Platform"
SAP Cloud Platform35
1
SAP Cloud Platform – On Boarding
Überblick über die Cloud Platform und Klärung
wichtiger Begriffe
2
SAP Cloud Platform – Developing Tools
Übersicht über die wichtigsten Werkzeuge, die bei der
Cloud-Entwicklung zum Einsatz kommen
3
SAP Cloud Platform – Java Entwicklung
Überblick und Erfahrungen bei der Entwicklung von
Java Anwendungen auf der SAP Cloud Platform
4
SAP Cloud Platform – UI Entwicklung
Überblick und Erfahrungen bei der Entwicklung von UI
Anwendungen auf der SAP Cloud Platform
• Wie eine Java-Webanwendung im Allgemeinen aufgebaut ist
• Wie Sie mittels geeigneter Frameworks und wiederverwendbaren Servcies die Entwicklung Ihrer Java-
Webanwendungen vereinfachen und beschleunigen können
• Welche Besonderheiten bei der Entwicklung von Web-Anwednungen für die SAP Cloud Platform zu
beachten sind
In Teil 3 unserer Webcast Serie haben Sie kennengelernt
36. Services und Leistungen der Natuvion im Rahmen SAP Cloud Entwicklung und Technologie
SAP Cloud Platform36
1 WebCasts
Workshops
Virtualisierte Entwicklungsumgebung
…
Wir unterstützen beim Einstieg in die SAP Cloud Platform
Schulung und Training
(Technologie und Entwicklung)
App-Development
(SCP, UI & Backendintegration)
SCP Dev. Templates
(Virtuelle Entwicklungsumgebung)
37. SAP Cloud Platform37
SAP Cloud Platform
https://cloudplatform.sap.com/index.html
Open SAP
https://open.sap.com/courses
Help.sap.com
https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-
US/a8d6db47b1714a8d87f043a3546962c9.html
Weiterführende Links zum Thema