Architektur

Definition

  • Darstellung der Bestandteile eines Systems
  • Liefert unterschiedliche, aufeinander abgestimmte Sichten auf ein System
  • Bauplan des Systems mit Komponenten und Beziehungen unter allen relevanten Blickwinkeln sowie den dem Bauplan zugrunde liegenden Konstruktionsprinzipien
  • Ziel
    • Erstellung einer gemeinsamen Systemsicht (z.B. Entwickler, Manager, Endbenutzer)
    • Landkarten- und Leuchtturmfunktion

Ausprägungen

  • Anwendungsarchitektur: stark verdichtete Sicht auf die Anordnung von Vorgängen bzw. Prozessen und Anwendungssystemen
  • Informationstechnikarchitektur: umfasst die unterschiedlichen Hardware-Bausteine
  • Sicherheitsarchitektur: Rollenträger und ihre Datenzugriffsberechtigung, Schutz von Teilsystemen

Formen

Häufige Architekturformen:

Schwächen traditioneller Architekturen

  • tiefe, vertikale Integration entlang Unternehmensfunktionen
  • applikatorische Struktur entspricht weitgehend traditionellen Produktlinien (Bsp. VU: Jeder Bestand hat sein eigenes Verwaltungssystem)
  • kein Produkt- oder funktionsübergreifender Zugriff auf Daten und Funktionen (z.B. Kundeninformation unvollständig, ortsabhängig, …)
  • „hardcodierte“ Organisationsaspekte

⇒ Konsequenzen

  • schlechtes Time-to-Market neuer Produkte, hohe Wartungs- und Support-Kosten
  • wachsende Applikationssysteme führen zu Qualitäts- und Effizienzverlusten
  • Zugriff auf bereichsübergreifende Informationen wird erschwert (notwendig für Spartenübergreifende Produkte)
  • Anschlüsse von Drittsystemen verlangen erhebliche Aufwendungen
  • Geschäftsprozesse können nur schwer auf aktuelle Rahmenbedingungen angepasst werden

Client/Server

  • Prinzip der verteilten Verarbeitung
    • Verwaltung der Datenbestände und Ausführung der Programme ist auf mehrere Rechner eines Computernetzes verteilt
    • Schrittweise Ablösung von Großrechnern durch vernetzte PCs → höhere Anforderungen an Koordination und Sicherheit
    • Server, z.B. Daten-, Druck und Anwendungsserver
  • Serverseitige Programmausführung
    • Programmausführung auf Veranlassung des Client
    • CGI ermöglicht den Aufruf von WWW-Seiten aus den Datenbanken
  • Clientseitige Programmausführung
    • Einbettung von Funktionalität in den Client (Browser), z.B. Animation, Plausibilitätsprüfung in Formularen
    • Plug-ins (Flash, ActiveX), Skripte (JS, VB), Applets

Peer-2-Peer

  • Minimale (oder keine) Nutzung dedizierter Server
  • Bsp: Skype, Gnutella, KaZaA
  • Zentrales Verzeichnis - Ursprüngliches Design
    • Peer verbindet sich mit zentralem Server und tauscht Informationen aus - IP Adresse, Angebotene Inhalte
    • Peer stellt Suchanfrage an zentrales Verzeichnis und erhält von dort Antwort, bei welchem anderen Peer es die gewünschten Inhalte findet → dezentrale Dateiübertragung, aber zentrale Suche
    • Problem: Single point of failure
  • Dezentrales Verzeichnis
    • Jeder Peer ist Teil einer Gruppe, oder leitet diese
    • Gruppenleiter kennt alle Inhalte seiner Mitglieder
    • Peers fragen beim Gruppenleiter an. Dieser gibt Suchanfrage ggf. an andere Gruppenleiter weiter
    • Vorteil: Kein zentraler Server → lässt sich schwer „abschalten“
    • Nachteil: Lastverteilung; Bootstrap Knoten - Peer ist entweder Gruppenmitglied oder -leiter
  • Fluten von Anfragen
    • Peers haben alle gleiche Stellung → keine Gruppenleiter
    • Anfragen werden ins Netz geflutet (an alle Nachbarn gesendet)
    • stark dezentraler Ansatz
    • Peers halten keine Verzeichnisinformationen vor
    • Aber: Hohes Datenaufkommen durch fluten

Kontext

Weiterführende Beiträge


Navigation

Alphabetischer Index
Akronyme