Dreischichtige Architektur
Die dreischichtige Architektur teilt eine Anwendung in drei logisch getrennte Schichten auf, um eine klare Struktur, Wartbarkeit und Erweiterbarkeit zu gewährleisten. Jede Schicht hat spezifische Aufgaben und interagiert mit den anderen Schichten auf wohldefinierte Weise.
Das folgende Bild veranschaulicht im Abstrakten die Architektur (Schichten) der recotech Software.
Die Anwendung (Clientbasiert) besteht aus 3 Schichten und der Datenbank, wobei die Datenbank auf einen dedizierten Server laufen kann und bei Mehrbenutzer muss.

Die drei Schichten im Überblick
- Datenbank-Schicht (Data Access Layer): (Datenzugriff und Datenbank)
- Aufgabe: Speichert und verwaltet die persistenten Daten der Anwendung.
- Technologien: Relationale Datenbanken (SQL Server), ORM-Tools (Entity Framework, Hibernate).
- Verantwortung:
- Bereitstellung von Daten für die Businesslogik-Schicht.
- Sicherstellung der Datenintegrität und -konsistenz.
- Optimierung von Abfragen und Zugriffen auf die Datenbank.
- Businesslogik-Schicht (Business Logic Layer):
- Aufgabe: Enthält die Geschäftsregeln und die eigentliche Funktionalität der Anwendung.
- Technologien: Programmiersprachen, Framework.
- Verantwortung:
- Verarbeitung von Benutzeranfragen.
- Durchführung von Berechnungen und logischen Operationen.
- Aufruf der Datenbank-Schicht zum Speichern oder Abrufen von Daten.
- Bereitstellung von Daten für die GUI-Schicht.
- GUI-Schicht (Graphical User Interface):
- Aufgabe: Bietet die Benutzerschnittstelle für die Interaktion mit der Anwendung.
- Technologien: Desktop-Anwendungen, Framework .
- Verantwortung:
- Darstellung von Daten, die von der Businesslogik-Schicht bereitgestellt werden.
- Erfassung von Benutzereingaben.
- Kommunikation mit der Businesslogik-Schicht.
Vorteile der dreischichtigen Architektur
- Modularität: Jede Schicht kann unabhängig entwickelt und getestet werden.
- Wartbarkeit: Änderungen an einer Schicht wirken sich in der Regel nicht auf andere Schichten aus.
- Wiederverwendbarkeit: Die Businesslogik kann in verschiedenen Anwendungen wiederverwendet werden.
- Skalierbarkeit: Jede Schicht kann separat skaliert werden, um steigenden Anforderungen gerecht zu werden.
- Trennung von Concerns: Die Trennung von Daten, Geschäftslogik und Präsentation verbessert die Übersichtlichkeit und reduziert Komplexität.