SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Modulare Architekturen mit
.NET
11.06.2020
Hendrik Lösch
211.06.2020ZEISS Digital Innovation, Hendrik Lösch
Sprecher
Hendrik Lösch
Senior Consultant
@HerrLoesch
hendrik.loesch@zeiss.com
hendrik-loesch.de
Stock Images by pexels.com
311.06.2020ZEISS Digital Innovation, Hendrik Lösch
ZEISS Gruppe
ZEISS weltweit
31.260
Mitarbeiter
Standorte weltweit (gerundet)
100
Länder (gerundet)
50
411.06.2020ZEISS Digital Innovation, Hendrik Lösch
ZEISS Gruppe
Zukunft gestalten
Sparten
der ZEISS Gruppe
Semiconductor Manufactoring
Technology
 Semiconductor Manufactoring
Optics
 Semiconductor Mask Solutions
 Process Control Solutions
Industry Quality & Research
 Industrial Quality Solutions
 Research Microscopy Solutions
Medical Technology
 Ophthalmic Devices
 Microsurgery
Consumer Markets
 Vision Care
 Consumer Products
511.06.2020ZEISS Digital Innovation, Hendrik Lösch
ZEISS Digital Innovation
Strategische Synergien schaffen
Innovative Digitalisierungsprojekte mit und für die Kunden von ZEISS
Sparten
der ZEISS Gruppe
Semiconductor Manufactoring
Technology
Industry Quality & Research Medical Technology Consumer Markets
611.06.2020ZEISS Digital Innovation, Hendrik Lösch
300feste Mitarbeiter
in Deutschland und Ungarn
30
Jahre Erfahrung in
Individualsoftware-
entwicklung
7
Standorte
in München, Dresden, Berlin,
Hamburg, Leipzig, Görlitz und
in Miskolc (Ungarn)
ZEISS Digital Innovation
Unsere Erfahrung in Zahlen
10
Jahre agiles
Management
711.06.2020ZEISS Digital Innovation, Hendrik Lösch
ZEISS Digital Innovation
Standort in Dresden
811.06.2020ZEISS Digital Innovation, Hendrik Lösch
Motivation
911.06.2020ZEISS Digital Innovation, Hendrik Lösch
Motivation
Was heißt „.NET“
DESKTOP
WPF
WinForms
UWP
WEB
ASP.NET
CLOUD
Azure
MOBILE
Xamarin
GAMING
Unity
IoT
ARM32
ARM64
AI
ML.NET
.NET für
Apache
Spark
.NET
INFRASTRUKTUR
Laufzeitkomponenten Compiler Sprachen
VISUAL STUDIO
VISUAL STUDIO FÜR MAC
VISUAL STUDIO CODE
COMMAND LINE
INTERFACE
WERKZEUGE
Quelle: https://devblogs.microsoft.com/dotnet/introducing-net-standard
1011.06.2020ZEISS Digital Innovation, Hendrik Lösch
Motivation
Technische Schichtung
Anwendungslogik
Präsentation
Datenhaltung
TechnischeSchichtung
1111.06.2020ZEISS Digital Innovation, Hendrik Lösch
Motivation
Verteilung
Anwendungslogik
Präsentation
Datenhaltung
Vermittlung
TechnischeSchichtung
Server
Client
1211.06.2020ZEISS Digital Innovation, Hendrik Lösch
Motivation
Monolith
System
1311.06.2020ZEISS Digital Innovation, Hendrik Lösch
Präsentation
Fachdomäne
Vermittlung
Anwendungslogik
Fachliche Schichtung
TechnischeSchichtung
Server
Client
Motivation
Technische & fachliche Schichtung
1411.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
1511.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Medizingerät
https://youtu.be/d9-y3e7xhKI
1611.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Medizingerät
Patientenverwaltung Messung Analyse
1711.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient
Messung
Analyse
1811.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Patientenverwaltung
1911.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Messung
2011.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Analyse
2111.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient
Messung
Analyse
2211.06.2020ZEISS Digital Innovation, Hendrik Lösch
Shell
Patient
Messung
Analyse
Beispiel
Fachliche Kontexte
2311.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Präsentation
Fachdomäne
Anwendungslogik
Fachliche Schichtung
TechnischeSchichtung
Client
Patient Messung Analyse
2411.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient Messung
Rahmen-
applikation
UI
Logic Data
Interfaces
UI
LogicData
Interfaces
2511.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient Messung
Rahmen-
applikation
UI
Logic Data
Interfaces
UI
LogicData
Interfaces
2611.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient Messung
Rahmen-
applikation
UI
Logic Data
Interfaces
UI
LogicData
Interfaces
Bootstrap
ping
2711.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient Messung
Rahmen-
applikation
UI
Logic Data
Interfaces
UI
LogicData
Interfaces
Bootstrap
ping
Messung
Module
Patient
Module
2811.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient Messung
Rahmen-
applikation
UI
Logic Data
Interfaces
UI
LogicData
Interfaces
Bootstrap
ping
Messung
Module
Patient
Module
Interfaces
2911.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient Messung
Rahmen-
applikation
UI
Logic Data
Interfaces
UI
LogicData
Interfaces
Bootstrap
ping
Messung
Module
Patient
Module
Interfaces
3011.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient Messung
Rahmen-
applikation
UI
Logic Data
Interfaces
UI
LogicData
Interfaces
Bootstrap
ping
Messung
Module
Patient
Module
Interfaces
3111.06.2020ZEISS Digital Innovation, Hendrik Lösch
Beispiel
Fachliche Kontexte
Patient Messung
Rahmen-
applikation
UI
Logic Data
Interfaces
UI
LogicData
Interfaces
Bootstrap
ping
Messung
Module
Patient
Module
Interfaces
Messung benötigt
Funktionalität von Patient
Modular mit .NET

Weitere ähnliche Inhalte

Ähnlich wie Modular mit .NET

Ähnlich wie Modular mit .NET (20)

Software ist was du draus machst!
Software ist was du draus machst!Software ist was du draus machst!
Software ist was du draus machst!
 
Namics & Adobe Industrie-Workshop "Be smart" vom 23.05.2017
Namics & Adobe Industrie-Workshop "Be smart" vom 23.05.2017Namics & Adobe Industrie-Workshop "Be smart" vom 23.05.2017
Namics & Adobe Industrie-Workshop "Be smart" vom 23.05.2017
 
VDC Newsletter 2006-05
VDC Newsletter 2006-05VDC Newsletter 2006-05
VDC Newsletter 2006-05
 
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger Koch
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger KochOSMC 2022 | In 60 Minuten zum IoT Projekt by Holger Koch
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger Koch
 
VDC Newsletter 2006-08
VDC Newsletter 2006-08VDC Newsletter 2006-08
VDC Newsletter 2006-08
 
Rethink! ITEM 2016 - Post Event Report
Rethink! ITEM 2016 - Post Event ReportRethink! ITEM 2016 - Post Event Report
Rethink! ITEM 2016 - Post Event Report
 
Was Sie schon immer über MBSE, PLM und Industrie 4.0 wissen sollten
Was Sie schon immer über MBSE, PLM und Industrie 4.0 wissen solltenWas Sie schon immer über MBSE, PLM und Industrie 4.0 wissen sollten
Was Sie schon immer über MBSE, PLM und Industrie 4.0 wissen sollten
 
2017-05 PM VDC weiter auf Wachstumskurs
2017-05 PM VDC weiter auf Wachstumskurs2017-05 PM VDC weiter auf Wachstumskurs
2017-05 PM VDC weiter auf Wachstumskurs
 
HeiReS ConDiSys Vorstellung
HeiReS ConDiSys Vorstellung HeiReS ConDiSys Vorstellung
HeiReS ConDiSys Vorstellung
 
CWMC Insights 2020|12 - Einführung IIoT Architekturen
CWMC Insights 2020|12 - Einführung IIoT ArchitekturenCWMC Insights 2020|12 - Einführung IIoT Architekturen
CWMC Insights 2020|12 - Einführung IIoT Architekturen
 
Endlich der Brückenschluss: IoT und Businessprozesse
Endlich der Brückenschluss: IoT und BusinessprozesseEndlich der Brückenschluss: IoT und Businessprozesse
Endlich der Brückenschluss: IoT und Businessprozesse
 
VDC Newsletter 2007-04
VDC Newsletter 2007-04VDC Newsletter 2007-04
VDC Newsletter 2007-04
 
S&T AG: Enabling digital business models
S&T AG: Enabling digital business modelsS&T AG: Enabling digital business models
S&T AG: Enabling digital business models
 
Voquz IT Solutions Unternehmenspräsention
Voquz IT Solutions UnternehmenspräsentionVoquz IT Solutions Unternehmenspräsention
Voquz IT Solutions Unternehmenspräsention
 
Bat40 Programmheft
Bat40 ProgrammheftBat40 Programmheft
Bat40 Programmheft
 
VDC-Newsletter 2016-11
VDC-Newsletter 2016-11VDC-Newsletter 2016-11
VDC-Newsletter 2016-11
 
PM Displaytrends 2012 - Hochauflösende Kameras und Displays für technische un...
PM Displaytrends 2012 - Hochauflösende Kameras und Displays für technische un...PM Displaytrends 2012 - Hochauflösende Kameras und Displays für technische un...
PM Displaytrends 2012 - Hochauflösende Kameras und Displays für technische un...
 
VDC Newsletter 2010-12
VDC Newsletter 2010-12VDC Newsletter 2010-12
VDC Newsletter 2010-12
 
Matthias Kraus: IT-Trends in der Manufacturing-Industrie - was passiert in de...
Matthias Kraus: IT-Trends in der Manufacturing-Industrie - was passiert in de...Matthias Kraus: IT-Trends in der Manufacturing-Industrie - was passiert in de...
Matthias Kraus: IT-Trends in der Manufacturing-Industrie - was passiert in de...
 
2017-11 Pressemeldung: VDC begrüßt zwei neue Mitglieder
2017-11 Pressemeldung: VDC begrüßt zwei neue Mitglieder2017-11 Pressemeldung: VDC begrüßt zwei neue Mitglieder
2017-11 Pressemeldung: VDC begrüßt zwei neue Mitglieder
 

Mehr von Hendrik Lösch

„Wie reden Sie denn mit mir?!?“ – Stakeholder überzeugen als Softwarearchitekt
„Wie reden Sie denn mit mir?!?“ – Stakeholder überzeugen als Softwarearchitekt„Wie reden Sie denn mit mir?!?“ – Stakeholder überzeugen als Softwarearchitekt
„Wie reden Sie denn mit mir?!?“ – Stakeholder überzeugen als Softwarearchitekt
Hendrik Lösch
 

Mehr von Hendrik Lösch (20)

Why (most) softwareprojects fail silently
Why (most) softwareprojects fail silentlyWhy (most) softwareprojects fail silently
Why (most) softwareprojects fail silently
 
We (don't) need a software architect!?!
We (don't) need a software architect!?!We (don't) need a software architect!?!
We (don't) need a software architect!?!
 
„Wie reden Sie denn mit mir?!?“ – Stakeholder überzeugen als Softwarearchitekt
„Wie reden Sie denn mit mir?!?“ – Stakeholder überzeugen als Softwarearchitekt„Wie reden Sie denn mit mir?!?“ – Stakeholder überzeugen als Softwarearchitekt
„Wie reden Sie denn mit mir?!?“ – Stakeholder überzeugen als Softwarearchitekt
 
.NET zu .NET Core
.NET zu .NET Core.NET zu .NET Core
.NET zu .NET Core
 
Workshop Vue js
Workshop Vue jsWorkshop Vue js
Workshop Vue js
 
Migrationsstrategien
MigrationsstrategienMigrationsstrategien
Migrationsstrategien
 
Einstieg in das Vueniverse
Einstieg in das VueniverseEinstieg in das Vueniverse
Einstieg in das Vueniverse
 
Survivalkit für Codehausmeister
Survivalkit für CodehausmeisterSurvivalkit für Codehausmeister
Survivalkit für Codehausmeister
 
Confessions of a Codehausmeister
Confessions of a CodehausmeisterConfessions of a Codehausmeister
Confessions of a Codehausmeister
 
Hey, wie geht es dir?
Hey, wie geht es dir?Hey, wie geht es dir?
Hey, wie geht es dir?
 
WPF Dos n Don'ts - der WPF Rundumschlag
WPF Dos n Don'ts - der WPF RundumschlagWPF Dos n Don'ts - der WPF Rundumschlag
WPF Dos n Don'ts - der WPF Rundumschlag
 
Clean mit visual studio
Clean mit visual studioClean mit visual studio
Clean mit visual studio
 
Advanced Refactoring Patterns
Advanced Refactoring PatternsAdvanced Refactoring Patterns
Advanced Refactoring Patterns
 
Codesmells
CodesmellsCodesmells
Codesmells
 
Advanced Refactoring Patterns - Dev Day 2018
Advanced Refactoring Patterns - Dev Day 2018Advanced Refactoring Patterns - Dev Day 2018
Advanced Refactoring Patterns - Dev Day 2018
 
Der Healthcheck für Softwareprojekte
Der Healthcheck für SoftwareprojekteDer Healthcheck für Softwareprojekte
Der Healthcheck für Softwareprojekte
 
MVVM mit WPF
MVVM mit WPFMVVM mit WPF
MVVM mit WPF
 
Ionic 3
Ionic 3Ionic 3
Ionic 3
 
Legacy Code refaktorisieren
Legacy Code refaktorisierenLegacy Code refaktorisieren
Legacy Code refaktorisieren
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 

Modular mit .NET

Hinweis der Redaktion

  1. Klare fachliche Trennung einzelner Module. Fachliche wie technische Bestandteile können leicht ausgetauscht oder verändert werden. Gerichtete und damit nachvollziehbare Abhängigkeiten. Änderungen wirken sich nur auf einen definierten Teilbereich aus und sind frei von Nebeneffekten. Kommunikation nur über abstrakte Schnittstellen. Es ist leicht automatisierte Tests zu verfassen und Bestandteile unabhängig voneinander zu betrachten. Zusammensetzung der Anwendung durch entsprechende Modulaggregatoren und eine Rahmenapplikation. Definierte Schlüsselpunkte weisen hohe Komplexität auf, alle anderen eher geringe. Einheitliches Vorgehen bei der Umsetzung neuer Funktionalität. Geringer Einarbeitungsaufwand.
  2. Klare fachliche Trennung einzelner Module. Fachliche wie technische Bestandteile können leicht ausgetauscht oder verändert werden. Gerichtete und damit nachvollziehbare Abhängigkeiten. Änderungen wirken sich nur auf einen definierten Teilbereich aus und sind frei von Nebeneffekten. Kommunikation nur über abstrakte Schnittstellen. Es ist leicht automatisierte Tests zu verfassen und Bestandteile unabhängig voneinander zu betrachten. Zusammensetzung der Anwendung durch entsprechende Modulaggregatoren und eine Rahmenapplikation. Definierte Schlüsselpunkte weisen hohe Komplexität auf, alle anderen eher geringe. Einheitliches Vorgehen bei der Umsetzung neuer Funktionalität. Geringer Einarbeitungsaufwand.
  3. Klare fachliche Trennung einzelner Module. Fachliche wie technische Bestandteile können leicht ausgetauscht oder verändert werden. Gerichtete und damit nachvollziehbare Abhängigkeiten. Änderungen wirken sich nur auf einen definierten Teilbereich aus und sind frei von Nebeneffekten. Kommunikation nur über abstrakte Schnittstellen. Es ist leicht automatisierte Tests zu verfassen und Bestandteile unabhängig voneinander zu betrachten. Zusammensetzung der Anwendung durch entsprechende Modulaggregatoren und eine Rahmenapplikation. Definierte Schlüsselpunkte weisen hohe Komplexität auf, alle anderen eher geringe. Einheitliches Vorgehen bei der Umsetzung neuer Funktionalität. Geringer Einarbeitungsaufwand.
  4. Klare fachliche Trennung einzelner Module. Fachliche wie technische Bestandteile können leicht ausgetauscht oder verändert werden. Gerichtete und damit nachvollziehbare Abhängigkeiten. Änderungen wirken sich nur auf einen definierten Teilbereich aus und sind frei von Nebeneffekten. Kommunikation nur über abstrakte Schnittstellen. Es ist leicht automatisierte Tests zu verfassen und Bestandteile unabhängig voneinander zu betrachten. Zusammensetzung der Anwendung durch entsprechende Modulaggregatoren und eine Rahmenapplikation. Definierte Schlüsselpunkte weisen hohe Komplexität auf, alle anderen eher geringe. Einheitliches Vorgehen bei der Umsetzung neuer Funktionalität. Geringer Einarbeitungsaufwand.
  5. Klare fachliche Trennung einzelner Module. Fachliche wie technische Bestandteile können leicht ausgetauscht oder verändert werden. Gerichtete und damit nachvollziehbare Abhängigkeiten. Änderungen wirken sich nur auf einen definierten Teilbereich aus und sind frei von Nebeneffekten. Kommunikation nur über abstrakte Schnittstellen. Es ist leicht automatisierte Tests zu verfassen und Bestandteile unabhängig voneinander zu betrachten. Zusammensetzung der Anwendung durch entsprechende Modulaggregatoren und eine Rahmenapplikation. Definierte Schlüsselpunkte weisen hohe Komplexität auf, alle anderen eher geringe. Einheitliches Vorgehen bei der Umsetzung neuer Funktionalität. Geringer Einarbeitungsaufwand.
  6. Klare fachliche Trennung einzelner Module. Fachliche wie technische Bestandteile können leicht ausgetauscht oder verändert werden. Gerichtete und damit nachvollziehbare Abhängigkeiten. Änderungen wirken sich nur auf einen definierten Teilbereich aus und sind frei von Nebeneffekten. Kommunikation nur über abstrakte Schnittstellen. Es ist leicht automatisierte Tests zu verfassen und Bestandteile unabhängig voneinander zu betrachten. Zusammensetzung der Anwendung durch entsprechende Modulaggregatoren und eine Rahmenapplikation. Definierte Schlüsselpunkte weisen hohe Komplexität auf, alle anderen eher geringe. Einheitliches Vorgehen bei der Umsetzung neuer Funktionalität. Geringer Einarbeitungsaufwand.
  7. Klare fachliche Trennung einzelner Module. Fachliche wie technische Bestandteile können leicht ausgetauscht oder verändert werden. Gerichtete und damit nachvollziehbare Abhängigkeiten. Änderungen wirken sich nur auf einen definierten Teilbereich aus und sind frei von Nebeneffekten. Kommunikation nur über abstrakte Schnittstellen. Es ist leicht automatisierte Tests zu verfassen und Bestandteile unabhängig voneinander zu betrachten. Zusammensetzung der Anwendung durch entsprechende Modulaggregatoren und eine Rahmenapplikation. Definierte Schlüsselpunkte weisen hohe Komplexität auf, alle anderen eher geringe. Einheitliches Vorgehen bei der Umsetzung neuer Funktionalität. Geringer Einarbeitungsaufwand.
  8. Klare fachliche Trennung einzelner Module. Fachliche wie technische Bestandteile können leicht ausgetauscht oder verändert werden. Gerichtete und damit nachvollziehbare Abhängigkeiten. Änderungen wirken sich nur auf einen definierten Teilbereich aus und sind frei von Nebeneffekten. Kommunikation nur über abstrakte Schnittstellen. Es ist leicht automatisierte Tests zu verfassen und Bestandteile unabhängig voneinander zu betrachten. Zusammensetzung der Anwendung durch entsprechende Modulaggregatoren und eine Rahmenapplikation. Definierte Schlüsselpunkte weisen hohe Komplexität auf, alle anderen eher geringe. Einheitliches Vorgehen bei der Umsetzung neuer Funktionalität. Geringer Einarbeitungsaufwand.