Software-Architekturen
Einleitung
Dieser Kurs beschäftigt sich mit dem systematischen Aufbau von verteilten Programmen, die von mehreren Benutzern gleichzeitig genutzt werden können. Denken Sie beispielsweise an Anwendungen wie eBanking, amazon, die elektronischen Steuererklärungen und ähnliches.
Als eines der wichtigsten Entwurfsprinzipien in der Informatik gilt die Aufteilung grosser Systeme in überschaubare, in ihren Verantwortlichkeiten wohl definierte Komponenten. Man spricht auch vom Konzept des Information Hidings mit Modulen hoher Kohäsion, die untereinander lose gekoppelt sind.
Logische Schichten
Bei dem Aufbau von grossen Softwaresystemen geht man von drei wesentlichen Aufgabengebieten aus. Diese Aufgabengebiete werden auch logische Schichten genannt.
Präsentationsschicht (engl. Presentation Layer):
Übernimmt die Darstellung und Manipulation von Daten für den Endanwender. Hier kommt die ganze Thematik der Mensch-Maschine-Schnittstelle zum Tragen. Stellen Sie sich einen Routenplaner vor. Die Präsentationsschicht ermöglicht es, Standorte einzugeben und die Verbindungen grafisch darzustellen.
Verteilungsmöglichkeiten
Die drei oben beschriebenen Schichten lassen sich nun ganz unterschiedlich zusammensetzen. Jede Zusammensetzung führt zu einer Software Architektur, die wir in diesem Kurs betrachten werden. (Die Abkürzungen P, A und D stehen in den folgenden Zeichnungen für die drei logischen Schichten.)
1. Einzelplatzanwendung (z.B. Textverarbeitungsprogramme, Tabellenkalkulation etc.)
In Einzelplatzanwendungen kommen alle drei logische Schichten in ein einzigen Programm vor. Diese Programme erlauben keinen gleichzeitigen Zugriff von mehren Anwendern. Die persistenten Daten werden meistens in Dateisystemen abgelegt.
Ziele
Am Ende dieses Kurses können Sie selbst eigene Anwendungen mit diesen Architekturen aufbauen. Sie wissen dann auch, wofür sich welche Architektur eignet.