Einführung in die SAP Cloud Platform
Webcast Nr. 3 – Java Entwicklung mit der SAP Cloud Platform („NEO“ Stack)
Natuvion GmbH
AGENDA
Natuvion
Einleitung
Java Entwicklung: Die Wahl eines Frameworks
Java Applikationen für die SAP Cloud Platform
Demo
Zusammenfassung, Ausblick
Kontakt
2
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
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
AGENDA
Natuvion
Einleitung
Java Entwicklung: Die Wahl eines Frameworks
Java Applikationen für die SAP Cloud Platform
Demo
Zusammenfassung, Ausblick
Kontakt
5
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
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“
AGENDA
Natuvion
Einleitung
Java Entwicklung: Vorbereitung
Java Applikationen für die SAP Cloud Platform
Demo
Zusammenfassung, Ausblick
Kontakt
8
Auswahl des Java Frameworks
9
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
…
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
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
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
Beispiel: Controller-Klasse
SpringBoot
… ein Java basiertes Framework für die Entwicklung von Microservices
14 13.10.2017 SAP Cloud Platform
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
Zielplattform
16
17 13.10.2017 SAP Cloud Platform
SAP Cloud Platform
NEO CF
„NEO“- und „Cloud Foundry“-Stack
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
Tools und Prozess
19
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
AGENDA
Natuvion
Einleitung
Java Entwicklung: Die Wahl eines Frameworks
Java Applikationen für die SAP Cloud Platform
Demo
Zusammenfassung, Ausblick
Kontakt
21
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 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 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
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
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
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 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 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 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
• 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 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
AGENDA
Natuvion
Einleitung
Java Entwicklung: Die Wahl eines Frameworks
Java Applikationen für die SAP Cloud Platform
Demo
Zusammenfassung, Ausblick
Kontakt
33
AGENDA
Natuvion
Einleitung
Java Entwicklung: Die Wahl eines Frameworks
Java Applikationen für die SAP Cloud Platform
Demo
Zusammenfassung, Ausblick
Kontakt
34
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
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)
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
AGENDA
Natuvion
Einleitung
Java Entwicklung: Die Wahl eines Frameworks
Java Applikationen für die SAP Cloud Platform
Demo
Zusammenfassung, Ausblick
Kontakt
38
Natuvion GmbH
Altrottstraße 31 | 69190 Walldorf
Fon +49 6227 73-1400
Fax +49 6227 73-1410
www.natuvion.com
Wir freuen uns über Ihre Fragen und Anmerkungen
Patric Dahse
Geschäftsführer
Fon: +49 151 171 357 02
Mail: patric.dahse@natuvion.com
33 SAP Cloud Platform
Roland Münster
Senior Architect
Natuvion GmbH
Altrottstr. 31
69190 Walldorf
T +49 (0) 6227.73 -1400
F +49 (0) 6227.73 -1410
roland.muenster@natuvion.com
Florian Konwischer
Consultant
Natuvion GmbH
Altrottstr. 31
69190 Walldorf
T +49 (0) 6227.73 -1400
F +49 (0) 6227.73 -1410
Florian.konwischer@natuvion.com

Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform

  • 1.
    Einführung in dieSAP Cloud Platform Webcast Nr. 3 – Java Entwicklung mit der SAP Cloud Platform („NEO“ Stack) Natuvion GmbH
  • 2.
    AGENDA Natuvion Einleitung Java Entwicklung: DieWahl eines Frameworks Java Applikationen für die SAP Cloud Platform Demo Zusammenfassung, Ausblick Kontakt 2
  • 3.
    Seit 2014 unterstützenwir 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 derWebcast-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
  • 5.
    AGENDA Natuvion Einleitung Java Entwicklung: DieWahl eines Frameworks Java Applikationen für die SAP Cloud Platform Demo Zusammenfassung, Ausblick Kontakt 5
  • 6.
    6 13.10.2017 Der Wegzur 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 einzelnenBausteine 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“
  • 8.
    AGENDA Natuvion Einleitung Java Entwicklung: Vorbereitung JavaApplikationen für die SAP Cloud Platform Demo Zusammenfassung, Ausblick Kontakt 8
  • 9.
    Auswahl des JavaFrameworks 9
  • 10.
    Im Allgemeinen siehtder 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 Bootvereinfacht 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 einesSpring 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 BootProject 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
  • 14.
    Beispiel: Controller-Klasse SpringBoot … einJava basiertes Framework für die Entwicklung von Microservices 14 13.10.2017 SAP Cloud Platform
  • 15.
    Für die Entwicklungvon 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
  • 16.
  • 17.
    17 13.10.2017 SAPCloud Platform SAP Cloud Platform NEO CF „NEO“- und „Cloud Foundry“-Stack
  • 18.
    18 13.10.2017 SAP CloudPlatform 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
  • 19.
  • 20.
    Dev Ops Cloud Computingwird 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
  • 21.
    AGENDA Natuvion Einleitung Java Entwicklung: DieWahl eines Frameworks Java Applikationen für die SAP Cloud Platform Demo Zusammenfassung, Ausblick Kontakt 21
  • 22.
    22 13.10.2017 Java Applikationenauf 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 dielokalen 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 Applikationenauf 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 ACompute 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 aufder 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 aufder 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 TechnischerWorkshop „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 Applikationenauf 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 Applikationenauf 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 Cockpitwerden 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 Applikationenauf der SAP Cloud Plattform SAP Cloud Platform Connectivity: Zugriff auf RFCs über SAP Java Connector (JCo) SAP Cloud Platform
  • 33.
    AGENDA Natuvion Einleitung Java Entwicklung: DieWahl eines Frameworks Java Applikationen für die SAP Cloud Platform Demo Zusammenfassung, Ausblick Kontakt 33
  • 34.
    AGENDA Natuvion Einleitung Java Entwicklung: DieWahl eines Frameworks Java Applikationen für die SAP Cloud Platform Demo Zusammenfassung, Ausblick Kontakt 34
  • 35.
    Natuvion Webcasts Überblick derWebcast-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 Leistungender 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 SAPCloud 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
  • 38.
    AGENDA Natuvion Einleitung Java Entwicklung: DieWahl eines Frameworks Java Applikationen für die SAP Cloud Platform Demo Zusammenfassung, Ausblick Kontakt 38
  • 39.
    Natuvion GmbH Altrottstraße 31| 69190 Walldorf Fon +49 6227 73-1400 Fax +49 6227 73-1410 www.natuvion.com Wir freuen uns über Ihre Fragen und Anmerkungen Patric Dahse Geschäftsführer Fon: +49 151 171 357 02 Mail: patric.dahse@natuvion.com 33 SAP Cloud Platform Roland Münster Senior Architect Natuvion GmbH Altrottstr. 31 69190 Walldorf T +49 (0) 6227.73 -1400 F +49 (0) 6227.73 -1410 roland.muenster@natuvion.com Florian Konwischer Consultant Natuvion GmbH Altrottstr. 31 69190 Walldorf T +49 (0) 6227.73 -1400 F +49 (0) 6227.73 -1410 Florian.konwischer@natuvion.com