Architektur

Abwärtskompatible APIs in der Praxis

Wenn ein API erst einmal live ist, ist es nicht mehr so einfach, es zu ändern. Doch jede noch so gut definierte Schnittstelle kommt irgendwann an den Punkt, an dem sie weiterentwickelt werden muss; sei es nur, weil sich die Anforderungen geändert haben. Hier kommt die Abwärtskompatibilität in Spiel. Arne Limburg erklärt in seiner Session auf der JAX 2019, welche Herausforderungen bei APIs zu bewältigen sind.

Microservices: Vorsicht vor suboptimalen Kommunikationsmustern

Monolithen sind tot – lang leben die Microservices. So oder so ähnlich könnte der aktuelle Wahlspruch in modernen Software-Architekturen lauten. Wir sprachen im Rahmen der W-JAX 2019 mit Jens Deponte, Architekt und Berater bei der adesso AG, über die Best Practices beim Umgang mit Microservices-Architekturen. Er erklärt uns zudem, welche Probleme der Um- bzw. Einstieg auf Microservices entstehen können.

Legacy-Applikationen als Microservices: Agile Entwicklungsmethoden im Legacy-Umfeld

Sollte man Legacy-Anwendungen neu schreiben, oder gibt es vielleicht eine Möglichkeit, sie ohne größere Probleme in modernere Architektur-Dimensionen vorzudringen? Mark Cresswell, Chief Executive Officer bei LzLabs, zeigt in diesem Artikel, wie man vom klassischen Mainframe zu Microservices kommt und erklärt, was mit „Legacy Container as a Service“ gemeint ist.

Staging in Kubernetes

Wie viele wissen, werden in der Entwicklung oft mehrere Stages verwendet, etwa dev, test und prod. Wenn man nun die Transformation in die Cloud angeht, stellt sich oft die Frage, wie viele Kubernetes-Cluster installiert werden sollen. Soll für jede Stage ein eigener Kubernetes-Cluster installiert werden, oder kann man mehrere Stages zusammenführen und sich somit Installations- und Konfigurationsaufwand sparen? Im Folgenden wird aufgezeigt, wie innerhalb eines Kubernetes-Clusters voneinander isolierte Stages erstellt werden können. Im Anschluss werden die Vor- und Nachteile mehrere Stages innerhalb eines Kubernetes-Clusters diskutiert.

Java Magazin 11.19 erschienen: Evolutionäre Architektur – Bewegung im Architektur-Genpol!

Wir schreiben das Jahr 1997. Microsofts immens wachsende Dominanz wird zu einer Gefahr für die IT-Branche. In seiner Überheblichkeit leistet sich das Unternehmen dann einen Fauxpas: Durch das Beimischen illegaler Substanzen (aka Windows-spezifischer UI-Klassen) verstößt Microsofts „Java SDK” gegen das Mantra der jungen Java-Community („Write once, run everywhere”). In einem Gerichtsverfahren wird entschieden: Finger weg von Java!

Strategic Domain-driven Design: So erstellt man wartbare Architekturen mit Angular und Monorepos

Mit Monorepos können große Anwendungen in kleine, übersichtliche Teile zerlegt werden. Dabei handelt es sich jedoch nur um eine Seite der Medaille: Zuvor gilt es nämlich festzulegen, anhand welcher Kriterien die Zerlegung erfolgen soll und wie die einzelnen Bibliotheken miteinander kommunizieren dürfen. Welche das sind, expliziert Manfred Steyer in seiner Session auf der JAX 2019.

EnterpriseTales: Was ein „modernes“ Web-Frontend bedeutet

Der Entscheidungsprozess bei Web-Frontends ist häufig Framework-getrieben und betrachtet die architektonischen Implikationen nur am Rande. So ist es heute schon fast selbstverständlich, dass Webanwendungen als clientseitig gerenderte Single Page Applications (SPA) entwickelt werden. Die allgemeine Definition eines „modernen“ Frontends ist dabei nicht selten unmittelbar an die Auswahl eines konkreten Frameworks gebunden. Die Zeiten der eher klassischen, rein serverseitig getriebenen Ansätze (z. B. JSF) scheinen vorbei zu sein.

Von Service-orientierten Architekturen (SOA) zu DDD und Microservices

Ein Umbau von Monolithen hin zu Microservices ist aufwendig und kann, falsch eingeleitet, zu einem schlechteren Ergebnis führen als es die ursprüngliche Architektur einmal war. Auf Basis der Erfahrungen aus Kundenprojekten der letzten Jahre zeigt Carola Lilienthal in ihrer Session von der W-JAX 2018 , wie man sinnvolle von unsinnigen Maßnahmen trennt und stellt pragmatische Lösungen vor.

„Cloud und Microservices sind nicht die Lösung für alle Fragen der Softwareentwicklung“

Microservices liegen im Trend – doch vielleicht etwas zu sehr im Trend? Verstellt uns der Hype um das Thema womöglich sogar den Blick auf andere Lösungsoptionen? Dass Microservices kein Allheilmittel sind, und welche Themen Software-Architekten stattdessen etwas ernster nehmen sollten, haben wir auf der JAX mit Thorsten Maier (Orientation in Objects) besprochen.

Software-Architektur im Wandel: „Es reicht nicht mehr, die Package-Struktur vorzugeben und Module zu extrahieren“

Software-Architektur ist technisch, aber auch kulturell im Wandel: Wer heute als Architekt arbeitet, sieht sich mit ganz anderen Problemen konfrontiert, als dies in den Zeiten vor DevOps, Microservices, Cloud Computing und Serverless der Fall war. Wir haben mit Stephan Kaps, Leiter des Bereichs Softwareentwicklung im Bundesversicherungsamt, im Zuge der JAX 2019 über diese Entwicklungen gesprochen.