Suche
Interview mit Dr. Florian Marquardt

Viele Microservices, ein verbindendes Datenaustauschmodell

Hartmut Schlosser

Dr. Florian Marquardt

Microservices sind zweifellos eine nützliche Sache. Wo Licht ist, ist allerdings auch immer Schatten. Kleinere Komponenten zu verwenden löst die Komplexität großer, heterogener IT-Landschaften nicht in Luft auf. Ein verbindendes Datenaustauschmodell kann helfen, den Überblick zu behalten, erklärt uns DevOpsCon-Speaker Dr. Florian Marquardt im Interview.

JAXenter: Du hast auf der DevOpsCon die Session „Viele Microservices – Ein verbindendes Datenaustauschmodell“ gehalten. Dabei hast du gesagt, es ist wichtig, im Microservices-Kontext eine einheitliche Semantik von Schnittstelle bis zur Codeebene zu verwenden.

Dr. Florian Marquardt: In großen Umgebungen existieren viele Microservices, je mehr es werden, desto mehr potenzielle Schnittstellen gibt es. Ohne ein einheitliches Vokabular muss im schlimmsten Fall für jede Schnittstelle ausgehandelt, übersetzt und dokumentiert werden, was unter den Bezeichnern einer Schnittstelle zu verstehen ist und wie ein Mapping der Formate umzusetzen ist. Das ist zeitaufwändig und fehleranfällig und wird mit einer einheitlichen Semantik vereinfacht.

JAXenter: Zur Lösung dieses Problems plädierst du für die Nutzung eines Datenaustauschmodells. Wie könnte denn so ein Datenaustauschmodell aussehen? Kannst du einmal ein Beispiel geben?

Dr. Florian Marquardt: Unser konkretes Beispiel ist eine recht große xsd-Datei mit Type-definitionen im Zusammenspiel mit WSDLs für die Dienstbeschreibungen. Aber es können natürlich auch andere Technologien zum Einsatz kommen, z.B. Swagger und Co.

JAXenter: Wie kann ein solches Modell aufgesetzt werden?

Dr. Florian Marquardt: Der einfachste Fall ist hier natürlich immer die grüne Wiese. Wird ein einheitliches Datenaustauschmodell von Beginn an eingesetzt und konsequent umgesetzt, wächst es mit der Systemlandschaft. In einer bestehenden Landschaft ist das beispielsweise über die Evolution der Systeme und deren Schnittstellen möglich.

Wird ein einheitliches Datenaustauschmodell von Beginn an eingesetzt und konsequent umgesetzt, wächst es mit der Systemlandschaft.

JAXenter: Gibt es hier eine Parallele zur Ubiquitous Language, wie sie im Domain-driven Design gefordert wird? Wo sind da Gemeinsamkeiten, wo Unterschiede?

Dr. Florian Marquardt: Ja, diese Parallele gibt es. Das Konzept einer Ubiquitous Language (UL) ist allerdings umfassender als ein gemeinsames Datenaustauschmodell. UL umfasst auch die fachlichen Bezeichner von Use Cases, des Domänenmodells und sogar der Klassen/Methodenbezeichnern im Code. Diesen umfassenden Anspruch hat ein gemeinsames Datenaustauschmodell nicht. Die Erfahrung zeigt allerdings, dass sich die Terminologien ganz natürlich auch in den Code und die Konzeption ausdehnen, wenn ein gemeinsames Datenaustauschmodell konsequent umgesetzt wird.

JAXenter: Welche Kernbotschaft möchtest du weitergeben?

Dr. Florian Marquardt: Entgegen der verbreiteten Meinung, dass ein einheitliches Datenmodell (und sei es auch nur für den Datenaustausch) unmöglich umzusetzen ist, soll mit dem Vortrag demonstriert werden, dass es sehr wohl funktionieren kann und auch erheblichen Nutzen bringen kann. Die nötigen Voraussetzungen für einen erfolgversprechenden Einsatz werden im Vortrag diskutiert.

Dr. Florian Marquardt ist Entwicklungsleiter bei der regiocom GmbH in Magdeburg. Dort baute er bei der regiocom eine serviceorientierte Systemlandschaft basierend auf einem gemeinsamen kanonischen Datenmodell auf. Ziel war u.a. die Etablierung von hochverfügbaren Portalanwendungen für über 2,5 Millionen Energiekunden. In diesem Umfeld geht die Entwicklung zur Zeit in Richtung von feingranularen APIs, z.B. für Anwendungen auf entfernten Clients. Im Ehrenamt ist Dr. Marquardt Vorsitzender des Prüfungsausschuss der IHK für Fachinformatiker.Dr. Marquardt ist regelmäßiger Sprecher zu den Themen Web-APIs und Microservices im Kontext der Energiebranche.
Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare
  1. Dieter2017-11-23 11:08:48

    Microservices, Microservices überall, obwohl es für vermutlich 80% der Unternehmen ein kompletter Overkill ist. Ist natürlich nett für Consultants und Freelancer, die sich darauf spezialisieren, aber unter Strich sind Microservices etwas für hoch skalierbare Systeme ala Netflix und nichts für Standard IT Landschaften.

  2. Reiner2017-11-24 20:44:32

    Mit Java 9 kommt ein Modulsystem und ein Überdenken der bisher existierenden Strukturen ist angesagt. Oder sogar dringend notwendig. Monolithen gibt es tatsächlich. Wir haben einen. Vielleicht sollten sich die Microservice-Prediger etwas bremsen und auf das nun Notwendige hinweisen: das neue Modul-System. Danach können wir über Microservices diskutieren. Nicht vorher.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.