Microservices: Mit Eclipse MicroProfile zu leichtgewichtigen verteilten Java EE Microservices (Teil 1)

feather

Mit Eclipse MicroProfile steht ein Quasistandard zur Verfügung, der die Implementierung von Microservices erheblich vereinfacht, ohne den bewährten Java-EE-Standard aufzugeben.

JEE-Monolithen

Java-EE-Anwendungen lassen sich in der Regel deswegen als Monolithen (siehe Abbildung 1) bezeichnen, weil sie komplexe und umfangreiche fachliche Logik implementieren und diese in einer Deployment-Unit ausliefern. Der Aufwand, derartige Anwendungen zu erweitern und zu warten, wächst erfahrungsgemäß mit zunehmendem Alter. Das liegt einerseits daran, dass die Anwendung an die sich verändernden fachlichen Anforderungen angepasst werden muss.

Nicht selten passt das Software-Design dann nicht mehr zu den Anforderungen. Sponsoren für eine Refaktorierung finden sich selten. Andererseits altert Software dadurch, dass im Zuge der Wartung das Design vernachlässigt wird, was wiederum die Komplexität erhöht und die Wartung erschwert. Nicht zuletzt ist der Aufwand für ein neues Release schon aufgrund der umfangreichen Systemtests erheblich. Eine derartige Software wird nicht als agil wahrgenommen.

Abb. 1: Monolith

Microservice

Demgegenüber steht die lose Kopplung von Microservices (siehe Abbildung 2). Sie wird dadurch erreicht, dass Microservices oft aus fachlicher Sicht geschnitten werden und im Idealfall nur durch Kommunikation über das Netzwerk miteinander verbunden sind. Ein Micro­service übernimmt nur eine Aufgabe. Die Microservices sollen unabhängig voneinander entwickelbar, deploybar und testbar sein. Die Idee zur Microservice-Architektur ist im Jahre 2011 entstanden.

Microservices können, im Gegensatz zu Monolithen, kurzfristig an fachliche Anforderungen angepasst werden. Sie kommen überall dort zum Einsatz, wo die Agilität von großer Bedeutung ist. Vorreiter sind Internetanbieter für
Video-on-Demand oder Internet-Shops. Derartige Vorbilder zeigen, dass auch in einer komplexen IT kurzfristige Anpassungen vorgenommen werden können.

Abb. 2: Microservice

Spring-Microservice-Architektur wurde immer beliebter

Dieser neue Ansatz der losen Kopplung wurde von den Application-Server-Herstellern anfangs nicht wahrgenommen. Als Spring-Microservices immer beliebter wurden, haben einzelne Application-Server-Hersteller angefangen, eigene Lösungen zu entwickeln, um die Microservice-Architektur in ihrem Application Server umsetzen zu können. Der Nachteil der eigenen Bemühungen war, dass sie nicht in das bisher auf Standards setzende Java EE passten. Dieses Problem wurde dadurch gelöst, dass sich mehrere Her­steller unter dem Eclipse-MicroProfile-Projekt (https://microprofile.io) zusammengeschlossen haben, um die Entwicklung aufeinander abgestimmt voranzutreiben und somit einen Quasistandard einzuführen.

Fortsetzung

Lesen Sie den zweiten Teil zu "Microservices: Mit Eclipse MicroProfile zu leichtgewichtigen verteilten Java EE Microservices" ab dem 01.08.2019 hier in unserem Blog. Nicht verpassen!

Glossar

  • Domain-Driven-Design (DDD)
    DDD wurde 2003 von Eric Evans in seinem gleichnamigen Buch geprägt. Dabei wird die Modellierung von Software im Wesentlichen von den umzusetzenden Fachlichkeiten der Anwendungsdomäne beeinflusst.
  • Enterprise Application Archive (EAR)
    EAR ist ein Dateiformat, welches alle Programm- und Konfigurationsdateien enthält, um eine Applikation auf einem Applikationsserver betreiben zu können.
  • Java Enterprise Edition (Java EE)
    Java EE ist eine Sammlung von Spezifikationen, um Anwendungen auf her­stellerunabhängigen Applikationsservern betreiben zu können.
  • Monolithen
    Von einer monolithischen Software Architektur (Monolith) ist die Rede, wenn die funktionalen Elemente in einem einzigen, untrennbaren sowie homogenen Gebilde miteinander verbunden sind.

Links/Quellen

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Gäste
Samstag, 24. August 2019

Sicherheitscode (Captcha)