Inhaltsverzeichnis
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:
- Mainframe
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