Architektur von Web-Anwendungen, LMU, WS-01/02
Architekturen von Web-AnwendungenArchitekturen von Web-Anwendungen
Vorlesung an der LMU MünchenWinter-Semester 2001/02
Dr. Günter Merbeth
Architektur von Web-Anwendungen, LMU, WS-01/02
Zur VorlesungZur Vorlesung
• Konzepte und Anwendungsbeispiele• Keine Programmbeispiele• Zwei Hauptplattformen
– Java & J2EE– Microsoft.NET
• In Vorlesung– Bei Einführung von Konzepten: J2EE– Microsoft zur Ergänzung / Vergleich
Architektur von Web-Anwendungen, LMU, WS-01/02
VoraussetzungenVoraussetzungen
• Programmieren (Java)• Grundkenntnisse Internet• Grundkenntnisse Software Entwicklung• Grundkenntnisse Datenbanken
Architektur von Web-Anwendungen, LMU, WS-01/02
(Vorläufiger) Plan(Vorläufiger) Plan
• Einführung, Begriffe• Klassische Architekturen• Beispiel ECOM: Verkaufsanbahnung bei BMW• E-Business, Architekturen & Architekten im Entwicklungsprozess• Herausforderungen und Beispiele• Schichten und Stufen von Web Anwendungen• Referenzarchitektur für Web basierte unternehmenskr. Anwendungen• Beispiel: Unternehmensportal bei Softlab • Rolle von Java und XML• HTML und Applets• JSP und Servlets• Application Server, J2EE, Beispiel• Portal Server, Prozess Management• Content Management• Anwendungsintegration (EAI, JCA, Web Services)• Microsoft.NET• Vergleich J2EE und .NET
Architektur von Web-Anwendungen, LMU, WS-01/02
Begriffe: AnwendungenBegriffe: Anwendungen
Architekturen von Web-Architekturen von Web-AnwendungenAnwendungen
• Software-Systeme• Unterstützen Menschen bei Tätigkeiten
z.B. - Bearbeiten eines Schadens bei Versicherung
• Automatisiert Abläufez.B.- Ausführung einer Überweisung- Steuert die Bremsen in einem Auto (ABS)- Führt ein Waschprogramm durch
Architektur von Web-Anwendungen, LMU, WS-01/02
Klassifizierung von AnwendungssystemenKlassifizierung von Anwendungssystemen
• Informationssysteme– Dienstleistung
Beispiel: Finanzdienstleistungen sind i.W. Informationsverarbeitung– Verwaltung– Unternehmenssteuerung– ...
• Eingebettete Systeme– Kommunikationsgeräte– Haushaltgeräte– Fahrzeuge
Auto: Computer mit 4 Rädern– ...
• Eingebettete Systeme und Informationssysteme wachsen zusammen
– Fahrerinformation und Fahrzeugsteuerung– Anschluss Alarmanlage ans Internet
Architektur von Web-Anwendungen, LMU, WS-01/02
Systembasis für AnwendungssystemeSystembasis für Anwendungssysteme
• Software-Systeme benötigen zum operativen Betrieb– Hardware-Basis– System-Software-Basis
• Basis und Entwicklungswerkzeuge unterschiedlich bei– Informationssystemen– Eingebetteten Systemen
• Schwerpunkt in Vorlesung: Informationssysteme• Informationssysteme längere Historie als eingebettete Systeme
Architektur von Web-Anwendungen, LMU, WS-01/02
Entwicklungs-Epochen bei InformationssystemenEntwicklungs-Epochen bei Informationssystemen
Architektur von Web-Anwendungen, LMU, WS-01/02
Epochen bei IS: MainframeEpochen bei IS: Mainframe
SNA (IBM), TRANSDATA (Siemens)Mainframe
„Dumme“Terminals
Terminal-Anbindung
Bildschirm-MaskenAnwendungslogik
Daten
Architektur von Web-Anwendungen, LMU, WS-01/02
Mainframe EpocheMainframe Epoche
• Hardware, Betriebssysteme– Mainframes: IBM, Siemens,
ICL, Fujitsu, ...– Minicomputer: DEC, …
• Datenmanagement– Dateisysteme– Hierarchische DBMS– Netzwerk-DBMS– RDBMS
• Middleware– TP Monitore
• Kommunikation– Proprietär: SNA, ...
• Entwicklung– Editoren– Sprachen (Compiler)
COBOL, PL/1, Assembler, (FORTRAN)
– Generatoren für Masken und Code
– Dictionaries– Projektbibliotheken
Architektur von Web-Anwendungen, LMU, WS-01/02
Epochen bei IS: Client/ServerEpochen bei IS: Client/Server
SNA
Mainframe
Mainframe
Dezentralisierung
GUI (Anwendungslogik) AltsystemeAnwendungslogik Daten Daten
TCP/IP
Application Server
DB Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Client/Server EpocheClient/Server Epoche
• Hardware,Betriebssysteme– Client
• PC mit DOS, Windows, (OS/2)• Unix
– Server: Unix, NT, Novell (OS/2)– Mainframes: IBM mit MVS
Bedeutung anderer Hersteller nimmt ab
• Datenmanagement– Filesysteme– Relationale DBMS
• Middleware– RPC– DCE– TP Monitore– (CORBA)
• Kommunikation– TCP/IP
• Entwicklung– CASE (Computer Added Software
Engineering)– Repositories– Projekt- und Konfigurations-
management– Sprachen (Compiler, Debugger)
• COBOL• C, C++, (Smalltalk)• VB• 4GL
Architektur von Web-Anwendungen, LMU, WS-01/02
Epochen bei IS: Netzwerk (Internet / Web)Epochen bei IS: Netzwerk (Internet / Web)
TCP/IP
SNA
Mainframe
Mainframe
Web Server
Internet/Internet/Intranet/Intranet/ExtranetExtranet
Application Server
Mainframe
TCP/IP
HTTP
DB Server
DB Server
Application Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Netzwerk EpocheNetzwerk Epoche
• Hardware,Betriebssysteme„The network is the computer“– PC: Windows – NC (Thin Client)– Server: Unix, NT
• Datenmanagement– Filesysteme– Relationale DBMS– ODBMS– (Wissens/Content) Repositories
• Middleware– Distributed TP Monitore– CORBA– J2EE, (EJB, Servlets, RMI)– COM/DCOM– SOAP (Web Services)
• Entwicklung– Repositories mit Projekt- und
Konfigurationsmanagement– Sprachen
• IDE: Integrated Development Environmentsz.B. Visual Studio, Visual Age
• C++• Java• C#• VB
Architektur von Web-Anwendungen, LMU, WS-01/02
Eigenschaft der drei GenerationenEigenschaft der drei Generationen
• Sehr gute Tools• Komplexe Architektur
(Viele logische Komponenten)
• Netzwerk
• Thin Clients• Re-Zentralisierung• Management auf
weniger Instanzen beschränkt
• Browser basiert• Gute Kombination der
Stärken von C/S und Mainframe- GUI- blockorient. Verbind.
Web
• Sehr gute Tools• Architektur schon
komplexer• EU gleich PU
• Fette Clients, Sicherh.• Verteilung der Anw. auf
Client und Server• Probleme mit großer
Anzahl Clients bei Install. und Update
• Komfortable graphische Oberfläche
• Benutung komplexer• Direkte Verbindung
zwischen Client und Server RPC)
Client / Server
• Schwache Toolunterstützung
• Einfache Architektur(DB und TP Monitor)
• EU ungleich PU
• Zentral• Einfache Kontrolle und
Verwaltung• Einfache Installation
und Update
• Einfach, dumme Terminals
• Primitive Oberfläche• Verbindung zwischen
Terminal und Rechner blockorientiert
Mainframe
EntwicklungManagementBenutzung
Architektur von Web-Anwendungen, LMU, WS-01/02
Begriffe: Web-AnwendungenBegriffe: Web-Anwendungen
Architekturen von Architekturen von Web-AnwendungenWeb-Anwendungen
• Basierend auf Internet-Techniken• Nutzung der Techniken des World Wide Web
- HTTP (Protokoll)- HTML (Datenformat)- URL (Adressierung)- ... (Behandlung im Laufe der Vorlesung)
• Anwendungsbereiche- Internetauftritte- Intranetanwendungen- E-Business Anwendungen- M-Business Anwendungen
• Abgrenzung: Nicht Embedded Systems
Architektur von Web-Anwendungen, LMU, WS-01/02
E-BusinessE-Business
• Web basierte AnwendungenDrei wichtige Klassen
• Business to Consumer (B2C), Internet– Einkauf über das Web (z.B. Amazon, Computer Shops)– Homebanking (z.B. T-Online)– Elektronischer Kundendienst
• Business to Business (B2B), Extranet– Anbindung von Lieferanten– Integration externer Vertriebskanäle (Händler, VAR, OEM)– Integration von Dienstleistern (Discount Broker mit Transaktionsbank)
• Business to Employee (B2E), Intranet– Informationsplattform für Mitarbeiter (z.B. Telefonliste)– Unterstützung für interne Prozesse (z.B. Reiskostenabrechnung)– Qualitätsmanagement– Skill Management– Wissensmanagement (z.B. Methoden, Erfahrungen)
Architektur von Web-Anwendungen, LMU, WS-01/02
E-Business BeteiligteE-Business Beteiligte
Lieferanten
Auftrag-nehmer
Mitarbeiter
Unter-nehmen
alsKunden
Endkunden
Geschäftsprozesse
von
Unternehmen
Architektur von Web-Anwendungen, LMU, WS-01/02
KundenCustomerRelationshipManagement
E-Business ThemenE-Business Themen
E – B u s i n e s s
SupplyChain
Management
B2B
Lieferanten
KernGeschäftsProzesse
B2B & B2E B2B & B2C
Unternehmen
Architektur von Web-Anwendungen, LMU, WS-01/02
Inter-/Intranet-AnwendungenInter-/Intranet-Anwendungen
• Customer Relationship Management (CRM)– Abwicklung Kundenbeziehung über Internet (B2C, B2B)– Marketing– Verkaufsunterstützung– E-Commerce– Helpdesks
• Supply Chain Management– Abwicklung der Beziehungen mit Lieferanten (B2B)– Zulieferketten– Einkaufssysteme (E-Procurement)
Architektur von Web-Anwendungen, LMU, WS-01/02
Begriffe: ArchitekturenBegriffe: Architekturen
ArchitekturenArchitekturen von Web-Anwendungen von Web-Anwendungen
• IT-Architekturen sind Baupläne (wie im Bauwesen)- Konzepte- Modelle- Richtlinien und Standards
• Definieren Umsetzung der Anforderungen in Komponenten, Teilsysteme, Beziehungen
• Reduzieren Komplexität• Ermöglichen Wiederverwendung
Architektur von Web-Anwendungen, LMU, WS-01/02
Architekturaspekte: ein EbenenansatzArchitekturaspekte: ein Ebenenansatz
Business Architektur
Anwendungsarchitektur
Systemarchitektur
Plattformarchitektur
GeschäftsprozeßGeschäftsprozeß DatenflußDatenfluß
BenutzergruppeBenutzergruppe AnwendungAnwendung
ComputerComputer NetzwerkNetzwerk
AnwendungsfAnwendungsfunktionunktion
SchichtSchicht KomponenteKomponente ObjektObjekt
Sic
herh
eit
Sys
tem
man
agem
ent
Zugr
iffsr
echt
Zugr
iffsr
echt
Rec
hteg
rupp
eR
echt
egru
ppe
Anw
endu
ngA
nwen
dung
Syst
emSy
stem
Res
sour
ceR
esso
urceOrganisationseOrganisationse
inheitinheit
Reale Welt
Was
Womit
Wie
Entwicklungsarchitektur
Architektur von Web-Anwendungen, LMU, WS-01/02
ArchitekturArchitektur
• Jedes System hat eine Architektur– Implizit
• Entsteht während der Entwicklung• Akzeptabel bei ganz kleinen Anwendungen• Vergleich traditionelle Architektur
Für Hundehütte braucht man keinen Architekturentwurf– Explizit
• Separater bewusster Schritt im Entwicklungsprozess• Größere Systeme benötigen explizite Architektur• Vergleich: Für jedes größere Gebäude wird eine Architektur entworfen
• Explizite Architekturen bewirken viele Vorteile
Architektur von Web-Anwendungen, LMU, WS-01/02
ArchitekturArchitektur
Architektur ist Gliederung eines Systems in Hauptkomponenten
Architektur für ein einzelnes System
• Reduktion der Komplexität• Verteilung von Aufgaben• Zuordnung zu
Systemkomponenten• Einsatz von Standards• Einsatz von Produkten
Architektur für eine ganze Reihe von Systemen
Zusätzlich• Wiederverwendung von
Architekturkomponenten• Produktlinienansatz
Unternehmens-Architekturmodell
Architektur von Web-Anwendungen, LMU, WS-01/02
Anforderungen an Untern.-ArchitekturmodellAnforderungen an Untern.-Architekturmodell
• Einheitliche Benutzer-Schnittstellen– für alle Anwendungen– Anmeldung beim Netzwerk, nicht bei den Anwendungen
• Einheitlicher Zugriff auf Daten und Anwendungen durch Benutzer– im eigenen Unternehmen– bei Partnern– im Internet
• Wiederverwendung– Nicht nur von Code– Auch Modelle und Architekturkonzepte
• Interoperabilität– Infrastrukturprodukte kommen von unterschiedlichen Herstellern– Produkte müssen Standard-Schnittstellen, -Formate und -Protokolle unterstützen– Architekturmodell muß das ausdrücken
Architektur von Web-Anwendungen, LMU, WS-01/02
Anforderungen an Untern.-ArchitekturmodellAnforderungen an Untern.-Architekturmodell
• Portabilität zwischen Plattformen– Produkte und Anwendungen sollten nicht plattformabhängig sein– Plattformwechsel während der Lebenszeit einer Anwendung notwendig
• MVS (Mainframe)• Unix verschiedener Hersteller• NT• Linux
• Effizientere Anwendungsentwicklung, Werkzeuge für– Entwurf– Entwicklung– Test– Wartung– Konfigurationsmanagement– Generierung– Projektmanagement
Architektur von Web-Anwendungen, LMU, WS-01/02
Anforderungen an Untern.-ArchitekturmodellAnforderungen an Untern.-Architekturmodell
• System Management Einheitliches Werkzeug zum Verwalten der
– PCs– NCs– Netzwerkelemente– Server– Mainframe– Middleware– DBMS– Anwendungen
• Investitionsschutz– Altsysteme und– Existierende Infrastruktur
müssen in das Lösungskonzept für ein Unternehmen einbezogen werden.
Architektur von Web-Anwendungen, LMU, WS-01/02
ZitatZitat
„In the past, an architecture was really the design ofa system that had been created to meet specificapplication needs. In the new business environment,organizations have little idea what their application needs will be in two, let alone five or ten years.Consequently, we need architectures that can enablethe exploitation of unforeseen opportunities and meetunpredictable needs.
Don Tapscott in: The Digital Economy
Architektur von Web-Anwendungen, LMU, WS-01/02
Projekt ECOMProjekt ECOM
• ECOM: E-Commerce Projekt bei BMW• Softlab ist Auftragnehmer
ca. 20 Mitarbeiter von Softlab • E-Business für Vertrieb und Marketing (CRM)
Konkretes Thema: Verkaufsanbahnung– Direkter Verkauf wegen Händlerverträgen gegenwärtig nicht möglich
• Ziele des Vorhabens– Bessere Kundenbetreuung– Stärkere Kanalisierung des Vertriebsprozesses und Aufbau einer zentralen
Kundendatenbank– Noch stärkere Verzahnung zwischen Vertrieb und Produktion weltweit
Built to Order– Anpassung der Beziehungen zu Händlern unter Gesichtspunkten der
Wertschöpfungskette
Architektur von Web-Anwendungen, LMU, WS-01/02
ECOM: ProjektzieleECOM: Projektziele
• Gleiches Look & Feel weltweit• Unterstützung
– Unterschiedliche Marken (BMW PKW, BMW Motorräder, Mini)– Alle Länder– Mehrere Sprachen
• Neue Informationen weltweit zur gleichen Zeit• Länderspezifische Lösungen werden abgelöst• Optimieren sowohl des zentralen wie auch des dezentralen Zuganges• Ergebnis soll Plattform sein für Verbesserungen und Erweiterungen
Architektur von Web-Anwendungen, LMU, WS-01/02
Architektur von Web-Anwendungen, LMU, WS-01/02
Architektur von Web-Anwendungen, LMU, WS-01/02
Architektur von Web-Anwendungen, LMU, WS-01/02
Architektur von Web-Anwendungen, LMU, WS-01/02
Architektur von Web-Anwendungen, LMU, WS-01/02
Architektur von Web-Anwendungen, LMU, WS-01/02
Architektur von Web-Anwendungen, LMU, WS-01/02
Architektur von Web-Anwendungen, LMU, WS-01/02
NSC AdministrationNSC Administration
Architektur von Web-Anwendungen, LMU, WS-01/02
NSC Händler MonitoringNSC Händler Monitoring
Architektur von Web-Anwendungen, LMU, WS-01/02
Händler AktivitätenlisteHändler Aktivitätenliste
Architektur von Web-Anwendungen, LMU, WS-01/02
ECOM: AnwendungsarchitekturECOM: Anwendungsarchitektur
Customer
DealerLocations
E-COM BACKBONE
Vehi
cle
Con
figur
ator
Dea
ler
Loca
tor
Req
uest
for
Offe
r
Test
Driv
eA
ppoi
ntm
ent
Res
erva
tion
List
Use
d C
arPr
ice
Indi
cato
r
Req
uest
for
Info
rmat
ion
NSC Dealer
NSC
O
pera
tion
NSC
A
dmin
Dea
ler
Ope
ratio
n
MailServer
Interface
ContentManagement
System
GraphicalContent
DealerData Base
Car & PriceData Base
CRMData Base
ECOMData Base
Architektur von Web-Anwendungen, LMU, WS-01/02
• 6 Module• Landesgesellschaften und Händlerportal
- nicht voll integriert- Datenaustausch
DealerPortal
Customer Interface (A)
Vehi
cle
Sele
ctor
Dea
ler
Loca
tor
Req
uest
for
Offe
r
Test
Driv
eA
ppoi
ntm
ent
Use
d C
arPr
ice
Indi
cato
r
Req
uest
for
Info
rmat
ion
Asc
erta
inSe
ssio
n U
ser
CustomerData
Dealer Data
Car Data
eCOM Data SubsidiaryPortal
ECOM: Phase 1ECOM: Phase 1
Architektur von Web-Anwendungen, LMU, WS-01/02
DealerPortal
Vehi
cle
Sele
ctor
Dea
ler
Loca
tor
Req
uest
for
Offe
r
Test
Driv
eA
ppoi
ntm
ent
Use
d C
arPr
ice
Indi
cato
r
Req
uest
for
Info
rmat
ion
Asc
erta
inSe
ssio
n U
ser
SubsidiaryPortal
Rep
ort-
Gen
erat
or
Col
orin
gSy
stem
Map
-Sy
stem
Rul
e-In
terp
rete
r
• 7 Module & Car Configurator• Portale der Landesgesellschaften und Händler integriert• Integration von Finanzdienstleistungen• Integration von 4 existierenden Modulen
Vehi
cle
Con
-fig
urat
orSF Integration SF Integr.
Customer Interface (B)
CustomerData
Dealer Data
Car Data
eCOM DataPCASO
Serv
ice
App
oint
men
t
ECOM: Phase 1.5ECOM: Phase 1.5
Architektur von Web-Anwendungen, LMU, WS-01/02
Supp
ort
Mod
ules
Supp
ort
Mod
ules
Supp
ort
Mod
ules
DealerPortal(Clarify)
Vehi
cle
Sele
ctor
Dea
ler
Loca
tor
Req
uest
for
Offe
r
Test
Driv
eA
ppoi
ntm
ent
Use
d C
arPr
ice
Indi
cato
r
Req
uest
for
Info
rmat
ion
Asc
erta
inSe
ssio
n U
ser
SubsidiaryPortal(Clarify)
Supp
ort
Mod
ules
Serv
ice
App
oint
men
t
• 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, …)
PCASO
Vehi
cle
Con
-fig
urat
or
Use
d C
arM
anag
emen
t
TopDrive(Clarify)HST
CustomerData
Dealer Data
Car Data
eCOM Data
SF Inte
grat
ion
Customer Interface
t.b.d
efin
ed
ECOM: Phase 2ECOM: Phase 2
Architektur von Web-Anwendungen, LMU, WS-01/02
DealerPortal(Clarify)
SubsidiaryPortal(Clarify)
PCASOTopDrive(Clarify)HST
CustomerData
Dealer Data
Car Data
eCOM Data
Customer Interface
• Vorbereitung für Strategie des direkten Vertragsabschlusses• Integration mit Produktionsplanung und Produktions-/Lieferprozess
Req
uest
for
Del
iver
y D
ate
Vehi
cle
Loca
tor
Ord
erin
g /
Ord
er c
hang
e
Trac
king
/ St
atus
info
IVS…
Supp
ort
Mod
ules
Supp
ort
Mod
ules
Supp
ort
Mod
ules
Supp
ort
Mod
ules
Supp
ort
Mod
ules
Supp
ort
Mod
ules
Vehi
cle
Sele
ctor
Dea
ler
Loca
tor
Req
uest
for
Offe
r
Test
Driv
eA
ppoi
ntm
ent
Use
d C
arPr
ice
Indi
cato
r
Req
uest
for
Info
rmat
ion
Asc
erta
inSe
ssio
n U
ser
Supp
ort
Mod
ules
Serv
ice
App
oint
men
t
Vehi
cle
Con
-fig
urat
or
Use
d C
arM
anag
emen
t
SF Inte
grat
ion
t.b.d
efin
edECOM: Phase 3ECOM: Phase 3
Architektur von Web-Anwendungen, LMU, WS-01/02
Functional Building Block MatrixFunctional Building Block Matrix
Testdriveappoint-
ment
Vehicle Selector
Reser-vation
List
Request for
Offer
Requestfor
Information
Used CarEvaluator
DealerLocator
Used Car Evaluator
Dealer Locator
User Data Collector
Reservation List Handler
Offer Requestor
CarConfigu-
rator
User Views/ Processes
Func
tiona
l Bui
ldin
g B
lock
s
Information distributor
Architektur von Web-Anwendungen, LMU, WS-01/02
Varianten: Marken und Länderspez. AusprägungenVarianten: Marken und Länderspez. Ausprägungen
E-COM BACKBONE
market specific
brand specific
generic part
market-specific extensions
FunctionalBuilding
Block
20%
Customer´s View
80% WEB
-Cus
tom
er-In
terf
ace
Bikes
Architektur von Web-Anwendungen, LMU, WS-01/02
VariantenstrukturVariantenstruktur
NSC specific
GermanFrenchItalianItalian FrenchFrenchFrench German
Java/HTML pages
Language specific
Brand
Example: 2 brands, 3 NSCs (of which one NSC is bilingual)
Adaptation sequence:1. Brand adaptation2. Market adaptation (could be parallel for several NSCs)
Architektur von Web-Anwendungen, LMU, WS-01/02
1.0
1.0
Varianten- und ReleasestrukturVarianten- und Releasestruktur
Releases
Länder-varianten
Marken
Bikes
2.0
2.0
3.0
3.0
1.0 2.0 3.0
Architektur von Web-Anwendungen, LMU, WS-01/02
ECOM SystemarchitekturECOM Systemarchitektur
NNNeeetttssscccaaapppeeeEEEnnnttteeerrrppprrriiissseee 333...555
(((AAAIIIXXX,,, SSSooolllaaarrriiisss)))WWWeeebbb SSSeeerrrvvveeerrrGGGIIIFFF,,, JJJPPPGGG,,, JJJaaavvvaaaSSScccrrriiipppttt
JJJSSSPPP///SSSeeerrrvvvllleeettt EEEnnngggiiinnneeeJJJaaavvvaaa SSSeeerrrvvveeerrr PPPaaagggeeesss (((111...000)))
JJJSSSPPP BBBeeeaaannnsssJJJTTTAAA,,, JJJNNNDDDIII,,, RRRMMMIII---IIIIIIOOOPPP
WWWeeebbbLLLooogggiiicccSSSeeerrrvvveeerrr 444...555...111
(((SSSooolllaaarrriiisss)))AAAppppppllliiicccaaatttiiiooonnn SSSeeerrrvvveeerrrEEEnnnttteeerrrppprrriiissseee JJJaaavvvaaa BBBeeeaaannnsss (((111...000))),,,
JJJaaavvvaaaMMMaaaiiilll,,, JJJTTTAAA,,, JJJNNNDDDIII,,, RRRMMMIII---IIIIIIOOOPPP,,, JJJDDDBBBCCC
OOOrrraaacccllleee 888...000555(((SSSooolllaaarrriiisss)))
EEEnnnttteeerrrppprrriiissseee IIInnnfffooorrrmmmaaatttiiiooonnn SSSyyysssttteeemmmRRReeelllaaatttiiiooonnnaaallleee DDDaaattteeennnbbbaaannnkkk
Web ClientBeliebiger Browser
Architektur von Web-Anwendungen, LMU, WS-01/02
ECOM KomponentenECOM Komponenten
• Java Server Pages– Ecom User Interface
• JSP Beans– EJB Client– Business Logik
• Entity Beans– Abbildung der DB-Tabellen (create, update, find)– Container Managed Persistence (CMP)– Transaction mode REQUIRED
• Session Beans– Utilities (currency, date), Queries, Import/Export
Architektur von Web-Anwendungen, LMU, WS-01/02
Software LayersSoftware Layers
New ModuleDealer Locator Request for Offer Vehicle Selector
Use DL
Use VSE
Use …
ContentManagement
System
JavaServerPages
Servlet EngineJSP Beans(Processes)
OracleData Base
ExternalInterfaces
BackgroundFunctions
(Mail send,..)
EJBServerEntity Beans
Vehicle Customer Dealer SessionManagement
Architektur von Web-Anwendungen, LMU, WS-01/02
Logische IT-ArchitekturLogische IT-Architektur
#
EJB Container
Dealer + NSC
Ultra Thin ClientHTML+JavaScript
Internet
Internet Services•Testdrive appointment•Request for offer•Request for information•Used vehicle price indicator•Dealer locator•Vehicle selector
Internal Services•Task fulfillment•Data maintenance•Event Tracking•Statistics
http
http/https
ECOM WebLogic EJB Server
Customer
Ultra Thin ClientHTML+JavaScript
Internet
JNDIRMI/IIOP CMP, Oracle 8.05 SessionFilesystem
JavaMailAdapter
smtp
smtp
JavaMailMailServer
Webserver+ Servlet Engine
ECOMJSP‘s
Supp
ort
• Err
or M
gmt
• Log
ging
...
Supp
ort
• Err
or M
gmt
• Log
ging
...
• Use
r Man
agem
ent
• ...
Architektur von Web-Anwendungen, LMU, WS-01/02
IT-Infrastruktur (logisch)IT-Infrastruktur (logisch)
Webserver 2NetscapeEnterpriseServer
mit BEA WLS Plugin
UltraThin
Client
dbserv X
eCOM Infrastruktur 1BEA WebLogicServer
PrimaryServer für Webserver 1*
eCOM Infrastruktur 2BEA WebLogicServer
SecondaryServer für Webserver 1*SecondaryServer für Webserver 2*
eCOM Infrastruktur 3BEA WebLogicServer
PrimaryServer für Webserver 2*
Logisches WLS-Cluster
http-Dispatcher 1 http-Dispatcher 2
hot-stand-by Dispatcher-Cluster
Webserver 1NetscapeEnterpriseServer
mit BEA WLS Plugin
http
http
http
Internet /Extranet
Intranet(Corporate Network)
DMZ(Access LAN)
*wird dynamisch pro User zugeordnet
File-server
http
File-server
Architektur von Web-Anwendungen, LMU, WS-01/02
IT-Infrastruktur (physikalisch)IT-Infrastruktur (physikalisch)
Internet Extranet
Intranet(Corporate Network)
DMZ Extranet(Access LAN)
DMZ Internet(Access LAN)
eCOM Webserver+ Dispatcher
weltweit eCOM Webserver+ Dispatcher
V3*
dbserv X
eCOM BEA Weblogic-Server-Cluster
eCOMUltraThinClient
Kunde
eCOMUltraThinClient
Händler
http
eCOM Webserver+ Dispatcher
V1 *
http http
FirewallFirewall
File-server
File-server
File-server
http
Architektur von Web-Anwendungen, LMU, WS-01/02
Customer
DealerLocations
E-COM Backbone BACKBONE
Con
trac
tSe
lling
Dea
ler
Loca
tor
Pers
onal
ised
Con
figur
atio
n
Rou
te
Plan
ning
CRM-
DATABASE
Dea
ler P
orta
l
BMW Marketing
Content Provider
BMW Generic Content
Generic Content Telematic
Content
GenericPersonalized
Content
Special BMWPersonalized
Content
Communicationto and from Car
Profile update into CRM Database
Content Aktualisation
Billing Preparation
Integrationsansatz - Beispiel: Assist-Car-OnlineIntegrationsansatz - Beispiel: Assist-Car-Online
Architektur von Web-Anwendungen, LMU, WS-01/02
EntwicklungsumgebungEntwicklungsumgebung
• Entwicklung auf NT• Integration und Test auf Solaris• Zentrale Entwicklungsdatenbank auf Solaris• RunTime
– Application Server WebLogic Server– JSP/Servlet Engine WebLogic Server– WebServer WebLogic Server
Netscape Enterprise (Integration);wird abgelöst durch WebLogic Server
• Entwicklung– Java Jbuilder 3 (Borland)– JSP/HTML Homesite 4.5 (Allaire)
Architektur von Web-Anwendungen, LMU, WS-01/02
Weitere EntwicklungstoolsWeitere Entwicklungstools
• Datenbank– Design PowerDesigner (Sybase)– Aufbau SQL Navigator (Quest)
• Test– Modul-Tests Junit 2.1 (Public Domain)– Performance-Tests LoadRunner (Mercury)– GUI-Tests WinRunner (Mercury)
• Sonstiges– Dokumentation Office, Visio– OO-Modelling Together/J (oisoft)– Versionsmanagement Visual SourceSafe
Architektur von Web-Anwendungen, LMU, WS-01/02
Zahlen und Fakten (Version 1.5)Zahlen und Fakten (Version 1.5)
• Basissystem– Datenbank, EJB-Server, JSP Beans– Wird für alle Länder, Marken oder Sprachen verwendet– 43 DB-Tabellen– 64 EJB’s
• 37 Entity Beans• 17 Stateless Session Beans• 11 Stateful Session Beans
– 79 JSP Beans (u.a. Business Logik)– 68 Utility Klassen
Architektur von Web-Anwendungen, LMU, WS-01/02
Zahlen und FaktenZahlen und Fakten
• BMW Portale– Group Portal, NSC Portale nur in Englisch– Dealer Portal pro Sprache– 379 JSP’s pro Sprache– 476 Bilder
• Customer Portale– Unterscheiden sich pro Land und Marke (BMW, Motorcycle, Mini)– Teilweise auch pro Sprache (z.B. CH)– 339 JSP’s pro Land, Marke und Sprache– 2079 Bilder (u.a. Fahrzeug, Händler)
Architektur von Web-Anwendungen, LMU, WS-01/02
FazitFazit
• Server-Entwicklung mit EJB sehr produktiv– WebLogic Server ausgereiftes und stabiles Produkt– Skalierbare Multi-Tier-Architektur (fast) gratis
• Web-UI-Entwicklung mit JSP noch verbesserungsfähig– Aufwand höher im Vergleich zu „klassischem“ C/S (z.B. VB)– Betriebskosten deutlich geringer (keine Client-Installation)– Vermischung Darstellung und Code– Zu wenige UI-Controls für komplexe GUI’s
• Compile once - run anyware– Hardware-unabhängig (Unix, NT, Host)– Hersteller-unabhängige Technologie (BEA, IBM, Borland, …)