Der Java-Enterprise-Standard Java EE scheint weder für Microservices-basierte Architekturen noch für die Cloud wirklich gut geeignet zu sein – so zumindest die landläufige Meinung. Zu komplex die Fülle der APIs, zu schwergewichtig die Runtime namens Application Server. Was aber bedeutet das für die vielen, vielen Teams, die seit Jahren entsprechende Erfahrungen aufgebaut haben? Gibt es für sie noch Hoffnung, ihr Expertenwissen auch in zukünftigen Projekten weiter nutzen zu können. Die Session zeigt, wie auch Java-EE-Teams problemlos in die Wunderwelt der Microservices und Cloud eintauchen können, ohne dabei auf ihre jahrelange Enterprise-Erfahrung verzichten zu müssen. Natürlich wartet die eine oder andere Herausforderung, aber ohne wäre es ja auch langweilig.
3. #WISSENTEILEN
ÜBER MICH
Wer bin ich - und wenn ja, wie viele?
• CIO New Technologies
• Enterprise & Mobile
• Autor, Speaker, Coach & Mentor
• Snowboard & MTB Enthusiast
• Mehrfacher Vater, einfacher Ehemann
Lars Röwekamp (a.k.a. @mobileLarson)
LR
21. #WISSENTEILEN
„In short, the microservice architectural style is an
approach to developing a single application as a
suite of small services, each running in its own
process and communicating with lightweight
mechanisms, often an HTTP resource API.”
22. #WISSENTEILEN
„As well as the fact that services are
independently deployable and scalable, each
service also provides a firm module boundary,
even allowing for different services to be written in
different programming languages. They can
also be managed by different teams.”
33. #WISSENTEILEN
„easier to understand & maintain“
„starts faster than a monolith“
„local changes can be easily deployed“
„improves fault isolation“
„not tech driven but business focused“
38. #WISSENTEILEN
„Max cohesion, min coupling.“1)
JEE Business Component
Boundary Entity Control Pattern
je Service ein eigenes WAR
Kommunikation via REST
44. #WISSENTEILEN
Alternative: „Just enough Server“
• Self-Contained Java Microservices (.jar)
• Java EE Komponenten on demand
• Embedded Servlet / Web Engine
• Health Checks, Metrics, Security
• externe Konfiguration via CommandLine & Co
Das geht mit Java EE?
JEE
60. #WISSENTEILEN
Die Mission:
„An open forum to optimize Enterprise Java
for a microservices architecture by innovating
across multiple implementations and
collaborating on common areas of interest
with a goal of standardization.“
MicroProfile
61. #WISSENTEILEN
Alles begann als „lose“ Diskussion von ...
• Wildfly Swarm
• WebSphere Liberty Profile
• Payara
• TomEE
MicroProfile
63. #WISSENTEILEN
Brücke zwischen Community und Standard
• breite Kooperation von Herstellern
• Förderung von Experimentierfreudigkeit
• Fehler / Fehlplanung schnell(er) erkennen
• zügige Innovationen
MicroProfile
64. #WISSENTEILEN
Brücke zwischen Community und Standard
• Herstellerunabhängigkeit
• Implementierungsunabhängigkeit
• Portabilität
• Abwärtskompatibilität
• Risikominimierung
MicroProfile
65. #WISSENTEILEN
• Vendor neutrality
• MicroProfile leadership can change over time
• Legal and technical infrastructure
• Trademark Ownership
• Accepts Apache License
Eclipse Foundation
66. #WISSENTEILEN
Der Weg in die MicroProfile Zukunf:
• Schritt 1: Den „Hebel“ Java EE nutzen
• Schritt 2: Organische Innovationen
• Schritt 3: Zusammenarbeit via Open Source
MicroProfile
(*aktuelle Planung: 2-4 Releases/Jahr)