97
Architektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe / / @NilsLoewe [email protected]

Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Architektur von InformationssystemenHochschule für angewandte Wissenschaften

Sommersemester 2016Nils Löwe / / @[email protected]

Page 2: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was ist Softwarearchitektur?Geschichte und Trends

Sichten auf ArchitekturenQualiät und andere nichtfunktionale Anforderungen

ArchitekturmusterDokumentation von Architekturen

Technologien und Frameworks

Page 3: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

WiederholungSichten auf Architekturen

Page 4: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Warum überhaupt Sichten?"Es ist eine offensichtliche Wahrheit, dass auch eine perfekte Architektur

nutzlos bleibt, wenn sie nicht verstanden wird..."Felix Bachmann und Len Bass in "Software Architecture

Documentation in Practice"

Page 5: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

1.Eine einzelne Darstellung kann die Vielschichtigkeit und Komplexität einer

Architektur nicht ausdrücken.- Genauso wenig, wie man nur mit einem Grundriss ein Haus bauen kann.

Page 6: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

2.Sichten ermöglichen die Konzentration auf einzelne Aspekte des

Gesamtsystems und reduzieren somit die Komplexität der Darstellung.

Page 7: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

3.Die Projektbeteiligten haben ganz unterschiedliche Informationsbedürfnisse.

Page 8: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 9: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

KontextsichtWie ist das System in seine Umgebung eingebettet?zeigt das System als Blackbox in seinem Kontext aus derVogelperspektive

Page 10: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Kontextsicht - Enthaltene Informationen:Schnittstellen zu NachbarsystemenInteraktion mit wichtigen Stakeholdernwesentliche Teile der umgebenden Infrastruktur

Page 11: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Kontextsicht - Beispiel

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 12: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

BausteinsichtWie ist das System intern aufgebaut?unterstützt Auftaggeber und Projektleiter bei derProjektüberwachungdienent der Zuteilung von Arbeitspaketendient als Referenz für Software-Entwickler

Page 13: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Bausteinsicht - Enthaltene Informationen:statische Strukturen der Bausteine des SystemsSubsystemeKomponenten und deren Schnittstellen

Page 14: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Bausteinsicht - Beispiel

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 15: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

LaufzeitsichtWie läuft das System ab?Welche Bausteine des Systems existieren zur Laufzeit?Wie wirken die Bausteine zusammen?

Page 16: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Laufzeitsicht - Beispiel

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 17: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Verteilungssicht / InfrastruktursichtIn welcher Umgebung läuft das System ab?zeigt das System aus Betreibersicht

Page 18: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Verteilungssicht - Enthaltene Informationen:Hardwarekomponenten: Rechner, ProzessorenNetztopologienNetzprotokollesonstige Bestandteile der physischen Systemumgebung

Page 19: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Verteilungssicht - Beispiel

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 20: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

EmpfehlungVerzichten Sie möglichst auf weitere SichtenJede Sicht kostet Erstellungs- und WartungsaufwandDie grundlegenden Aspekte der Architektur- undSystementwicklung decken die vier Sichten ab

Page 21: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

In welcher Reihenfolge sollten die Sichten entstehen?Letztlich spielt es kaum eine Rolle, mit welcher Architektursicht Sie beginnen.Im Laufe des Entwurfs der Software-Architektur werden Sie an allen Sichten

nahezu parallel arbeiten oder häufig zwischen den Sichten wechseln.

Page 22: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Wie viel Aufwand für welche Sicht?Rechnen Sie damit, dass Sie 60 bis 80% der Zeit, die Sie für den Entwurf der

Architektursichten insgesamt benötigen, alleine für die Ausgestaltung derBausteinsicht aufwenden. Der ausschlaggebende Grund hierfür: Die

Bausteinsicht wird oftmals wesentlich detaillierter ausgeführt als die übrigenSichten.

Dennoch sind die übrigen Sichten für die Software-Architektur und dasGelingen des gesamten Projektes wichtig! Lassen Sie sich von diesem relativ

hohen Aufwand für die Bausteinsicht in keinem Fall dazu verleiten, dieanderen Sichten zu ignorieren.

Quelle: Starke/Effektive Softwarearchitekturen

Page 23: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Wechselwirkungen dokumentierenBessere Nachvollziehbarkeit von EntscheidungenAuswirkungen von Änderungen werden vereinfachtDas Verständnis der Architekturbeschreibung wird einfacher, dadie Zusammenhänge zwischen den Sichten klarer werden

Page 24: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Entwurf der KontextabgrenzungIm Idealfall ist die Kontextabgrenzung ein Ergebnis derAnforderungsanalyseZeigen Sie in sämtliche NachbarsystemeAlle ein- und ausgehenden Daten und Ereignisse müssen in derKontextabgrenzung zu erkennen sein

Page 25: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Entwurf der BausteinsichtDer Entwurf der Bausteinsicht ist der Kern derArchitekturbeschreibungBeschreiben Sie exakt, wie das System (strukturell) aufgebaut istund aus welchen Bausteinen es bestehtBeginnen Sie mit einer Vogelperspektive derImplementierungsbausteineZerlegen Sie Ihr System dazu in große Architekturelemente, wieSub- oder TeilsystemeErinnerung: Der Aufwand macht 60%-80% der Architekturarbeit aus

Page 26: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Entwurf der LaufzeitsichtElemente der Laufzeitsichten sind Instanzen der statischenArchitekturbausteine, die Sie in den BausteinsichtendokumentierenEin möglicher Weg zur Laufzeitsicht führt daher über dieBausteinsichtenBeschreiben Sie die Dynamik der statischen Bausteine, beginnendbei den wichtigsten Use-Cases des Gesamtsystems.Einen weiteren Startpunkt kann dieVerteilungs-/Infrastruktursicht bilden

Page 27: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Entwurf der VerteilungssichtDie Verteilungssicht sollte eine Landkarte der beteiligtenHardware und der externen Systeme beinhaltenGenügen die verfügbare Hardware und dieKommunikationskanäle, oder gibt es potenzielle Engpässe?Falls Ihre Systeme in verteilten Umgebungen ablaufen, sollten Sievorhandene Kommunikationsmechanismen, Protokolle undMiddleware in die Infrastruktursicht aufnehmen

Page 28: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

Page 29: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

UML Diagrammtypen

Page 30: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Strukturdiagramme

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 31: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Verhaltensdiagramme

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 32: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Interaktionsdiagramme

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 33: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Interaktionsdiagramme

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 34: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

UML Klassen und Objekte

Page 35: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Klassen und Objekte

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 36: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

UML Pakete und Komponenten

Page 37: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Pakete und Komponenten

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 38: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

UML Schnittstellen

Page 39: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Schnittstellen

Bildquelle: "Effektive Softwarearchitekturen" von Gernot Starke

Page 40: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

Welches UML Diagramm für welche Sicht?

Page 41: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

Baustein-SichtGute Namen wählen!Rollennamen anzugeben, Navigationsrichtung vorschreiben undMultiplizitäten festlegenVerwenden Sie nur eine Art von SchnittstellendarstellungNutzen Sie Stereotypes für verschiedene Arten von fachlichen undtechnischen Klassen und Komponenten

Page 42: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

Baustein-SichtPaketdiagrammKomponentendiagrammKlassendiagrammAktivitätsdiagrammZustandsdiagramm

Page 43: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

Verteilungs-SichtHauptelemente: Knoten und Kanäle zwischen den KnotenKnoten sind Standorte, z.B. Cluster, Rechner, Chips, ...Kanäle sind die physikalischen Übertragungswege, z.B. Kabeln,Bluetooth, Wireless, ...

Page 44: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

Verteilungs-SichtVerteilungsdiagrammKontextdiagramm

Page 45: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

LaufzeitsichtElemente der Laufzeitsicht sind immer um Instanzen vonBausteinen, die in der Bausteinsicht enthalten sind, also umObjekte zu den Klassen oder um instanziierte Komponenten.

Page 46: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

LaufzeitsichtObjektdiagrammKompositionsstrukturdiagrammSequenzdiagrammLaufzeitkontextdiagrammKommunikationsdiagrammInteraktionsdiagramm

Page 47: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

Warum UML?UML hat die Kästchen und Striche für uns standardisiertDie Bausteine der Architektur lassen sich auf verschiedenenAbstraktionsebenen miteinander in Beziehung setzenDie Zusammenarbeit wird effektiver, wenn alle hinter denKästchen und Strichen das Gleiche verstehen

Page 48: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

UML für Softwarearchitekten

Praxisrelevanz?

Page 49: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Fragen?

Page 50: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was ist Softwarearchitektur?Geschichte und Trends

Sichten auf Architekturen

Qualiät und andere nichtfunktionale AnforderungenArchitekturmuster

Dokumentation von ArchitekturenTechnologien und Frameworks

Page 51: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

WiederholungQualiät und andere nichtfunktionale Anforderungen

Page 52: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was ist Qualität?

Page 53: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was ist Qualität?Duden: Qualität=„Beschaffenheit, Güte, Wert“

Page 54: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was ist Qualität?Die Qualität stimmt, wenn der Kunde wiederkommt und nicht das Produkt

Page 55: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was ist Qualität?

Quelle: http://pm-blog.com/

Page 56: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Qualität ist ein wichtiges Ziel für Software-Architekten

Page 57: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Probleme von QualitätQualität ist nur indirekt messbarQualität ist relativ (jeweils anders für: Anwender, Projektleiter,Betreiber, ...)Die Qualität der Architektur korreliert nicht notwendigerweisemit der CodequalitätErfüllung aller funktionalen Anforderungen lässt keinerlei Aussageüber die Erreichung der Qualitätsanforderungen zu

Page 58: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Qualitätsmerkmale nach DIN/ISO 9126

FunktionalitätZuverlässigkeitBenutzbarkeit

EffizienzÄnderbarkeit

Übertragbarkeit

Page 59: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Die weiteren Details zu Qualität und nichtfunktionalen Anforderungen sindBestandteil der kommenden Kapitel

Page 60: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Fragen?

Page 61: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Praktikumsaufgabe2. Praktikumsaufgabe

Page 62: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Praktikumsaufgabe

RESTRepresentational State Transfer (REST) bezeichnet ein

Programmierparadigma für verteilte Systeme, insbesondere fürWebservices. REST ist eine Abstraktion der Struktur und des

Verhaltens des World Wide Web.

REST hat das Ziel, einen Architekturstil zu schaffen, der die Anforderungendes modernen Web besser darstellt.

Page 63: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Praktikumsaufgabe

RESTDer Zweck von REST liegt schwerpunktmäßig auf der Maschine-zu-Maschine-Kommunikation.REST kodiert keine Methodeninformation in den URI, der URI gibtOrt und Namen der Ressource anEine Ressource kann über verschiedene Medientypen dargestelltwerden, auch Repräsentation der Ressource genannt.

Page 64: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Praktikumsaufgabe

REST PrinzipienClient-ServerZustandslosigkeitCachingEinheitliche SchnittstelleMehrschichtige SystemeCode on Demand

Page 65: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Praktikumsaufgabe

REST Einheitliche SchnittstelleDies ist das Hauptunterscheidungsmerkmal von allen weiteren

Archtitekturstilen. Dabei besteht diese aus 4 weiterenEigenschaften. Ziel ist die Einheitlichkeit der Schnittstelle und somit

ihre einfache Nutzung.

Adressierbarkeit von RessourcenRepräsentationen zur Veränderung von RessourcenSelbstbeschreibende Nachrichten (Verwendung vonStandardmethoden wie Http)„Hypermedia as the Engine of Application State“ (HATEOAS)

Page 66: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Praktikumsaufgabe

HTTPDas Hypertext Transfer Protocol (HTTP) ist ein zustandsloses

Protokoll zur Übertragung von Daten auf der Anwendungsschichtüber ein Rechnernetz. Es wird hauptsächlich eingesetzt, um

Webseiten (Hypertext-Dokumente) aus dem World Wide Web(WWW) in einen Webbrowser zu laden.

Es ist jedoch nicht prinzipiell darauf beschränkt und auch alsallgemeines Dateiübertragungsprotokoll sehr verbreitet.

Page 67: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Praktikumsaufgabe

HTTP VerbenGET fordert die angegebene Ressource vom Server an.POST fügt eine neue (Sub-)Ressource unterhalb der angegebenenRessource ein.PUT legt die angegebene Ressource an. Wenn die Ressourcebereits existiert, wird sie geändert.PATCH ändert einen Teil der angegebenen Ressource.DELETE löscht die angegebene Ressource.

Page 68: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Praktikumsaufgabe

Ein kleines Beispielswagger.io

Page 69: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was ist Softwarearchitektur?Geschichte und Trends

Sichten auf ArchitekturenQualiät und andere nichtfunktionale Anforderungen

ArchitekturmusterDokumentation von Architekturen

Technologien und Frameworks

Page 70: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was sind Architekturmuster?

Page 71: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

A pattern for software architexture describes a particular recurring designproblem that arises in specific design contexts, and presents a well-proven

generic scheme for its solution. The solution scheme is specified bydescribing its constituent components, theis relationships, and the ways in

which they collaborate.(1996 / Pattern Oriented Software Architectute)

Page 72: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Ein Architekturmuster beschreibt eine bewährte Lösung für ein wiederholtauftretendes Entwurfsproblem

(Effektive Softwarearchitekturen)

Page 73: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Ein Architekturmuster definiert den Kontext für die Anwendbarkeit der Lösung(Effektive Softwarearchitekturen)

Page 74: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Warum Architekturmuster?

Page 75: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Erfolg kommt von Weisheit.Weisheit kommt von Erfahrung.Erfahrung kommt von Fehlern.

Page 76: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Haben Sie jemals einen dummen Fehler zweimal begangen?– Willkommen in der realen Welt.

Haben Sie diesen Fehler hundertmal hintereinander gemacht?-Willkommen in der Software-Entwicklung.

Page 77: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Aus Fehlern kann man hervorragend lernen.Leider akzeptiert kaum ein Kunde Fehler, nur weil Sie Ihre Erfahrung

als Software-Architekt sammeln.

Page 78: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

In dieser Situation helfen Heuristiken.Heuristiken kodifizieren Erfahrungen anderer Architekten undProjekte, auch aus anderen Bereichen der Systemarchitektur.

Page 79: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Heuristiken sind nicht-analytische Abstraktionen von ErfahrungEs sind Regeln zur Behandlung komplexer Probleme, für die es meistbeliebig viele Lösungsalternativen gibt. Heuristiken können helfen,

Komplexität zu reduzieren.

Page 80: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Andere Begriffe für Heuristiken sind auch „Regeln“, „Muster“ oder „Prinzipien“.Es geht immer um Verallgemeinerungen und Abstraktionen von

konkreten Situationen.

Page 81: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Heuristiken bieten Orientierung im Sinne von Wegweisern,Straßenmarkierungen und Warnschildern.

Sie geben allerdings lediglich Hinweise und garantieren nichts. Esbleibt in Ihrer Verantwortung, die passen- den Heuristiken für eine

bestimmte Situation auszuwählen:

Page 82: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Die Kunst der Architektur liegt nicht in der Weisheit der Heuristiken, sondernin der Weisheit, a priori die passenden Heuristiken für das aktuelle Projekt

auszuwählen.

Page 83: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Architektur: Von der Idee zur StrukturEin klassischer und systematischer Ansatz der Beherrschung von

Komplexität lautet „teile und herrsche“ (divide et impera). DasProblem wird in immer kleinere Teile zerlegt, bis diese Teilprobleme

eine überschaubare Größe annehmen.

Page 84: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Anwendung auf Software-Architekturen:klassische Architekturmuster

Horizontale Zerlegung: „In Scheiben schneiden“Vertikale Zerlegung: „In Stücke schneiden“

weitere Architekturmuster

Alles ist möglich...

Page 85: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Horizontale ZerlegungJede Schicht stellt einige klar definierte Schnittstellen zur Verfügung und

nutzt Dienste von darunter liegenden Schichten.

Page 86: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Vertikale ZerlegungJeder Teil übernimmt eine bestimmte fachliche oder technische Funktion.

Page 87: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Prinzipien zur Zerlegung

Kapselung (information hiding)Kapseln von Komplexität in Komponenten.Betrachtung der Komponenten als „black box“,Definition klarer SchnittstellenOhne Kapselung erschwert eine Zerlegung das Problem, statt eszu vereinfachen (was bekannt ist, wird auch ausgenutzt!)

Page 88: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Prinzipien zur Zerlegung

Wiederverwendungwiederverwendbarkeit verringert den WartungsaufwandAchtung: Nur Dinge wiederverwenden, bei denen es sinnvoll ist

Page 89: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Prinzipien zur Zerlegung

Iterativer EntwurfÜberprüfung eines Entwurfs mit Prototypen oder DurchstichenEvaluation der Stärken und Schwächen eines EntwurfesExplizite Bewertung und Analyse dieser Versuche

Page 90: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Prinzipien zur Zerlegung

Dokumentation von EntscheidungenWarum wurde eine Entscheidung so getroffen?Welche Alternativen wurden bewertet?Andere Projektbeteiligte werden diese Entscheidungen späterkritisieren!

Page 91: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Prinzipien zur Zerlegung

Unabhängigkeit der ElementeGeringe Abhängigkeiten erhöhen die Wartbarkeit und Flexibilitätdes SystemsKomponenten sollen keine Annahmen über die Struktur andererKomponenten machen

Page 92: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Warum sind wir hier?

Page 93: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Ein PraxisberichtWhy a service oriented architecture is not the holy grail...

Page 94: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Überblick über Architekturmuster

Arten von Architekturmustern?

Page 95: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Chaos zu Struktur / Mud-to-structureVerteilte Systeme

Interaktive SystemeAdaptive Systeme

Domain-spezifische Architektur

Page 96: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Was ist Softwarearchitektur?Geschichte und Trends

Sichten auf ArchitekturenQualiät und andere nichtfunktionale Anforderungen

ArchitekturmusterDokumentation von Architekturen

Technologien und Frameworks

Page 97: Hochschule für angewandte Wissenschaften … - Architekturmuster.pdfArchitektur von Informationssystemen Hochschule für angewandte Wissenschaften Sommersemester 2016 Nils Löwe

Fragen?Unterlagen: ai2016.nils-loewe.de