Skip to main content
main-content
Top

About this book

Das Lehrbuch führt schrittweise in die faszinierende Welt der modernen verteilten Softwaresysteme ein.

Dabei beginnt die Reise mit Überlegungen zu den Tätigkeiten des Softwarearchitekten. Weiter geht es zur Modellierung von serviceorientierten Mehrschichtenarchitekturen sowie deren technischer Umsetzung in den einzelnen Schichten. Dabei beschäftigt sich das Buch mit aktuellen Technologien wie z. B. Microservices, SPA, PWA, node.js, .NET, JEE und vieles mehr. Ausführungen zur organisationsinternen sowie -übergreifenden Anwendungsintegration auf der Präsentations-, Applikations- und Datenebene runden die Reise ab.

Ein durchgehendes anschauliches Beispiel zur Illustration der theoretischen Ausführungen sowie fallstudienbezogene Aufgaben bieten die Möglichkeit der unmittelbaren Anwendung des Gelernten.

Table of Contents

Frontmatter

Kapitel 1. Einführung in die Softwarearchitektur

Zusammenfassung
John, der Softwarearchitekt, ruft sein Team zu einer Kick-Off-Veranstaltung zusammen. Er eröffnet das Meeting mit folgenden Worten: „Wir haben den Auftrag erhalten, einen innovativen E-Shop zu entwickeln. In dieser Session geht es darum, die Bedeutung und Einordnung der Softwarearchitektur im gesamten Softwareentwicklungsprojekt zu verstehen. Sarah, unsere Requirements Engineer, erörtert die Bedeutung und die Beziehung zwischen den nicht-funktionalen Anforderungen und den Architekturentscheiden. Ich schliesse dann mit den Hinweisen zur Dokumentation und der dabei verwendeten Diagrammtypen zur Modellierung und den einzusetzenden Werkzeugen ab“.
Hansruedi Tremp

Kapitel 2. Serviceorientierte Architektur (SOA)

Zusammenfassung
Felix, unser Webservice-Entwickler, kann nun auf die gestellte Frage nach der Integrationsfähigkeit antworten: „Die fortschreitende Digitalisierung zwingt die Unternehmungen, agil auf Veränderungen zu reagieren. Mittels Serviceorientierten Architekturen bieten die Applikationen nicht mehr nur ein GUI als einzigen Zugang, sondern eine Reihe von intern oder auch organisationsextern programmatisch aufrufbaren Diensten an. Dabei benötigen die beteiligten Partner saubere Vertragsvereinbarungen. Gerne gebe ich euch einen Überblick über die synchronen und asynchronen Technologien. Im Kontext der IT-Sicherheit haben Zugriffs-, Transport- und Nachrichtensicherheit einen sehr hohen Stellenwert. Mittels des API-Management finden die konkrete Umsetzung und Bereitstellung der IT-Serviceschnittstellen statt.“
Hansruedi Tremp

Kapitel 3. Mehrschichtige Architektur

Zusammenfassung
Auf die Frage von Anna, der DevOps Engineer, erläutert John, unser Softwarearchitekt: „Wir verfeinern das klassische Client–Server Modell in weitere Schichten, welche jede eine klar definierte Funktion übernimmt. Dabei achten wir darauf, dass wir mittels wohl definierter Services für die Service Consumer und einem klar definierten Gateway zu den Service Provider die Applikation SOA-enabled gestalten. Damit wir dies praktisch umsetzen können, ist die Entscheidung, wo wir unsere Applikation betreiben wichtig. Hier schauen wir nebst des lokalen On Premises vor allem die Möglichkeiten des Cloud-Betriebes an.“
Hansruedi Tremp

Kapitel 4. Flexible Architektur

Zusammenfassung
John nimmt die Frage nach der flexiblen Architektur gerne auf und erläutert seinem Team: „Die horizontale Aufteilung einer Applikation nach Schichten haben wir in der letzten Session dargelegt. Nun gehe ich gerne der vertikalen Aufteilung in fachlich sauber abgegrenzte Microservices nach. Das Auffinden und Abgrenzen der jeweiligen Fachkontexte mittels des Domain Driven Design bildet eine gute Methode. Danach können wir die Makroarchitektur aufzeichnen, um ein Gesamtbild der Applikation mit den einzelnen Bausteinen und deren Schnittstellen zu erhalten. Gerne gibt Anna, unsere DevOps Engineer, dann noch Ausführungen zum Betrieb von Microservices mittels Containerisierung.“
Hansruedi Tremp

Kapitel 5. Clientseitige Architektur

Zusammenfassung
Julia, unsere UI Entwicklerin, führt das Team gerne in die Möglichkeiten der clientseitigen Architektur ein: „Die Interaktion zwischen Menschen und Computer ist komplex und benötigt einen gut abgestimmten Entwurf. Gerne gebe ich einen Überblick über die aktuellen Arten von Client Devices und deren Betriebssysteme. Dann vertiefen wir uns in die unterschiedlichen Technologien der Web Apps einerseits und der installierbaren Apps andererseits.
Hansruedi Tremp

Kapitel 6. Serverseitige Architektur

Zusammenfassung
Felix, unser Webserviceentwickler, widmet sich der Fragestellung der serverseitigen Architektur: „Wir schauen uns basierend auf den Ausführungen aus dem Kap. 3 zur Mehrschichtenarchitektur nun die detaillierte Schichtenaufteilung des Servers an. In Bezug darauf ist es wichtig, die drei grundsätzlichen serverseitigen Architekturmöglichkeiten, wie die monolithische Mehrschichtenarchitektur, die Microservices mit deren jeweiligen Mikroarchitekturen basierend auf den Darlegungen aus Kap. 4 zur flexiblen Architektur sowie der serverlosen Applikation, im Blickfeld zu behalten. Weiter informiere ich über die drei aktuell gängigen Technologie-Stacks, nämlich auf Skriptsprachen basiert, .NET und Jakarta EE. Wie ihr seht, gibt es da für uns noch einige Entscheidungen zu treffen, welche dieser Technologievarianten für uns infrage kommen.“
Hansruedi Tremp

Kapitel 7. Anwendungsintegrationsarchitektur

Zusammenfassung
Elias, unser Systemintegrator, meldet sich nun im Team zu Wort: „Gerne erläutere ich die Herausforderungen der Anwendungsintegration. Zur Betrachtung der Integrationsmöglichkeiten wenden wir ein zweidimensionales Modell an. In der ersten Dimension schauen wir den Integrierungshorizont an, nämlich organisationsintern und über die Organisationsgrenze hinweg. Die zweite Dimension erörtert die Frage, auf welcher Schicht wir integrieren: Client, Middle oder Data Tier. Auf jeder Ebene ergeben sich einige Realisierungsvarianten. Die Modellierung nehmen wir mit dem bewährten UML-Komponentendiagramm vor.“
Hansruedi Tremp

Backmatter

Additional information

Premium Partner

    Image Credits