|
Home - Programmieren - Mehrschichtige Architekturen
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Mehrschichtige ArchitekturFrüher wurde Software monolithisch entworfen, von Datenzugriff bis Benutzeroberflächen war alles fest miteinander verzahnt. Mit dem verstärkten Aufkommen der Client-Server-Architektur und objektorientierten Programmiersprachen verschwand das monolithische Entwurfsparadigma aber immer mehr aus der Softwareentwicklung. Software wird heutzutage mehrschichtig entworfen. Für die spätere Wartbarkeit der zu entwickelnden Software ist ein guter Entwurf entscheidend, dieser charakterisiert sich durch die folgenden Eigenschaften:
EntwurfsentscheidungenBevor eine Software entworfen und später auch implementiert werden kann, gilt es einige grundlegende Entwurfsentscheidungen zu treffen. Dazu gehören unter anderem:
Schichten-ArchitekturSoftware wird heute mehrschichtig entworfen und implementiert. Im Folgenden werden einige grundlegenden Schichten-Architekturen erläutert. Die Drei-Schichten-ArchitekturEine Drei-Schichten-Architektur (three-tier architecture) besteht aus den folgenden Schichten:
Die Drei-Schichten-Architektur kann in zwei Ausprägungen auftreten:
Abbildung 1 zeigt eine strenge Drei-Schichten-Architektur, Abbildung 2 zeigt die flexible Version. Die Pfeile stellen die möglichen Zugriffe von der einen Schicht auf eine andere dar.
In beiden Fällen darf eine übergeordnete Schicht nur auf untergeordnete Schichten zugreifen. Das bedeutet, dass die Fachkonzept nie direkt auf die GUI-Schicht zugreifen darf. Nur durch diese strikte Trennung ist es überhaupt möglich, dass die GUI- und die Fachoknzeptschicht getrennt voneinander entwickelt und zu einem späteren Zeitpunkt einfacher ausgetauscht werden können. Damit die GUI-Schicht aber dennoch an die Daten der Fachkonzeptschicht gelangen kann, gibt es folgende Möglichkeiten:
Werden GUI- und Fachkonzeptschicht zu einer einzigen Schicht zusammengeführt, so ist die Rede von einer Zwei-Schichten-Architektur. Der Nachteil daran ist, dass die beiden Schichten fest miteinander verbunden sind und ein Austausch der Benutzeroberfläche oder des Fachkonzepts sehr mühsam durchzuführen ist. Diese Zwei-Schichten-Architektur wird heute in der Praxis kaum noch angewendet. ZugriffsschichtenBei grösseren und komplexeren Anwendungen lohnt es sich oftmals, wenn der Zugriff auf eine tiefer liegende Schicht von einer weiteren Zwischenschicht übernommen wird. Hierbei ist die Rede von sog. Zugriffsschichten. Erweitert man eine Drei-Schichten-Architektur um Zugriffsschichten, so ist die Rede von einer Mehr-Schichten-Architektur (multi-tier-Architektur). Zugriffsschicht auf das FachkonzeptIn einer Drei-Schichten-Architektur führt die GUI-Schicht streng genommen zwei Aufgaben aus:
Um diesem Sachverhalt auch im Entwurf gerecht zu werden, kann aus der GUI-Schicht eine weitere Schicht extrahiert werden; die Fachkonzept-Zugriffsschicht. Dabei kümmert sich die GUI-Schicht nur noch um die reine Präsentation der Daten, der Zugriff auf die Fachkonzeptschicht wird von der neuen Fachkonzept-Zugriffsschicht übernommen. Auf diese Weise können die komplexeren Daten-Beziehungen innerhalb der Fachkonzept-Schicht für die GUI-Schicht verborgen werden. Zudem sind GUI und Fachkonzept so noch weniger aneinander gekoppelt, ein Austausch der GUI-Schicht würde in diesem Fall leichter fallen. Zugriffsschicht auf die DatenhaltungDie Kernaufgabe der Fachkonzept-Schicht ist die Ausführung der eigentlichen Geschäftslogik. Die Fachkonzept-Schicht muss sich jedoch auch um die Kommunikation mit der Datenhaltungsschicht kümmern. Soll die Datenhaltungsschicht ausgetauscht werden, so kann diese enge Kopplung zu Problemen führen. Die Lösung dieses Problems liegt darin, dass aus der Fachkonzept-Schicht eine Datenhaltungs-Zugriffsschicht extrahiert wird. Diese kümmert sich um den Zugriff auf die Datenhaltung, die Fachkonzept-Schicht ist so noch lockerer mit der Datenhaltungsschicht gekoppelt, letztere kann somit leichter ausgetauscht werden. Die Fachkonzeptschicht kann die Daten somit in einer höheren Abstraktion verarbeiten, die Geschäftslogik wird weiter von technischen Details isoliert. Weitere ArchitekturenEs gibt eine Unzahl von weiteren Architekturen, den meisten davon liegt aber das Konzept aus der Drei-Schichten-Architektur zu Grunde. Mit zunehmender Grösse einer Anwendung muss diese immer weiter in Schichten aufgeteilt werden. Ansonsten würden die Schichten unübersichtlich gross werden. Man sollte es mit der Anzahl der Schichten jedoch auch nicht übertreiben, ansonsten kann auf Dauer die Orientierung verloren gehen. Zudem verschlechtert sich die Performance mit jeder weiteren Schicht, eine Anfrage muss schliesslich jede einzelne Schicht passieren. Bei einfachen Anfragen wirken die einzelnen Schichten so als blosser „Durchlaufserhitzer“. EntwurfszieleOb die gewählte Schichten-Architektur optimal für die jeweilige Anwendung ist, kann anhand folgender Entwurfsziele überprüft werden:
Insgesamt soll also die Kommunikation zwischen den einzelnen Schichten auf ein Minimum reduziert werden. Diese Kommunikation muss zudem über klar definierte und möglichst schlanke Schnittstellen erfolgen. EntwurfsheuristikenBei einer sog. Heuristik handelt es sich um eine allgemein gültige Vorgehensweise zur Lösung eines bestimmten Problems. Trifft man in der Softwareentwicklung auf ein Problem, so ist in der Regel schon ein anderer Entwickler auf ein vergleichbares Problem gestossen. Aus der Lösung dieser Probleme hat sich über die Jahre ein gewisser Erfahrungsschatz angesammelt. Auch für den Entwurf einer Anwendung gibt es bestimmte Heuristiken. Wer einen qualitativ hochwertigen Softwareentwurf anstrebt, der sollte die folgenden Heuristiken berücksichtigen:
Referenzen
|
Autoren:03760
Artikel:00815 Glossar:04618 News:08554 Userbeiträge:16077 Queueeinträge:00024
Unternehmensimage im Internet aufbauen
Hotels.com geht Offline DMSFACTORY erleichtert Implementierung von DMS über Skype [Mehr News]
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|