44
Entwickeln mit HANA 2 – Der Tiger im Tank?

Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Embed Size (px)

Citation preview

Page 1: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Entwickeln mit HANA 2 –

Der Tiger im Tank?

Page 2: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Der Tiger im Tank? – Überblick

Paul Bläsi - HANA 2 - Tiger im Tank?2 |

1. Die HANA undmeine

Perspektivedarauf

3. Entwicklungs-workflow undWerkzeuge im

Vergleich

4. HANA 2: ExpressEdition

6. Fazit:Wann sollte man

es tun?

2. HANA 1 im Vergleich zu

„SQL/REST/SPA“

5. HANA 2:XS Advanced

Page 3: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Der Tiger im Tank? – Überblick

Paul Bläsi - HANA 2 - Tiger im Tank?3 |

1. Die HANA undmeine

Perspektivedarauf

3. Entwicklungs-workflow undWerkzeuge im

Vergleich

5. HANA 2:XS Advanced

6. Fazit:Wann sollte man

es tun?

2. HANA 1 im Vergleich zu

„SQL/REST/SPA“

4. HANA 2: ExpressEdition

Page 4: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Über was reden wir? – Der HANA-Stack

Paul Bläsi - HANA 2 - Tiger im Tank?4 |

SAP HANA DB

Appserver – XS Application Services

HTML5-Browserclient SAP UI5

Page 5: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Meine Perspektive auf die HANA

l Paul Bläsi: Software Architect– Backend-Entwicklung– Single Page Webanwendungen– Interesse an Verbesserung der Entwicklerproduktivität

l eXXcellent solutions gmbh, Ulm– Realisierung von Kundenlösungen „nach Maß“– Ein technischer Schwerpunkt: moderne

Webentwicklung– Erfahrungen aus HANA-Projekten

Wie geht individuelle Webentwicklung auf dem HANA-Stack?

Paul Bläsi - HANA 2 - Tiger im Tank?5 |

Page 6: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Der Tiger im Tank? – Überblick

Paul Bläsi - HANA 2 - Tiger im Tank?6 |

1. Die HANA undmeine

Perspektivedarauf

3. Entwicklungs-workflow undWerkzeuge im

Vergleich

6. Fazit:Wann sollte man

es tun?

2. HANA 1 im Vergleich zu

„SQL/REST/SPA“

4. HANA 2: ExpressEdition

5. HANA 2:XS Advanced

Page 7: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

HANA 1-Stack: Datenbank/ Appserver/ Client-libs

l Client-Technologie– SAP UI5 als SPA-Framework– hoher Abstraktionsgrad, viel Widgets mit Semantik

l Appserver– Enge Verzahnung mit Datenbank– unterstützt deklarativ OData als REST-Schnittstelle– Ablaufumgebungen Java, Javascript (xsjs)

l Datenbank– In-Memory, SQL, ACID– Erweiterungen (analytisch, prodzedural)– Column- und Rowstore Engine

Paul Bläsi - HANA 2 - Tiger im Tank?7 |

Page 8: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Zum Vergleich: SQL/ REST/ SPA-Framework

l UI– HTML5 Browserclient– SPA, MVC-Framework

l Appserver– Java, Javascript, …– REST– Business-Services– Domain Model– ORM

l Datenbank: – SQL– NoSQL

Paul Bläsi - HANA 2 - Tiger im Tank?8 |

SQL/NoSQL

ORM

DomainModel

Services

Browser-client

SPA-Framework

REST

Page 9: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Relevante Unterschiede: HANA 1 vs. B&B-Stack (1/2)

l HANA-Appserver– Eng mit DB integriert– Unterstützt „möglichst viel in der DB ausführen“– Bevorzugt Services, die Daten 1:1 weiterreichen– Business Logik etwas „heimatlos“, kein Domain Model

Paul Bläsi - HANA 2 - Tiger im Tank?9 |

Page 10: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Relevante Unterschiede: HANA 1 vs. B&B-Stack (2/2)

l Sehr gute Unterstützung eines „Standardwegs“– UIs mit hohem Abstraktionsgrad/„normaler“ Semantik– Überwiegend lesende Zugriffe– Keine komplexen Modelltransformationen– Persistentes Modell mit Metadaten vorhanden

l Höhere Hürden, um abweichende Anforderungen umzusetzen– Standardlibs schwer/nicht einbindbar– UIs mit abweichender Semantik/Lifecycle aufwändig

Paul Bläsi - HANA 2 - Tiger im Tank?10 |

Page 11: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Zwischenfazit: HANA-Stack für die Webentwicklung?

Paul Bläsi - HANA 2 - Tiger im Tank?11 |

VieleGemeinsamkeiten HANA ist ein

Stack für dieWebentwicklung

Aber: Es gibt auch nennenswerte Unterschiede

Page 12: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Der Tiger im Tank? – Überblick

Paul Bläsi - HANA 2 - Tiger im Tank?12 |

1. Die HANA undmeine

Perspektivedarauf

3. Entwicklungs-workflow undWerkzeuge im

Vergleich

6. Fazit:Wann sollte man

es tun?

2. HANA 1 im Vergleich zu

„SQL/REST/SPA“

4. HANA 2: ExpressEdition

5. HANA 2:XS Advanced

Page 13: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

HANA 1 Tools & Workflow: IDE

l Zwei Alternativen– HANA Web Based Development Workbench– HANA Studio (Eclipse-basiert)

l Viele Funktionen, verteilen sich auf beide IDEs

Paul Bläsi - HANA 2 - Tiger im Tank?13 |

Page 14: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Design-artefakteDesign-

artefakteDesign-artefakte

HANA 1 Tools & Workflow: HANA Repository: Zwitter

Paul Bläsi - HANA 2 - Tiger im Tank?14 |

Design-artefakte

(Sourcecode)

HANA RepositoryVersionierung

Datenbankobjekte(Tabellen, Daten, Views,

Procedures, …)

Laufzeitobjekte Appserver

Page 15: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

HANA 1 Tools & Workflow: Sourcecode Repository

l HANA-Repository: Zentrales Sourcecode Repository

l Nur grundlegendste Funktionen der Versionsverwaltung: kein branching, merging, tagging

l Zwitterrolle

– Versionsverwaltung des Sourcecodes

– Deployment der Artefakte in Datenbank/Appserver

l Beim „Einchecken“: Deployment der Designartefakte

Paul Bläsi - HANA 2 - Tiger im Tank?15 |

Page 16: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Relevante Unterschiede: Tooling and Workflow

l IDE: Bei HANA wenig, sonst volle Auswahll Teamarbeit bei HANA deutlich erschwert

– Versionsverwaltung: Rückschritt gegenüber geübter Praxis

– umso schmerzhafter je größer das Entwicklerteaml Am ehesten noch

– Einzelner Entwickler, der mehrere Systeme zur Verfügung hat (Entw, Prod, Test, …)

– Oder klar umrissene Trennung (z.B. front-/backend)

Paul Bläsi - HANA 2 - Tiger im Tank?16 |

Page 17: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Workarounds sind möglich!

l Getrennter Namensraum/Schema für jeden Entwicklerl Sourcecode in git außerhalb des HANA Repository

– Integration aller textbasierten Artefakte im SCM– volle Unterstützung für branch/merge etc.

l Custom-Skripte, die Ersetzungen vornehmenl Deployment per REST-Schnittstelle zum Repositoryl Aber: Verwendung undokumentierter Schnittstellen,

einige Reibungspunkte, Skalierbarkeit

Paul Bläsi - HANA 2 - Tiger im Tank?17 |

&

Page 18: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Und wofür das Ganze?

Paul Bläsi - HANA 2 - Tiger im Tank?18 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Komplexität

Page 19: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Und wofür das Ganze?

Paul Bläsi - HANA 2 - Tiger im Tank?19 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Komplexität

Page 20: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Und wofür das Ganze?

Paul Bläsi - HANA 2 - Tiger im Tank?20 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Zu einfach:

KeineIndividual-

Entwicklung

Komplexität

Page 21: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Und wofür das Ganze?

Paul Bläsi - HANA 2 - Tiger im Tank?21 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Zu einfach:

KeineIndividual-

Entwicklung

FehlendeStandardlibs

Ineffizienz beiImplementierungder Businesslogik

und des UI

Komplexität

Page 22: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Und wofür das Ganze?

Paul Bläsi - HANA 2 - Tiger im Tank?22 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Zu einfach:

KeineIndividual-

Entwicklung

FehlendeStandardlibs

Ineffizienz beiImplementierungder Businesslogik

und des UI

Komplexität

Individuelle Entwicklung mit

HANA 1

Page 23: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Der Tiger im Tank? – Überblick

Paul Bläsi - HANA 2 - Tiger im Tank?23 |

1. Die HANA undmeine

Perspektivedarauf

3. Entwicklungs-workflow undWerkzeuge im

Vergleich

6. Fazit:Wann sollte man

es tun?

2. HANA 1 im Vergleich zu

„SQL/REST/SPA“

4. HANA 2: ExpressEdition

5. HANA 2:XS Advanced

Page 24: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Was ist die HANA Express Edition?

l Vollständige HANA mit DB, Appserver, Entwicklungstoolsl Frei verfügbar unter Entwicklerlizenz, kostenlosl Wenige Einschränkungen

– max. 32 GB RAM = Datenbankgröße– einige Big Data-bezogene Funktionen fehlen– keine Integration in SAP Solution Manager

l Geliefert als– VM Image (VM Ware, Virtual Box)– Installer mit Binärpaketen für SLES 12

Paul Bläsi - HANA 2 - Tiger im Tank?24 |

Page 25: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

HANA Express Edition als Virtuelle Maschine

Paul Bläsi - HANA 2 - Tiger im Tank?25 |

Page 26: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

l Im Prinzip gut ausführbar auf Entwicklerrechner

l In-Memory-Db: min 12GB freies RAM erforderlich

l Entwicklung möglich ohne zentrale HANA oder offline

l Niedrige Einstiegshürde technisch/kaufmännisch

l Aber: Minimum an HANA-Administration erforderlich

– DNS-Einträge, Zertifikate, …

– Benutzer, Benutzerrollen, „Spaces“, …

Bewertung: HANA Express Edition zur Entwicklung

Paul Bläsi - HANA 2 - Tiger im Tank?26 |

Page 27: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Der Tiger im Tank? – Überblick

Paul Bläsi - HANA 2 - Tiger im Tank?27 |

1. Die HANA undmeine

Perspektivedarauf

3. Entwicklungs-workflow undWerkzeuge im

Vergleich

6. Fazit:Wann sollte man

es tun?

2. HANA 1 im Vergleich zu

„SQL/REST/SPA“

4. HANA 2: ExpressEdition

5. HANA 2:XS Advanced

Page 28: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Was ist XS Advanced ?

l Vollständige Überarbeitung des Appserver-Layersl Beginn in HANA 1 (SPS 11)l Seit SPS 12/HANA 2(SPS 0): XS Classic „abgekündigt“

Paul Bläsi - HANA 2 - Tiger im Tank?28 |

SAP HANA Database

XS Advanced Runtime

XSClassic

RT

(forseveral

SPSlevels)

CustomRuntime

Node.jsRuntime

JAVARuntime

Application RouterHTML5App

HANADI

xsjscompatibility

centralsecurityservice

UserAccount/Authent.

Page 29: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Was ändert sich mit XS Advanced ?

l Workflow: – Ablösung des HANA Repository– Versionsverwaltung komplett im git– Deployment komplett von HDI übernommen

l Architektur:– „Multi-Target-Applications“ als Standardmodell– Cloud Foundry-basiert– „Microservices“– Standardmäßige Anbindung externer ID Provider– XS-Benutzer müssen keine HANA DB User mehr sein– Zugriff auf Datenbankcontainer via dediziertem technischen User

l Ablösung der IDEs durch „Web IDE for SAP HANA“– Löst „Web Based Development Workbench“ und „HANA Studio“ ab– Neuentwicklung, nicht verwandt mit bisheriger „Web IDE"

Paul Bläsi - HANA 2 - Tiger im Tank?29 |

Page 30: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Entwicklungsworkflow ohne HANA Repository

Paul Bläsi - HANA 2 - Tiger im Tank?30 |

In git remote branch

programmieren/ integrieren

In Web IDE Änderungen

abholen (pull)

Web IDE: deploy/test

Web IDE:Projekt initialisieren

In git remote branch zur Verfügung

stellen (push)

Page 31: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Auswirkung des neuen Workflow mit XS Advanced

l Saubere Trennung Versionsverwaltung/Deploymenttooll Verwendung jeder beliebigen IDE für textbasierte

Artefakte– Große Hilfe bei JS-Entwicklung– Allerdings keine Editoren für HANA-Spezifika (mta.yml, cds, …)

l Integration wie „gewohnt“ in git-branches– Paralleles, unabhängiges Deployment aus mehreren branches

l Zusammenarbeit im Team deutlich verbessert

l Web IDE kann aber nicht komplett ersetzt werden– Editoren für HANA-Spezifika– Initialisierung und Steuerung des Deployments

Paul Bläsi - HANA 2 - Tiger im Tank?31 |

Page 32: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

„Microservices“ in HANA 2

Paul Bläsi - HANA 2 - Tiger im Tank?32 |

l XS Advanced Runtime basiert auf CloudFoundryl Javascript Runtime basiert nicht mehr auf xsjs-API, sondern auf Node.js mit Modulenl Eines dieser (mitgelieferten) Module ist ein xsjs-Kompatibilitätsmodull Installation weiterer Module auf Standardweg (npm und package.json)l Auch Datenbankcontainer werden über einen Microservice zur Verfügung gestelltl SAP UI5 lib kann versioniert als Microservices zur Verfügung gestellt werdenl Custom Apps verteilen sich auf mehrere Microservices, deklarative Abhängigkeiten

SAP HANA Database

XS Advanced Runtime

XSClassic

RT

(forseveral

SPSlevels)

CustomRuntime

Node.jsRuntime

JAVARuntime

Application RouterHTML5App

HANADI

xsjscompatibility

centralsecurityservice

UserAccount/Authent.

Page 33: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Auswirkungen des Microservice-Ansatzes

l Verwendung von Standardlibs (Node-Modulen in JS-Runtime) deutlich erleichtert

l Feinere Strukturierung von Induvidualentwicklungenerleichtert größere (komplexere) Projekte

l Skalierbarkeit verbessert– Connection Pooling durch technischen DB-User– UI5 als Microservice statt mit jeder App deployt

l Größere/komplexere Apps besser unterstützt

l Allerdings auch höhere Komplexität für kleine Projekte

Paul Bläsi - HANA 2 - Tiger im Tank?33 |

Page 34: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Bewertung: HANA 2: Express Edition und XS Advanced

Paul Bläsi - HANA 2 - Tiger im Tank?34 |

Workfloworientiert am

Standard („git“)

Reibungsverlusteverkleinert

Verbesserung der Zusammenarbeit im Team

Express EditionEntwickler-

produktivitäterhöht

Isolierte und offline Arbeit,Entwicklertests ohne HANA

MicroservicesHöhere Komplexität

besserunterstützt

Feinere Strukturierung großer Anwendungen

JS-Runtimebasiert auf

Node.js

Schub für Backend-seitige Javascript-

Entwicklung

Verwendung von Standardmodulen

Page 35: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

l HANA 2: Änderungen gehen in die richtige Richtung!

l Unterstützung des git-basierten Workflows macht Teams produktiver.

l HANA Express ermöglicht unabhängiges Entwickeln.

l Unterstützung von aktuellem Node.js deutliche Verbesserung

l Datenbankcontainer mit technischen Usern und externe ID-Provider „state of the art“.

l Microservices helfen, große Anwendungen zu strukturieren.

Grund zum Jubel? – Pro und Contra!

Paul Bläsi - HANA 2 - Tiger im Tank?35 |

l Erhöhte Komplexität lohnt evtl. nicht für kleine Projekte.

l SAP Web IDE hat noch nicht Funktionalität und Reife der früheren IDEs (Web/Eclipse).

l Weite Teile der Plattform sind Neuentwicklungen, deren Produktionsreife erst erprobt werden muss.

l Express Edition funktioniert nicht ohne jeden Administrationsaufwand

l Für vorhandene Projekte Migrationsaufwand einplanen!

Page 36: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Was ändert HANA 2?

Paul Bläsi - HANA 2 - Tiger im Tank?36 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Zu einfach:

KeineIndividual-

Entwicklung

FehlendeStandardlibs

Ineffizienz beiImplementierungder Businesslogik

und des UI

Komplexität

IndividuelleEntwicklung mit

HANA 1

Page 37: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Was ändert HANA 2?

Paul Bläsi - HANA 2 - Tiger im Tank?37 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

FehlendeStandardlibs

Ineffizienz beiImplementierungder Businesslogik

und des UI

Komplexität

Zu einfach:

KeineIndividual-

EntwicklungIndividuelle

Entwicklung mit HANA 1

Page 38: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Was ändert HANA 2?

Paul Bläsi - HANA 2 - Tiger im Tank?38 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Zu einfach:

KeineIndividual-

Entwicklung

FehlendeStandardlibs

Ineffizienz beiImplementierungder Businesslogik

und des UI

Komplexität

IndividuelleEntwicklung mit

HANA 1

Page 39: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Was ändert HANA 2?

Paul Bläsi - HANA 2 - Tiger im Tank?39 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Zu einfach:

KeineIndividual-

Entwicklung

Standardlibs

Implementierungder Businesslogik

und des UI

Komplexität

IndividuelleEntwicklung mit

HANA 1

Page 40: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Reibungsverluste bei Teamarbeit

Was ändert HANA 2?

Paul Bläsi - HANA 2 - Tiger im Tank?40 |

Teamgröße

komplexe AblauflogikNon-Standard-Anforderungen

komplizierte UIs

überwiegend Lesezugriff/VisualisierungStandard-Szenarien (master/detail)

vorgefertigte Widgets

Zu einfach:

KeineIndividual-

Entwicklung

Standardlibs

Implementierungder Businesslogik

und des UI

Komplexität

IndividuelleEntwicklung mit

HANA 2

Page 41: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Der Tiger im Tank? – Überblick

Paul Bläsi - HANA 2 - Tiger im Tank?41 |

1. Die HANA undmeine

Perspektivedarauf

3. Entwicklungs-workflow undWerkzeuge im

Vergleich

6. Fazit:Wann sollte man

es tun?

2. HANA 1 im Vergleich zu

„SQL/REST/SPA“

4. HANA 2: ExpressEdition

5. HANA 2:XS Advanced

Page 42: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Fazit: Individualentwicklung auf HANA wagen?

l Mit HANA 2 wird der Anwendungsbereich größer

l Es spielen noch andere Faktoren eine Rolle– UI-Konzept: Standard oder Speziell? – Anforderungen an analytische Funktionen der DB– In Memory/Big Data– Betriebsthemen– Einbindung in vorhandene SAP-Landschaften

l Immer auch alternative Stacks berücksichtigen– SQL/REST/SPA-Framework– Anbindung der HANA DB über plain old SQL/JDBC

Paul Bläsi - HANA 2 - Tiger im Tank?42 |

Page 43: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Fragen? Anmerkungen?

Ihre Erfahrungen?

Page 44: Entwickeln mit der HANA 2 - Der Tiger im Tank? · Was ist XS Advanced ? l Vollständige Überarbeitung des Appserver-Layers l Beginn in HANA 1 (SPS 11) l Seit SPS 12/HANA 2(SPS 0):

Quellen und Verweisel SAP HANA 2 Docs: http://help.sap.com/hana_platforml HANA Express Edition @SAP:

http://www.sap.com/developer/topics/sap-hana-express.htmll SAP UI5: http://www.sap.com/developer/topics/ui5.htmll OData (Version 2): http://www.odata.org/documentation/odata-

version-2-0/l Cloud Foundry: https://www.cloudfoundry.org/

l HANA @eXXcellent solutions: https://www.exxcellent.de/software/software-entwicklung/sap-hana/

Paul Bläsi - HANA 2 - Tiger im Tank?44 |