Vorlesung 'Architekturen von Web

Download Report

Transcript Vorlesung 'Architekturen von Web

Systemeigenschaften und Architektur
Wiederverwendung
Rolle von Architekten
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 63
Anforderungen an Anwendungen
Anwendungssystem
Funktionale
Anforderungen
Architektur von Web-Anwendungen, LMU, WS-01/02
System
Eigenschaften
Folie 64
Systemeigenschaften
•
•
Performance, Antwortzeit
– Anzahl Transaktionen pro Zeiteinheit
– Reaktionszeit wichtig für Akzeptanz einer Anwendung
– Bei „embedded systems“: häufig harte Bedingung
Verfügbarkeit
– Stillstandszeiten akzeptabel?
– Benutzung bei Web Anwendungen häufig rund um den Globus
• Internet
• Global operierende Unternehmen
•
•
– 24 * 7
Skalierbarkeit
– Last kann sich schnell ändern
– Anzahl der Nutzer im Netz nicht vorher bestimmt
Zuverlässigkeit
– Reine Internet-Auftritte nicht so kritisch
– Wichtig z.B.
• Support für Kunden weltweit
• Die Anwendung ist Teil eines kritischen Geschäftsprozesses
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 65
Systemeigenschaften
•
•
•
•
•
Sicherheit
– Zugriff unberechtigter Personen muss verhindert werden
Verteilung
– Das Netz ist der Computer
Integrität von Transaktionen
– Geschäftsvorfall besteht aus mehreren Einzelaktionen, die zusammen gehören; alle
oder keine; z.B. Reisebuchung
Anpassbarkeit, Erweiterbarkeit
– Nutzeranforderungen, Geschäftsprozesse ändern sich
Potierbarkeit
– System- / Plattformarchitektur ändert sich
Architektur maßgeblich für das
Ereichen von Systemeigenschaften
Abwägung bei Konflikten
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 66
Anforderungs-Konflikte
•
•
Konflikte
– Zwischen funktionalen Anforderungen und Systemeigenschaften
– Zwischen Systemeigenschaften
Beispiele
– Performance  Anpassbarkeit
– Performance  Portierbarkeit
– Make  Buy
• Make
– Spezifische Anforderungen erfüllen
– Performance
• Buy oder Wiederverwendung
– Entwicklungs-Geschwindigkeit (Time to Market)
– Häufig kostengünstiger
– Qualität (Testaufwand, Anzahl Betriebsstunden)
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 67
Wiederverwendung
•
•
•
Größte Steigerung der Produktivität erzielt man durch
Software, die nicht geschrieben werden muss
Wiederverwendung: Thema seit 30 Jahren
Von Ausnahmen abgesehen nicht wirklich erfolgreich
Ausnahmen:
– Bibliotheken (MFC, Swing, ...)
– Datenbanken
– Kommunikationsprotokolle
– Transaktionsmonitore
– Komponenten-Middleware (CORBA, COM, J2EE)
Keine domänenspezifische Komponenten
außer: Komplettpakete wie SAP
Gründe: Wiederverwendung
– Zu spät im Entwicklungsprozess
– Nur auf Code-Niveau
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 68
Anwendungs-Entwicklungsprozess
Planen
Analyse
Spezifikation
Architektur von Web-Anwendungen, LMU, WS-01/02
Entwickeln
Entwurf
Betreiben
Codierung
Integration
QualitätsSicherung
Folie 69
Wiederverwendung auf Code-Niveau
Analyse
Spezifikation
Entwurf
• Chance, dass passender Modul gefunden
wird, sehr gering
• Keine Frage der Klassifikation oder Suche
• Lösung: Wiederverwendung auf höherem
Niveau
oder
• Spezifikation und Entwurf so, dass
vorhandene Module eingesetzt werden
können
• Vorbild: Hardware-Geräteentwicklung
• Extrem-Beispiel: Standard Software wie SAP
Architektur von Web-Anwendungen, LMU, WS-01/02
Codierung
Integration
Suchen
Einbauen
QualitätsSicherung
Klassifizieren
Speichern
Modul
Bibliothek
Folie 70
Frameworks
Framework
Spezialisierung
Anwendung
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 71
Wiederverwendung mit Frameworks
Analyse
Spezifikation
Modell des
Frameworks
Entwurf
Architektur des
Frameworks
Codierung
Integration
QualitätsSicherung
Komponenten
Anpassen
Einbauen
Framework Repository
(Modell & Komponenten)
Framework
Entwickler
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 72
Wiederverwendung von Architektur & Komponenten
Anwendung
Komponenten
Basierte Entwicklung
IndividualEntwicklung
Modell &
Referenz-Architektur
Komponenten
Vom Markt
Architektur von Web-Anwendungen, LMU, WS-01/02
Anpassung von
Standard-SW
Standard-SW
Paket
Komponenten
Bibliothek
Folie 73
Rolle von Referenzarchitekturen und Frameworks
Anwendung 1
Anwendung 2
..
.
Anwendung n
Anwendung 1
Anwendung 2
Anw.2
..
.
..
.
Anwendung n
abgeleitet
Jede Anwendung
hat eigene isolierte
Architektur
Anw.1
Referenz-Architektur
(Blueprint)
Architektur von Web-Anwendungen, LMU, WS-01/02
Anw.n
abgeleitet
Framework
• Anwendungsmodell
• Referenzarchitektur
• Komponenten
Folie 74
Konzepte für die Anwendungsentwicklung
• Frameworktechnik
• Muster für Anwendung
• Vorgefertigte Komponenten /
Design Patterns
• Komponententechnologie
• Produktivität durch Container
und Laufzeitservices
• Design Patterns
• OO Modellierung
• OO Programmierung
• Gener. von Coderahmen
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 75
Software-Architekten
•
•
•
•
•
•
Architektur-Entwurf ist Aufgabe bei Entwicklung
Software-Architekt ist spezielle Rolle im Entwicklungsteam
Hauptaufgabe in der Phase, wenn Architektur entworfen wird
Ist aber während des ganzen Projektes nötig
– Einfluss der Architektur auf andere Tätigkeiten
– Iterative Entwicklung erfordert Anpassung
Abhängig von Projektgröße
– Einzelperson
– Architekturteam
Software-Architekten sind sehr gefragt
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 76
Rolle von Software Architekten - 1
•
•
Definiert eine Vision
– Vertraut mit neuen Technologien
– Versteht die globalen (auch Business) Anforderungen und
Zusammenhänge
– Kommuniziert Zusammenhänge effektiv
Schlüsselperson für technische Beratung
–
–
–
–
–
Review von Spezifikationen
Beurteilt Machbarkeit
Empfiehlt Technologien und Werkzeuge
Verfolgt Qualität von Entwurfs-Entscheidungen
Sichert Integrität des Entwurfs
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 77
Rolle von Software Architekten - 2
•
•
Trifft Entscheidungen
–
–
–
–
Globale Entwurfs-Entscheidungen
Führt Technologieteam in größeren Projekten
Trifft „Make or Buy“ Entscheidungen
Identifiziert Risiken
Coach für Entwickler und Koordinator
– Sorgt für Dialog mit Projekt-Mitarbeitern
– Erklärt Entwurf und Entscheidungen
– Delegiert Verantwortung für Detail-Entwürfe
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 78
Architektur im Software Lebenszyklus
Anwender
Ana-
Marketing
lyse
Spezifikation
Funkt. Anford.
Referenz
Architektur
Framework
Interner Standard
Vorherg. Version
Komponenten
Produkte vom Markt
Untern.-eig. Kompon.
Vorherg. Release
Architektur von Web-Anwendungen, LMU, WS-01/02
IT
Spezifikation
Systemeigensch.
Entwurf
Architektur
Detail
Spezifikation
Anpassung
&
Iterative Entwicklung
(Teil-) Codierung
Integr. Test
QS
Funkt. & Systeme.
Freigabe
Roll-out
Folie 79
Herausforderungen an Architekturen
Beispiele aus der Praxis
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 80
Herausforderungen an Architektur
Existierende IT
„Ererbte“ Architekturen &
Technologien
 „ererbte Systeme“ versus
neue Geschäftsprozesse
 proprietäre SW-Produkte
 „Ererbte“ IT Organisation

Anforderungen
 Evolution der
Datenfluß
Anwendungsarchitektur
Benutzergruppe
Anwendu
ngsfunkti
on
Systemarchitektur
Schic
ht
Komponente
Objekt
Plattformarchitektur
Compu
ter
Architektur von Web-Anwendungen, LMU, WS-01/02
Anwendu
ng
Ressource
Geschäftsprozeß
System
Rechtegruppe
Organisati
onseinheit
Systemmanagement

 Neue
Technologien, z.B.
Internet,
Objektorientierung, ClientServer, Komponententechnologie
 Neue SW und HW
Produkte, z.B.
Middleware,
Browser, DBMS
Anwendung

Sicherheit

Innovationen
Business Architektur
Zugriffsrecht

Geschäftsstrategie
Kundenorientierung der
Geschäftsprozesse
Wettbewerb über
Schnelligkeit - z.B.
neue und
geänderte
Produkte
Fusionierungen,
Erweiterung
Neue
Geschäftsformen,
z.B. E-Commerce
Netzwerk
Folie 81
Risiken für strategische Architekturprojekte
Budget und Termin
 Budget- und Ressour-
Technologie
geforderte
cenverbrauch zu hoch
 Terminüberschreitung
Kunde
 versprochener
Anwendungsarchitektur
Benutzergruppe
Anwendu
ngsfunkti
on
Systemarchitektur
Schic
ht
Komponente
Objekt
Plattformarchitektur
Compu
ter
Architektur von Web-Anwendungen, LMU, WS-01/02
Anwendu
ng
Ressource
Datenfluß
System
Geschäftsprozeß
Systemmanagement
Organisati
onseinheit
Anwendung
Sicherheit
Rechtegruppe
Business Architektur
Zugriffsrecht
Nutzen wird nicht
erzielt - z.B.
Reduktion der
Geschäftstransaktionskosten, höhere
Flexibilität und
Geschwindigkeit bei
Änderungen und
Neuentwicklung
 System kommt zu
spät aus Sicht des
geplanten
Geschäftszieles
Performance wird
nicht erreicht
geforderte
Mengengerüste
werden nicht
beherrscht Datenmengen,
Transaktionslasten
Betriebskosten zu
hoch
Netzwerk
Folie 82
Beispiel 1: Inseln mit funktioneller und
Datenredundanz
Rechnungen
Erstellen I
Auftragsverwaltung I
Rechnungen
Erstellen II
Rechnungen
Erstellen III
Finanzen
Verwalten
Kundendienst I
Tuxedo
Interfaces
AuftragsverwaltungI I
Dokumentenver
waltung
Basierend
auf untersch.
Produkten
Kundendienst II
Kundendienst III
Architektur von Web-Anwendungen, LMU, WS-01/02
Kunden Prüfen
Folie 83
Beispiel 1: Vision „Komponentenarchitektur“
Web
Vertrieb
Marketing
Auftragsverwaltung
Prozesse (Workflow)
KundenView
Layer
...
verwaltung
Business Layer
Geschäftslogik
Vertriebskomponente
Auftragskomponente
Rechnungskomponente
Zugriffsschicht
Zugriffsschicht
Zugriffsschicht
Zugriffsschicht
P rospects
D atabase
M ediation
D evice
Accounts
D atabase
C ustom er
D atabase
Architektur von Web-Anwendungen, LMU, WS-01/02
KundenKomponente
...
Zugriffsschicht
Systemsmanagement
Sicherheit
Partner
Vertrieb
Data Layer
...
Folie 84
Beispiel 1: Realität - Mix aus Systemarchitekturen
Partner
Vertrieb
Web
Vertrieb
Kundenverwaltung
Vertriebssystem
Auftragsverwaltung
RechnungsView Layer ...
system
Auftragssystem
Rechnungssystem
Kunde Auftrag
S a lC u s
Vertrag
D a ta b a s e
Client
Server
Kunde Auftrag
Rechnung
Daten Integration & Transaktionsmanagement
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 85
Beispiel 2: Geschäftsprozesse
Kundensystem
Beratung
Management
InformationSystem
Unternehmens-
Steuerung
BuchhaltungsBuchhaltung
system
Verkauf und
Zahlung
ZahlungsAbwicklung
Architektur von Web-Anwendungen, LMU, WS-01/02
BuchungAuftragssystem
Verkauf und
TicketZahlung
Erstellung
VerkaufsAbwicklung
Kunden- und
Auftragssystem
Folie 86
Beispiel 2 : Die Infrastruktur
35.000 Clients
“Ererbte” Mainframes
Windows
Client
MF A
MF B
MF C
MF D
WAN
Gateway
HochgeschwindigkeitsNetzwerk
Externe
Dienstleister
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 87
Beispiel 2 : „Ererbte“ Mainframe-Anwendungen
Schichten
Architektur
Funktionale Architektur
Management Infosystem
Buchhaltungssytem
Eigenveranstaltung
Quality Assurance
Travel Assistant
Optionale Module
Info- und Mailsystem
Kassenbericht
Verkaufs-und
Zahlungssystem
Auftragssystem
Kundensystem
Carrier Integration
Basismodule
“Windows Like”
Benutzeroberfläche
Bildschirmtransaktionen
Geschäftsregeln
Abstrakte
Datenschicht
Datenzugriffsschicht
Proprietäres
File System
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 88
Beispiel 2 : Lösungsszenarien
•
Alternative 1: Client-Server Neuentwicklung

–
–
–
Anspruch: Neue skalierbare, zukunftssichere Lösung
UNIX Server + Windows Clients
Objektorientierte 3-Stufen-Architektur mit „dünnem“ Client
Nachrichtenorientierte Kommunikation + Online Transaktionsmonitor
•
Alternative 2: „Host Evolution + Windows Oberfläche“
•
Alternative 3: „Client-Server + Mainframe Koexistenz“
 Anspruch: Modernisieren statt neu
– Schrittweises Ersetzen der proprietären Datenhaltung durch Oracle auf
Mainframe
– Klare Schichtenarchitektur
– Entwicklung eines „fetten“ Windows Client mit GUI Rahmen + Integration
mit „ererbten“ zeichenorientierten Oberflächenteilen
– Nachrichtenorientierte Kommunikation + Online Transaktionsmonitor

–
–
–
–
Anspruch: Modernisieren bei mehrjähriger Koexistenz
Ersetzen der proprietären Datenhaltung durch Oracle auf UNIX Server
Objektorientierte 3- Stufen-Architektur mit „dünnem“ Client
Nachrichtenorientierte Kommunikation + Online Transaktionsmonitor
Zugriff der Mainframe Komponenten auf den UNIX Datenserver
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 89
Verwalten
Kunden
Verwalten
Aufträge
Verkauf und
Zahlung
MIS
...
Komponente Nachricht
Komponente Geschäftsprozess & Workflow
Komponente
Komponente Komponente
Komponente
Verkauf &
Auftrag
Kunde
MIS
Zahlung
...
Komponente Nachricht
Komponente Objekt-RDBMS-Abbildung
Oracle
Kunde
Auftrag . . . Vertrag
Architektur von Web-Anwendungen, LMU, WS-01/02
Rechnung
Komponente Systemmanagement
Komponente Sicherheit & Datenschutz
Client-Server Neuentwicklung
Windows
UNIX
UNIX
Folie 90
...
Verwalten
Kunden
Verwalten
Aufträge
Verkauf &
Zahlung
MIS
...
Komponente Geschäftsprozeß & Workflow
Komponente
Nachricht
Komponente
Auftrag
Komponente
Kunde
ObjektAPI für
„ererbte“ RDBMSVerfahren Abbildung
Oracle
. . . Rechnung
Kunde
AuftragVertrag
Architektur von Web-Anwendungen, LMU, WS-01/02
Komponente
Verk. &
Zahlung
Komponente
MIS
...
Abstrakte &
Datenzugriffsschicht
File System
. . . Rechnung
Kunde
AuftragVertrag
Komponente Systemmanagement
Komponente Sicherheit & Datenschutz
Mainframe Evolution + Windows Oberfläche
Windows
Mainframe
Folie 91
MIS
...
Komponente Geschäftsprozeß & Workflow
Komponente Nachricht
Komponente KompoVerk. & nente ...
Zahl.
Komponente
MIS
Abstrakte &
Datenzugriffsschicht
File System
Komponente
Kunde
Auftrag
API für
„ererbte“
Verfahren
. . .
Kunde
Rechnung
AuftragVertrag
...
Mainframe
Architektur von Web-Anwendungen, LMU, WS-01/02
Objekt-RDBMSAbbildung
Oracle
. . .
Kunde
Rechnung
Auftrag Vertrag
Windows
Verkauf und
Zahlung
UNIX
Verwalten
Aufträge
Komponente Systemmanagement
Verwalten
Kunden
Komponente
Nachricht
Datenschutz
&&
Komponente
Sicherheit
Datenschutz
Komponente
Sicherheit
Client-Server + Host Koexistenz
Folie 92
Kontra
Pro
Bewertung der Lösungsszenarien
Client-Server
Neuentwicklung
„Host Evolution +
Windows Oberfläche“
• Gute Skalierbarkeit
• Zukunftssichere
Technologie
• Zuverlässige und
vertraute Technologie
• Zuverlässiger Betrieb
• Stabiler
Migrationsweg
• Zukunftssicherheit
bei geringem Risiko
durch Strategie der
„kleinen Migrationsschritte“
• Extrem hohe Kosten
• Extrem lange
Lieferzeit
• „Neue Lösung neue
Fehler“
• Totale Änderung des
Betriebes
• „Konservieren“ des
Mainframe „für
immer“
• Hohe Hardwarekosten und
langfristige
Abhängigkeit
• Hohe
Entwicklungskosten
für Koexistenz
• Hohe Hardwarekosten
durch Koexistenz
Architektur von Web-Anwendungen, LMU, WS-01/02
„Client-Server +
Mainframe Koexistenz“
Folie 93
Beispiel 2 : Die neue Infrastruktur
“Ererbte” Mainframes
Windows
Client
Host A
Host B
Host C
Host D
WAN
HochgeschwindigkeitsNetzwerk
Gateway
Externe
Dienstleister
Server
1
Server
2
Server
3
Server
n
UNIX Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 94
Beispiel 2 : Die neue Infrastruktur
E re rb te
M a in se rv e r
U N IX
S e rv e r
W o rk sta tio n s
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 95
Herausforderungen: Zusammenfassung 1
•
Kooperation von Systemen mit inhomogenen Plattformen
– “Legacy”, z.B. IBM oder BS 2000 (Siemens) Mainframes
– Client-Server-Architekturen
•
• UNIX
• Windows
State of the Art Technology unterstützen
– Objekttechnologie, z.B. OO Analyse & Design, OO Sprachen wie C++, Java
– Komponententechnologie, z.B. EJB, COM oder CORBA basierte
Komponentensysteme
– Internet, Intranet bzw. Web Technologien
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 96
Herausforderungen: Zusammenfassung 2
•
Verbindende Standards - für Interoperabilität trotz Heterogenität
– Bei unterschiedlicher Formen verteilter Datenorganisation
•
•
•
•
VSAM und IMS
relationale DBMS, z.B. DB2, Oracle, Informix, Sybase
Object DBMS, z.B. Objectivity, Objectstore
Content / Wissens-Repositories
– Bei unterschiedlichen Programmierschnittstellen für das Bereitstellen von
Services
• Application Programming Interfaces, z.B. in C
• Objektorientierte Schnittstellen, z.B. in C++, Java
• Komponenten Architekturen: EJB, .NET
– Bei unterschiedlicher Form der Ressourcenverteilung im Netzwerk
– Bei unterschiedlicher Form der Zugriffskontrolle durch die Systeme
– Bei unterschiedlichem “Look and Feel” der Benutzeroberflächen
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 97
Kommunikation zwischen
Anwendungskomponenten
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 98
Kommunikations-Dienste
Dienste für die Kommunikation zwischen verteilten Anwendungen und
Komponenten
Kommunikationsparadigmen
–
–
–
–
–
–
Conversational Modell - nach dem CPI-C Standard
Remote Procedure Call Modell - RPC nach OSF/DCE
CORBA – Common Object Request Broker Architecture (OSF)
RMI, IIOP, SOAP
Nachrichtenorientiertes Paradigma - Messaging and Queuing Model
Web-Protokoll HTTP
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 99
Conversational Modell – CPI-C
Synchrone 1:1 Kommunikation nach dem CPI-C Standard
CPI-C: Common Programming Interface for Communications
Computer “I”
Computer “II”
Nachricht
Prozess
A
Prozess
B
Nachricht
Process
Status
B führt
Auftrag von A aus
... CPI-C Stub
Message = (Tag, Length, Value)
B
A
A sendet Nachricht
an B
A wartet B sendet Nachricht
auf B
an A
Architektur von Web-Anwendungen, LMU, WS-01/02
Zeit
Folie 100
Conversational Modell – CPI-C
•
•
•
Plattformunabhängiger Standard für APPC
APPC: Advanced Program to Program Communication
CPI-C Funktionen:
Aufruf: CALL routine_name (parameter*, return_code)
Wichtigste Routinen:
CMINIT
CMACCP
CMALLC
CMSEND
CMRCV
CMDEAL
Initialize Conversation
Accept Conversation
Allocate
Send Data
Receive Data
Deallocate
Beispiel
CMSEND (conversation_id,
/* Input */
buffer
/* Input */
send_length
/* Input */
&Request_to_send_received, /* Output */
&return_code);
/* Output */
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 101
Remote Procedure Call
Synchrone n:1 Kommunikation nach dem RPC Standard
Client Stub
Server Skeleton
Call
Argumente
Computer “Z”
Computer “X”
Client A
Prozess
Server
Prozess
Computer “Y”
Client B
Prozess
Process
Status
Server
Client B
Reply Resultat
Server führt Auftrag
von A aus
Server führt Auftrag
von B aus
Call
Reply
Reply
Call
Zeit
Client A
Client A
ruft Server auf
A wartet auf
Antwort
Architektur von Web-Anwendungen, LMU, WS-01/02
Client B
ruft Server auf
B wartet auf
Antwort
Folie 102
CORBA
CORBA: Common Object Request Broker Architecture
Aufgabe
Nutzer
(Client)
Anbieter
(Server)
Client und Server sollen verteilt sein
Lösung
Nutzer
(Client)
Client Stub
Interface
Generiert aus
Interface
beschrieben in IDL
Interface
Definition
Language
Anbieter
(Server)
Server Skeleton
Object Request Broker(ORB; Software Bus)
Client und Server können
• in beliebigen
• auch unterschiedlichen
Sprachen geschrieben sein
Architektur von Web-Anwendungen, LMU, WS-01/02
CORBA/IDL sorgt für Mapping
der Interfaces
Folie 103
RMI, IIOP, SOAP
•
•
•
Remote Method Invocation (RMI)
RPC Variante für Java
IIOP
Internet Inter ORB Protocol
Heute auch benutzt als Basis für RMI im Web
SOAP
Simple Object Access Protocol
XML basiertes Protokoll
– RPC
– Messages
zwischen unterschiedlichen Plattformen
– Java basiert
– Microsoft.NET
Themen werden später noch behandelt
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 104
„Messaging and Queuing“ Modell
Asynchrone n:m Nachrichtenkommunikation über Warteschlangen
Queue Computer
Computer “A”
Client A
Prozess
Computer “B”
Client B
Prozess
Computer “X”
Queue 1
Server X
Prozess
Queue 2
Computer “Y”
Queue 3
Server Y
Prozess
... Nachrichten Stub
Nachricht
... persistente
Warteschlange
Message = (Tag, Length, Value)
Server Y
Server X
Client B
Client A
X(A)Y
X(B)Y
BX
AX
Y(A)X
Y(B)X
X(B)B
X(A)A
Architektur von Web-Anwendungen, LMU, WS-01/02
Zeit
Folie 105
HTTP – Internet Protokoll
•
•
HTTP: HyperText Transfer Protocol
Generisches (für beliebige Daten), zustandsfreies Protokoll
Computer “X”
Web
Client A
Computer “Z”
HTTP request
In-Pipe
HTTP response
Out-Pipe
Computer “Y”
Web
Client B
Web
HTML
Pages
... HTTP stub
Pipe
Architektur von Web-Anwendungen, LMU, WS-01/02
Web Server
.. HTTP pipe
Folie 106
HTTP – Internet Protokoll
•
•
•
1990 in Verbindung mit WWW am CERN (Genf) definiert
Gegenwärtige Version 1.1; Performanceverb. gegenüber 1.0
HTTP request:
request_method request_URL header body
– Request Methods HTTP 1.1):
•
•
•
•
•
•
•
•
GET
HEAD
POST
PUT
DELETE
OPTIONS
TRACE
HTTP response:
retrieves the resource identified by the request URL
returns the header identified by the request URL
sends data to the Web server
stores a resource under the request URL
removes the resource identified by the request URL
returns the HTTP methods the server supports
returns the header fields sent with the TRACE request
HTTP 1.0
result_code header body
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 107
Schichten und Stufen von Web Anwendungen
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 108
Schichten einer Anwendung
1970
1985
User Interface
AnwendungsLogik
TP Monitor
User Interface
Ablaufsteuerung
AnwendungsLogik
DB Interface
Datenhaltung
Architektur von Web-Anwendungen, LMU, WS-01/02
Datenbank
Folie 109
Schichten und Stufen von Architekturen
•
•
Schichten (Layer)
– Logische Einheiten, die bestimmte Aufgaben für eine Anwendung erfüllen
– Ursprüngliche Sicht: Schichten liegen übereinander
– Realistische Sicht: Teilsysteme, die miteinander kommunizieren
Stufen (Tiers)
– Instanzen einer Anwendung
– Zuordnung Schichten zu Stufen nicht 1:1
– Im Web Umfeld typisch: n-tier Architekturen
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 110
Schichten und Stufen von Architekturen
Stufen
AnwendungsSchichten
User Interface
Mainframe
Client / Server
Terminal
Client
Client
( PC )
Ablaufsteuerung
( PC )
AnwendungsLogik
DB Interface
( PC )
Mainframe
Server
Server
Datenbank
Architektur von Web-Anwendungen, LMU, WS-01/02
Client
Server
„Fette“ Clients
Folie 111
Schichten und Stufen von Architekturen
Stufen
AnwendungsSchichten
User Interface
Web
Browser
Browser
Ablaufsteuerung
Web Server
AnwendungsLogik
Web
DB Interface
Server
Datenbank
Architektur von Web-Anwendungen, LMU, WS-01/02
..
.
Xxx Server
Folie 112
Übergang von C/S zu WEB
•
Clients (thin)
–
–
–
–
•
•
Keine Anwendungslogik auf dem Client
Verarbeitung nur für Benuter-Schnittstelle
Laden des Codes über das Netz
Vorteile:
• Keine Installation und Updates auf den (vielen) Clients
• Einfachere Verwaltung
• Sicherheit (Keine Wechsel-Laufwerke auf Clients)
Java als plattform-unabhängige Sprache
– Interpreter-Konzept
– Vorteil: Portabilität der Anwendungen
Industrie Standards als Plattformtechnologien
–
–
–
–
Internet, Web
J2EE, .NET
XML
Web Services
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 113
2-Stufen Architektur
Clienseitig:
• User Interface
• Ablaufsteuerung über Applets
HTML
Applet
Andere Datenformate
Web Browser
Plugins
HTTP
Web Server
Daten
JSP
Architektur von Web-Anwendungen, LMU, WS-01/02
Servlets
Serverseitig:
• User Interface
• Ablaufsteuerung
Folie 114
Beispiel: Publizieren von Informationen
•
•
Unterscheidung
– Informationsbereitstellung: Autoren
– Publizierung
Autoren
– Arbeiten traditionell in typischen C/S Umgebungen
– Neuere Anforderungen: Arbeit auch über das Web
– Benutzen
•
• Office Werkzeuge
• Spezielle Anwendungen (Web Editoren, z.B. FrontPage von MS)
Publizierung
– Statische Web-Seiten
• HTML
– Dynamisches Publizieren
•
• Dynamischer Aufbau von Web-Seiten aus Daten von unterschiedlichen Quellen
(auch DMBS)
• JSP (Java), ASP (VB)
Anwendungen: Internet Auftritte, Intranet
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 115
Publizieren von Informationen
Web Browser
HTML
HTML
HTTP
Autoren
Arbeitsplatz
Windows / Web Browser
LAN
JSP
JSP File
HTTP
Architektur von Web-Anwendungen, LMU, WS-01/02
Daten
Web Server
Folie 116
Publizierung von Informationen mit Update
•
•
•
Autorenarbeitsplatz wie bei Variante ohne Update
Update
– HTML mit JavaScript
– Applet
Typische Anwendungen
– Intranet mit Korrekturmöglichkeiten (z.B. Telefon-Nr.)
– Einfache Business-Anwendungen (z.B. Kreditkalkulation)
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 117
Publizieren von Informationen mit Update
Web Browser
HTML
Applet
HTML
HTTP
JSP
JSP File
Daten
Web Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 118
3-Stufen Architektur mit DB-Server
HTML
Applet
Andere Datenformate
Plugins
Web Browser
HTTP
Web Server
JSP
Servlets
Daten
Java (Anw.-Funkt.)
LAN
DB-Server
DBMS
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 119
Beispiel: Wissensmanagement
•
•
Wissensmanagement
– Kein klar umrissene Anwendung
– Vielfältige Ansätze
Wissensmanagement hier:
– Wissensakquisition
– Wissensadministration
– Wissenspublikation
•
•
• Verteilen
• Abholen
Wissensmanagement ist Management von Beziehungen
– Wissensrepository
Beispiel: Skillmanagement
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 120
Was ist Wissen
Wissen
Verknüpfung
Kontext
Information
Interpretation
Daten
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 121
Wissensakquisition
Erfassen
Analysieren
Aufbereiten
Wissensrepository
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 122
Publikation von Wissen
Intranet / Extranet
Suche
Navigation
Gezielt
Informieren
Wissensrepository
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 123
Wissensmanagement
Web Browser
HTML
Applet
HTTP
Web Server
JSP
Daten
Servlets
Java (Anw.-Funkt.)
Wissensrepository
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 124
3-Stufen Architektur mit Mainframe
HTML
Applet
Andere Datenformate
Plugins
Web Browser
HTTP
Web Server
JSP
Daten
Servlets
Java (Anw.-Funkt.)
LAN, proprietäre Protokolle
Mainframe
Alt-Anwendung
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 125
Beispiel
•
•
•
Web-ifizierung von Mainframeanwendungen
Häufige Situation bei Mainframeanwendungen
–
–
–
–
–
Große Anwendungs-Systeme
Hoher Entwicklungsaufwand
Mission-critical Anwendungen
User Interface altbacken und unkomfortabel
Verteilung über proprietäres Netzwerk
Vorteile einer Web-ifizierung
– Modernes User Interface
– Benutzung Standard Netzwerk (TCP/IP, HTTP)
– Keine Neuentwicklung
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 126
4-Stufen Architekt. mit Application und DB-Server
HTML
Applet
Andere Datenformate
Plugins
Web Browser
Web Server
JSP
Daten
Servlets
Java (Anw.-Funkt.)
ApplicationServer
Enterprise JavaBeans
DB-Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 127
Beispiel ECOM (ohne Anbindung Fremdsyst.)
DMZ
Ultra
Thin
Client
http
http-Dispatcher 1
(Access LAN)
http-Dispatcher 2
hot-stand-by Dispatcher-Cluster
http
Webserver 2
NetscapeEnterpriseServer
mit BEA WLS Plugin
eCOM Infrastruktur 2
BEA WebLogicServer
eCOM Infrastruktur 1
BEA WebLogicServer
SecondaryServer für Webserver 1*
SecondaryServer für Webserver 2*
PrimaryServer für Webserver 1*
Fileserver
http
http
Internet /
Extranet
Webserver 1
NetscapeEnterpriseServer
mit BEA WLS Plugin
eCOM Infrastruktur 3
BEA WebLogicServer
PrimaryServer für Webserver 2*
Logisches WLS-Cluster
*wird dynamisch pro User zugeordnet
Fileserver
dbserv X
Intranet
(Corporate Network)
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 128
5-Stufen Architektur mit Alt-Anwendungen
DB
Web Client
Application-Server
DB-Server
Architektur von Web-Anwendungen, LMU, WS-01/02
ERPS
Alt-Anwendung
Mainframe
Web Server
Folie 129
Beispiel ECOM
•
•
•
•
8 Module + Car Configurator
Portale der Landesgesellschaften und Händler integriert (TopDrive mit Clarify)
Integration von Finanzdienstleistungen
Automatische Integration von Anwendungen zur Datenbeschaff. (PCASO, HST, …)
HST
TopDrive
(Clarify)
eCOM Data
PCASO
Car Data
Ascertain
Session User
Used Car
Price Indicator
Request for
Information
Test Drive
Appointment
Request for
Offer
Dealer
Locator
Service
Appointment
Vehicle Configurator
Vehicle
Selector
Used Car
Management
SF
Integration
t.b.defined
Support
Support
Support
Support
Modules
Modules
Modules
Modules
Customer Interface
Subsidiary
Portal
Dealer
Portal
(Clarify)
(Clarify)
Dealer Data
Architektur von Web-Anwendungen, LMU, WS-01/02
Customer
Data
Folie 130
Client mit LAN Zugriff auf Server
Web Client
DB
Firewall
HTTP
LAN
Application-Server
DB-Server
Architektur von Web-Anwendungen, LMU, WS-01/02
ERPS
Alt-Anwendung
Mainframe
Web Server
Folie 131
Web & Application Server
DB-Server
Architektur von Web-Anwendungen, LMU, WS-01/02
ERPS
Produkte vom Markt (BEA, IBM, …)
kombinieren in der Regel beides
Alt-Anwendung
Web &
Application Server
Mainframe
DB
Web Client
Folie 132
Physische Stufen-Architektur
Web-Client mit Web-Browser
Client
HTTP
Server
...
LAN
Web-Server
Application Server
DB-Server
Server
LAN oder proprietäre Protokolle
Mainframe
Architektur von Web-Anwendungen, LMU, WS-01/02
Alt-Anwendungen (Legacy Systems)
Folie 133
Abbildung logische/physische Stufenarchitektur
•
•
Logische und physische Stufenarchitektur nicht unbedingt identisch
Gegebene Zuordnung
– Web Client Client
Client
•
•
•
•
•
•
Traditionell: PC
Web PC, Network Computer
PDA
Mobiles Telefon
Spezialgeräte
– Altanwendung  häufig Mainframe
Abbildung im Serverbereich vielfältig
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 134
Abbildung logische/physische Stufenarchitektur
Client
Server
Web-Server
Server
Application-Server
Server
DB-Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 135
Abbildung logische/physische Stufenarchitektur
Client
Web-Server
Server
Application-Server
DB-Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 136
Abbildung logische/physische Stufenarchitektur
Client
Server
Web-Server
Server
Server
Server
Application-Server
Server
Server
Server
DB-Server
Siehe auch: ECOM Beispiel (Folien 55 & 56)
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 137
Abbildung logische/physische Stufenarchitektur
Client
Server
Server
Server
Server
Server
Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Web & Application Server
DB-Server
Folie 138
Abbildung logische/physische Stufenarchitektur
•
•
Kombination der gezeigten Abbildungen möglich
Kriterien für Kombination unterschiedlicher Funktionen auf einem
Server oder Verwendung mehrerer Instanzen für eine Funktion
–
–
–
–
–
–
Komplexität der Anwendung
Anzahl Benutzer
Antwortzeitverhalten
Klarheit der Anwendungsstruktur
Kombination mit anderen Anwendungen
Lastverteilung
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 139
Entwicklungsstadien (Nutzungsarten) des Web
Plattform für
• E-Business
• Unternehmens-kritische Anwendungen
• Alle Anwendungskonzepte
Informationsmedium mit
Updatemöglichkeit
• Dynamische Webseiten
• Client-seitige Komponenten
• Datenbankzugriff
Informationsmedium
• Statische Webseiten
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 140
Referenzarchitektur
HTTP
Benutzer-Schnittstellen
Komponenten
Business
Komponenten
Datenbank-Zugriffe
Verzeichnis
Schnittstellen
Portal Server
Firewall
Integrations
Services
Transaktions-Management
Prozess-Management
Content Management
Messaging Services
Sicherheit
LAN
Verzeichnis
Services
Geschäfts
Partner
ERP Systeme
Alt-Anwend.
Datenbanken
Datenbanken
Architektur von Web-Anwendungen, LMU, WS-01/02
Folie 141