architektur- leitfaden - maibornwolff · zwei architektursichten prägen den bau von...

12
Architektur- leitfaden Definieren Sie fachliche Komponenten und implementieren Sie Ihre Aufgaben in technischen Schichten Illustration: Designed by Freepik.com

Upload: others

Post on 06-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Architektur- leitfaden

Definieren Sie fachliche Komponenten und implementieren Sie Ihre Aufgaben in technischen Schichten

Illustration: Designed by Freepik.com

Page 2: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Zwei Architektursichten prägen den Bau von Software-Systemen

Fachliche Architektur

Strukturierung in fachliche Komponenten

Fachliche Einheit von Funktionen, Daten, Schnittstellen

Unterschiedliche Komponententypen

Technische Architektur

Strukturierung in Schichten und technische Dienste

Schichten und ihre Aufgaben

Kommunikationsregeln

Mapping auf konkrete Technologie

Illustration: Designed by Freepik.com

Page 3: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Was ist eine gute fachliche Architektur?

Illustration: Designed by Freepik.com

Page 4: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Unterteilen Sie Ihre Anwendung in fachliche Komponenten mit klaren Aufgaben und minimalen Abhängigkeiten

Implementierung

Funktionen

Entitäten

Kunde

Vertrag

Bündelt fachlich zusammen-gehörige Funktionen und Daten. Kann in einem Satz beschrieben werden.

Aufruf ausschließlich über eine Schnittstelle. Aufruf an der Schnitt-stelle vorbei ist verboten!

Entität Entität

Entität Entität Entität

Entität Entität

Ist für bestimmten Ausschnitt des Datenmodells exklusiv verantwortlich. Sichert hier Konsistenz und Integrität.

Vertragsbasierter Entwurf

Fachliche Bündelung

Datenhoheit

Implementierung bleibt verborgen und damit austauschbar.

Geheimnisprinzip

Komponente

verboten

1

2

3

4

Page 5: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Sieben Typen von fachlichen Komponenten ermöglichen spezifische Architekturvorgaben

Batch- Komponenten

Client- Komponenten

Reporting-Kompo-enten

Prozess-Komponenten

Adapter-Komponenten

Daten- und Logik-

Komponenten

Fassade-Komponenten

Kapselt ausgehende Nachbarsystemaufrufe

Hält die Schnittstelle intern stabil

Datenkonvertierung

Fachliche Steuerung der Massen- datenverarbeitung

Retry/Rerun Logik

Aggregation von Daten (KPIs)

Analytische Aufbereitung

Erstellung von Reports

Bündelung der Geschäftslogik

Datenhoheit

Datenintegrität

Kapselt eingehende Nachbarsystemaufrufe

Hält die Schnittstelle extern stabil

Datenkonvertierung

Setzt einen Workflow bzw. Prozess um

Orchestriert interne Services

Hat Steuerungslogik

1 2 3

4 5 6 7

Benutzerinteraktion

GUI Darstellung

Dialoglogik & Zustände

Serveraufrufe

Page 6: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Trenne Fachlich- keit und Technik

Nutze Entitäten als Ausgangs-punkt

Schneide nach fachlichen Gesichts-punkten

Trenne Verant- wortlich-keiten

Minimiere Abhängig-keiten

Orientiere dich an den Kompo-nententypen

1 2 3

4 5 6

Das Schneiden von fachlichen Komponenten ist schwierig. Sechs Empfehlungen unterstützen den Architekten.

Page 7: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Was ist eine gute technische Architektur?

Illustration: Designed by Freepik.com

Page 8: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Datenbank

Entitätsobjekt

Transportobjekt

Komponententeil

Fassadenschicht

Präsentationsschicht

Dialogkernschicht

Businesslogikschicht

Datenzugriffsschicht

Cli

ent

Ser

ver

Security

Transaktions-kontrolle

Logging

Exception Handling

GUI Toolkit

Datei-adapter

Monitoring

Security

I18N

Validierung

Meldungen

Die technische Referenzarchitektur gibt vor, wie robuste und zukunftsfähige Systeme heute gebaut werden

Server-Zugangsdienst (Dynamic Proxy)

Persistenzdienst

Technische Serverfassade

Page 9: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Fassadenschicht

Businesslogikschicht

Datenzugriffsschicht

Anbieten der Komponenten-schnittstellen

Syntaktische und semantische Prüfung der Parameter

Implementiert die fachliche Logik entitätsübergreifend über die Entitäten der Komponente

Verwendet Entitätsobjekte

Führt den Datenbankzugriff durch Definiert selects, updates etc.

für die Datenbank Hat die Hoheit über bestimmte

Entitäten

Präsentationsschicht

Dialogkernschicht

Erzeugung und Steuerung der Oberfläche (inkl. Zustände)

Transformation zwischen den Datenwelten (Konvertierung)

Verwaltung der fachlichen Daten und Zustände

Dialogaktionen Fachliche Dialogsteuerung

Jede Schicht der technischen Referenz- architektur hat klar definierte Aufgaben

Cli

ent

Ser

ver

Anbindung der Daten, Aktionen und Zustände

Validierung und Internationalisierung

Kommunikation mit anderen Dialogkomponenten

Erzeugung von Dialogkomponenten Server-Aufrufe

Mapping zwischen Transport-objekten und Entitätsobjekten

Aufruf der Businesslogik, Orchest-rierung der Businesslogikaufrufe

Bietet ggf. entitätsbasierte Schnittstellen für andere Serverkomponenten desselben Subsystems an

Verwendet Entitätsobjekte Komponententeile der

Datenzugriffsschicht sind nicht von außerhalb der Komponente zugreifbar

Page 10: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Datenbank

Ein Beispiel: Die fachlichen Komponenten werden in die technische Architektur abgebildet und implementiert.

Fassadenschicht

Präsentationsschicht

Dialogkernschicht

Businesslogikschicht

Datenzugriffsschicht

Cli

ent

Ser

ver

Vertrags-dialog

Kunden-dialog

Vertrag Kunde

CRM CRM-System

L L A

D D

A

D

L

Dialogkomponente

Daten- und Logik-

komponente

Adapterkomponente

Page 11: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit

Architektur- grundlagen

Anwendung auf konkrete Technologien

Mobile Architekturen

Performance bei Persistenz

Exception Handling

Transferobjekte & Entitäten

Detaillierung bestimmter

Themen

Werkzeuge und Methoden zu weiteren wichtigen Themen erhalten Sie auf Anfrage

Technologie- unabhängiger Teil

Technologie- spezifische Beispiele

Architektursichten über Kontext und Infrastruktur

Page 12: Architektur- leitfaden - MaibornWolff · Zwei Architektursichten prägen den Bau von Software-Systemen Fachliche Architektur Strukturierung in fachliche Komponenten Fachliche Einheit