Gemeinsam mehr erreichen.
DOAG 2016 - Nürnberg - 16. November 2016
Microservices mit Vert.x und der Oracle SOA Suite
2
Vernetzen mit esentri
Über Mich
Dominik Galler
@dominik_galler
#java8
#microservices
#angular
Agenda
> Microservice-Architektur> Microservices mit Vert.x> Demo> Vergleich SOA & MSA> Microservices mit der SOA Suite> SOA Suite und Vert.x
4
Microservice-Architektur
5
Technische Charakteristika
> Microservice-Architektur
Unabhängige Bereitstellung
Eigener Prozessraum Unabhängig Skalierbar
Shared Nothing
Verteilt
6
Architektonische Charakteristika
> Microservice-Architektur
Ressourcenhoheit
Single-Responsibility-Prinzip Smart Endpoints & Dump Pipes
API Schnittstellen
Polyglott
7
Organisatorische Charakteristika
> Microservice-Architektur
Kleine Teams
Weniger Kommunikationsaufwand Geringere Belastung
Teams betreiben Service
Orientiert an fachlichen Funktionen
8
Klassische Sicht
> Microservice-Architektur
UI-Schicht
Fachkonzeptschicht
Datenhaltungsschicht
9
Auswirkungen auf die Architektur
> Microservice-Architektur
10
Vertikale Teilung
> Microservice-Architektur
Grafisches Interface
Geschäftsprozesse
Datenhaltung
11
Vertikale Teilung
> Microservice-Architektur
Interface-Integrationsschicht
Geschäftsprozesse
(Datenintegrationsschicht)
Suche Produktdaten Kundendaten
12
Auswirkungen auf die Organisation
> Gesetz von ConwayAny organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure – Melvin E. Conway (1968)
> Microservice-Architektur
13
Auswirkungen auf die Organisation
> Microservice-Architektur
UI-Entwickler
Entwickler (Middleware)
DBAs
14
Auswirkungen auf die Organisation
> Microservice-Architektur
15
Auswirkungen auf das System
> Microservice-Architektur
Netzwerkstruktur
Integration
Verteilt
Automatisierung
16
Microservice Architektur
> Microservice-Architektur
Flexibilität
Kürzere Time-To-Market
Skalierbarkeit
Agile Entwicklungsmethoden
VerteilteDatenverarbeitung
KomplexeresTesten&Deployment
KomplexitätaufNetzwerkebene
Reorganistation derUnternehmensstruktur
17
Microservices mit Vert.x
18
Was ist Vert.x
> Microservices mit Vert.x
Läuft in der JVM
EventgetriebenPolyglott
Inspiriert von Node.js *
*https://dzone.com/articles/get-know-hash-joins-mariadb
19
Was bietet Vert.x
> Microservices mit Vert.x
Vert.x
Polyglott Leichtgewichtig Eventgetrieben Flexibel Modular
20
Unterstützte Sprachen
> Microservices mit Vert.x
21
Smart Endpoints –Verticle
> Microservices mit Vert.x
Verticle
Bereitstellungselement
Enthält Logik
Emittiert und Konsumiert Events
Automatisches Deployment
22
Dump Pipe – Eventbus
> Microservices mit Vert.x
Eventbus
ÜberträgtEvents
Publish &Point2Point
ÜberträgtEvents
Wenig/keineLogik
23
Das Rahmenwerk
> Microservices mit Vert.x
24
Demo
25
Demo Code auf GitHub!
> Demo
> https://github.com/dominikgaller/doag-demo-javascript
> https://github.com/dominikgaller/doag-demo-java-one> https://github.com/dominikgaller/doag-demo-java-two
26
Vergleich SOA & MSA
27
Microservice-Architektur
> Vergleich SOA und MSA
Geschäftsandwendung
Microservice 2Microservice 1
Einfache Integrationsschicht (vgl. Vert.x Eventbus)
28
Serviceorientierte Architektur
> Vergleich SOA & MSA
Web-Service
Komplexe Geschäftsanwendung
Komplexe Geschäftsanwendung
Datenbank
Komplexe Integrationsschicht
29
Microservices mit der SOA Suite
30
SOA Suite - Service-Componente-Architecture-Project (SCA)
> Microservices mit der SOA Suite
SCA
BPEL-Prozesse
Mediatoren
Business-Rules
31
Microservices mit SCA
> Microservices mit der SOA Suite
SCA
UI
Logik
Isolierte Datenbank
REST
32
Microservices mit der SOA Suite
> Microservices mit der SOA Suite
Dump Pipes Mediatoren
Skalierbarkeit
Partitionierung
Work-Manager-Gruppe
AutomatisierungMaven-Support
(ab12c)
Mehr Informationen? à http://www.esentri.com/wp-content/uploads/2015/09/04-2015-doag-soug-news-web.pdf
33
SOA Suite und Vert.x
34
Kombination von SOA Suite und Vert.x
> SOA Suite und Vert.x
SOA Suite
SCA REST
Vert.x
Verticle(Microservice)
REST
35
Kombination von Vert.x und SOA Suite
> SOA Suite und Vert.x
Vorteile beider Welten
Einfache Integration von MSA in Legacy-Umfeld
Höhere Flexibilität
Monitoring durch SOA Suite
doppelter Technologiestack
Zusätzlich erhöhte Komplexität
Doppelte Integrationsschicht
36
Vielen Dank für Ihre Aufmerksamkeit!
37
In Eigener Sache
> Vortrag von Carsten Wiesbaum (esentri AG)Microservices - ein Vorgehensmodell zur SoftwareentwicklungDonnerstag, 14:00 – 14:30 Uhr, Hongkong
> Sie treffen mich im Anschluss am Stand der
38
Ansprechpartner
Prof. Dr. Thomas Schuster
Professur für Softwaretechnik und Datenbanken
Pforzheim University
https://www.hs-pforzheim.de/profile/thomasschuster
Dominik Galler
esentri AG
www.esentri.de
39
"Mit unserer Begeisterung für führende Technologien vernetzen wir Systeme, Prozesse und Menschen.“
> Vorstellung der esentri AG
EINFACH MEHR> BEGEISTERUNG
Q&A
40
Quellen
> [11] How Do Committees Invent?, Melvin E. Conway, Copyright 1968, F. D. Thompson Publications, Inc. Reprinted by permission of Datamation magazine, where it appeared April, 1968, URL: http://www.melconway.com/research/committees.html (Abgerufen 23.09.2016)
> [7,8,12,13] Microservices a definition of this new architectural term, Fowler und Lewis, URL: http://martinfowler.com/articles/microservices.html (Abgerufen: 23.09.2016)
> [14, 25, 26, 28 - 30] Microservices – Architekturmuster oder nur alter Wein in neuen Schläuchen, Dr. Thomas Schuster und Carsten Wiesbaum, esentri AG, DOAG SOUG Nr. 4, August 2015, ISSN 2364-7191, www.doag.org, http://www.esentri.com/wp-content/uploads/2015/09/04-2015-doag-soug-news-web.pdf
> [16] Vert.x Logo URL: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Vert.x_Logo.svg/2000px-Vert.x_Logo.svg.png
> [27] Oracle SOA Suite Logo URL: http://www.esentri.com/wp-content/uploads/2014/10/oracle_soasuite_logo.jpg
> http://www.esentri.com/blog/2015/12/02/aenderungen-vert-x-3-im-vergleich-zu-vert-x-2/> http://www.esentri.com/blog/2015/04/27/vert-x/> http://www.esentri.com/blog/2016/04/04/vert-x-backend/