Vorlesung 'Architekturen von Web

Download Report

Transcript Vorlesung 'Architekturen von Web

Architekturen von Web-Anwendungen
Vorlesung an der LMU München
Winter-Semester 2001/02
Dr. Günter Merbeth
Architektur von Web-Anwendungen, LMU, WS-01/02
Zur 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
Voraussetzungen
•
•
•
•
Programmieren (Java)
Grundkenntnisse Internet
Grundkenntnisse Software Entwicklung
Grundkenntnisse Datenbanken
Architektur von Web-Anwendungen, LMU, WS-01/02
(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: Anwendungen
Architekturen von Web-Anwendungen
• Software-Systeme
• Unterstützen Menschen bei Tätigkeiten
z.B.
- Bearbeiten eines Schadens bei Versicherung
• Automatisiert Abläufe
z.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 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 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 Informationssystemen
Architektur von Web-Anwendungen, LMU, WS-01/02
Epochen bei IS: Mainframe
Terminal-Anbindung
SNA (IBM), TRANSDATA (Siemens)
Mainframe
„Dumme“
Terminals
Architektur von Web-Anwendungen, LMU, WS-01/02
Bildschirm-Masken
Anwendungslogik
Daten
Mainframe Epoche
•
•
•
•
Hardware, Betriebssysteme
– Mainframes: IBM, Siemens,
ICL, Fujitsu, ...
– Minicomputer: DEC, …
Datenmanagement
–
–
–
–
Dateisysteme
Hierarchische DBMS
Netzwerk-DBMS
RDBMS
Middleware
– TP Monitore
Kommunikation
– Proprietär: SNA, ...
Architektur von Web-Anwendungen, LMU, WS-01/02
•
Entwicklung
– Editoren
– Sprachen (Compiler)
COBOL, PL/1, Assembler,
(FORTRAN)
– Generatoren für Masken und
Code
– Dictionaries
– Projektbibliotheken
Epochen bei IS: Client/Server
SNA
Mainframe
DB Server
TCP/IP
Application Server
Mainframe
Dezentralisierung
GUI
Anwendungslogik
(Anwendungslogik)
Daten
Architektur von Web-Anwendungen, LMU, WS-01/02
Altsysteme
Daten
Client/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)
Architektur von Web-Anwendungen, LMU, WS-01/02
•
•
Kommunikation
– TCP/IP
Entwicklung
– CASE (Computer Added Software
Engineering)
– Repositories
– Projekt- und Konfigurationsmanagement
– Sprachen (Compiler, Debugger)
•
•
•
•
COBOL
C, C++, (Smalltalk)
VB
4GL
Epochen bei IS: Netzwerk (Internet / Web)
SNA
Mainframe
DB Server
TCP/IP
Application Server
Mainframe
DB Server
HTTP
Internet/
Intranet/
Extranet
TCP/IP
Web Server
Mainframe
Application Server
Architektur von Web-Anwendungen, LMU, WS-01/02
Netzwerk 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
Environments
z.B. Visual Studio, Visual Age
•
•
•
•
Architektur von Web-Anwendungen, LMU, WS-01/02
C++
Java
C#
VB
Eigenschaft der drei Generationen
Benutzung
•
Mainframe
•
•
•
Client / Server
•
•
•
•
Web
Einfach, dumme
Terminals
Primitive Oberfläche
Verbindung zwischen
Terminal und Rechner
blockorientiert
Komfortable graphische
Oberfläche
Benutung komplexer
Direkte Verbindung
zwischen Client und
Server RPC)
Browser basiert
Gute Kombination der
Stärken von C/S und
Mainframe
- GUI
- blockorient. Verbind.
Architektur von Web-Anwendungen, LMU, WS-01/02
Management
•
•
•
•
•
•
•
•
•
Zentral
Einfache Kontrolle und
Verwaltung
Einfache Installation und
Update
Fette Clients, Sicherh.
Verteilung der Anw. auf
Client und Server
Probleme mit großer
Anzahl Clients bei
Install. und Update
Thin Clients
Re-Zentralisierung
Management auf
weniger Instanzen
beschränkt
Entwicklung
•
•
•
•
•
•
•
•
•
Schwache
Toolunterstützung
Einfache Architektur
(DB und TP Monitor)
EU ungleich PU
Sehr gute Tools
Architektur schon
komplexer
EU gleich PU
Sehr gute Tools
Komplexe Architektur
(Viele logische
Komponenten)
Netzwerk
Begriffe: Web-Anwendungen
Architekturen von Web-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-Business
•
•
•
•
Web basierte Anwendungen
Drei 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 Beteiligte
Endkunden
Lieferanten
Geschäftsprozesse
von
Auftragnehmer
Unternehmen
Mitarbeiter
Architektur von Web-Anwendungen, LMU, WS-01/02
Unternehmen
als
Kunden
E-Business Themen
Lieferanten
Supply
Chain
Management
Unternehmen
Customer
Relationship
Management
Kern
Geschäfts
Prozesse
B2B
B2B & B2E
E–Business
Architektur von Web-Anwendungen, LMU, WS-01/02
B2B & B2C
Kunden
Inter-/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: Architekturen
Architekturen 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
Was
Anwendungsarchitektur
Anwendung
Anwendungsf
unktion
Systemarchitektur
Schicht
Komponente
Plattformarchitektur
Computer
Wie
Objekt
Womit
Netzwerk
Entwicklungsarchitektur
Architektur von Web-Anwendungen, LMU, WS-01/02
Ressource
Datenfluß
System
Geschäftsprozeß
Anwendung
Organisations
einheit
Reale Welt
Systemmanagement
Rechtegruppe
Business Architektur
Benutzergruppe
Zugriffsrecht
Sicherheit
Architekturaspekte: ein Ebenenansatz
Architektur
•
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
Architektur
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 von Web-Anwendungen, LMU, WS-01/02
Architektur für eine ganze Reihe von
Systemen
Zusätzlich
• Wiederverwendung von
Architekturkomponenten
• Produktlinienansatz
Unternehmens-Architekturmodell
Anforderungen 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.-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.-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
Zitat
„In the past, an architecture was really the design of
a system that had been created to meet specific
application 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 enable
the exploitation of unforeseen opportunities and meet
unpredictable needs.
Don Tapscott in: The Digital Economy
Architektur von Web-Anwendungen, LMU, WS-01/02
Projekt 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: 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 Administration
Architektur von Web-Anwendungen, LMU, WS-01/02
NSC Händler Monitoring
Architektur von Web-Anwendungen, LMU, WS-01/02
Händler Aktivitätenliste
Architektur von Web-Anwendungen, LMU, WS-01/02
ECOM: Anwendungsarchitektur
Interface
E-COM
CRM
Data Base
Dealer
Operation
Dealer
NSC
Operation
NSC
Admin
Request for
Information
Dealer
Locations
Used Car
Price Indicator
NSC
Reservation
List
Test Drive
Appointment
Request for
Offer
Dealer
Locator
Mail
Server
Vehicle
Configurator
Customer
BACKBONE
ECOM
Data Base
Dealer
Data Base
Car & Price
Data Base
Graphical
Content
Content
Management
System
Architektur von Web-Anwendungen, LMU, WS-01/02
ECOM: Phase 1
• 6 Module
• Landesgesellschaften und Händlerportal
- nicht voll integriert
- Datenaustausch
eCOM Data
Car Data
Dealer Data
Architektur von Web-Anwendungen, LMU, WS-01/02
Customer
Data
Subsidiary
Portal
Ascertain
Session User
Used Car
Price Indicator
Request for
Information
Test Drive
Appointment
Request for
Offer
Dealer
Locator
Vehicle
Selector
Customer Interface (A)
Dealer
Portal
ECOM: Phase 1.5
•
•
•
•
7 Module & Car Configurator
Portale der Landesgesellschaften und Händler integriert
Integration von Finanzdienstleistungen
Integration von 4 existierenden Modulen
Customer Interface (B)
eCOM Data
PCASO
Car Data
Dealer Data
Architektur von Web-Anwendungen, LMU, WS-01/02
Customer
Data
Subsidiary
Portal
Ascertain
Session User
Used Car
Price Indicator
Request for
Information
Test Drive
Appointment
Request for
Offer
Dealer
Locator
SF Integr.
Service
Appointment
Vehicle
Selector
Vehicle Configurator
ReportGenerator
Coloring
System
MapSystem
RuleInterpreter
SF Integration
Dealer
Portal
ECOM: Phase 2
•
•
•
•
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
Dealer Data
Architektur von Web-Anwendungen, LMU, WS-01/02
Customer
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
Modules
Support
Modules
Modules
Modules
Customer Interface
Subsidiary
Portal
Dealer
Portal
(Clarify)
(Clarify)
HST
TopDrive
(Clarify)
PCASO
Architektur von Web-Anwendungen, LMU, WS-01/02
IVS…
eCOM Data
Car Data
Dealer Data
Customer
Data
Tracking /
Status info
Ordering /
Order change
Vehicle
Locator
Request for
Delivery Date
Ascertain
Session User
Used Car
Price Indicator
Request for
Information
Test Drive
Appointment
Request for
Offer
Dealer
Locator
Service
Appointment
Vehicle Con figurator
Vehicle
Selector
Used Car
Management
SF
Integration
t.b.defined
Support
Support
Support
Modules
Support
Modules
Modules
Modules
ECOM: Phase 3
• Vorbereitung für Strategie des direkten Vertragsabschlusses
• Integration mit Produktionsplanung und Produktions-/Lieferprozess
Customer Interface
Subsidiary
Portal
Dealer
Portal
(Clarify)
(Clarify)
Functional Building Block Matrix
User Views/ Processes
Functional Building Blocks
Testdrive
appointment
Vehicle Selector
Used Car Evaluator
Dealer Locator
User Data Collector
Information distributor
Offer Requestor
Reservation List Handler
Architektur von Web-Anwendungen, LMU, WS-01/02
Reservation
List
Request
for
Offer
Request
for
Information
Used Car
Evaluator
Dealer
Locator
Car
Configurator
Varianten: Marken und Länderspez. Ausprägungen
80%
WEB-Customer-Interface
Customer´s View
market
specific
20%
Bikes
brand specific
generic part
market-specific
extensions
Functional
Building
Block
E-COM
Architektur von Web-Anwendungen, LMU, WS-01/02
BACKBONE
Variantenstruktur
Example: 2 brands, 3 NSCs (of which one NSC is bilingual)
Java/HTML pages
Language specific
Italian
French
French German
Italian
French
French German
NSC specific
Brand
Adaptation sequence:
1. Brand adaptation
2. Market adaptation (could be parallel for several NSCs)
Architektur von Web-Anwendungen, LMU, WS-01/02
Varianten- und Releasestruktur
Ländervarianten
1.0
1.0
1.0
Bikes
Marken
Architektur von Web-Anwendungen, LMU, WS-01/02
2.0
2.0
2.0
3.0
3.0
3.0
Releases
ECOM Systemarchitektur
Web Client
Beliebiger Browser
Netscape
Enterprise 3.5
(AIX, Solaris)
Web Server
GIF, JPG, JavaScript
JSP/ Servlet Engi ne
Java Ser ver Pages (1.0)
WebLogic
Server 4.5.1
JSP Beans
J T A, J N D I , R M I - I I O P
(Solaris)
Application Server
Enter prise Ja va Beans (1.0),
J a va M a i l , J T A, J N D I , R M I - I I O P , J D B C
Oracle 8.05
Ent erprise Info rmati on Sys t em
(Solaris)
Relationale Datenbank
Architektur von Web-Anwendungen, LMU, WS-01/02
ECOM 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 Layers
Dealer Locator
Request for Offer
Vehicle Selector
New Module
Java
Server
Pages
Use DL
Use VSE
Use …
Servlet Engine
JSP Beans
(Processes)
Content
Management
System
Vehicle
Background
Functions
(Mail send,..)
Architektur von Web-Anwendungen, LMU, WS-01/02
Customer
Entity Beans
Dealer
Session
Management
External
Interfaces
Oracle
Data Base
EJB
Server
Logische IT-Architektur
Ultra Thin Client
HTML+JavaScript
Internet
http
Webserver
+ Servlet Engine
EJB Container
Internet Services
•Testdrive appointment
•Request for offer
•Request for information
•Used vehicle price indicator
•Dealer locator
•Vehicle selector
...
JavaMail
•Logging
JavaMail
Adapter
•Error Mgmt
smtp
smtp
Support
Customer
Mail
Server
•User Management
• ...
ECOM WebLogic EJB Server
#
•Task fulfillment
•Data maintenance
•Event Tracking
•Statistics
Ultra Thin Client
HTML+JavaScript
•Error Mgmt
•Logging ...
Internal Services
ECOM
JSP‘s
Support
Dealer + NSC
http/https
Internet
RMI/IIOP
Architektur von Web-Anwendungen, LMU, WS-01/02
CMP, Oracle 8.05
Filesystem
Session
JNDI
IT-Infrastruktur (logisch)
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
eCOM Infrastruktur 3
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
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
IT-Infrastruktur (physikalisch)
Intranet
(Corporate Network)
dbserv X
Fileserver
eCOM BEA WeblogicServer-Cluster
eCOM Webserver
+ Dispatcher
weltweit
eCOM Webserver
+ Dispatcher
V1 *
eCOM Webserver
+ Dispatcher
V3*
Fileserver
Fileserver
DMZ Internet
http
Firewall
Firewall
http
(Access LAN)
DMZ Extranet
(Access LAN)
http
Internet
eCOM
UltraThinClient
Kunde
Architektur von Web-Anwendungen, LMU, WS-01/02
Extranet
http
eCOM
UltraThinClient
Händler
Integrationsansatz - Beispiel: Assist-Car-Online
Content Provider
BMW Marketing
Generic
Content
BMW Generic
Content
Generic
Personalized
Content
Route
Planning
Personalised
Configuration
Dealer
Locator
Contract
Selling
Dealer Portal
Customer
Dealer
Locatio
ns
E-COM Backbone
BACKBONE
CRMDATABASE
Architektur von Web-Anwendungen, LMU, WS-01/02
Special BMW
Personalized
Content
Telematic
Content
Communication
to and from Car
Profile update into
CRM Database
Content
Aktualisation
Billing
Preparation
Entwicklungsumgebung
•
•
•
•
Entwicklung auf NT
Integration und Test auf Solaris
Zentrale Entwicklungsdatenbank auf Solaris
RunTime
– Application Server
– JSP/Servlet Engine
– WebServer
•
WebLogic Server
WebLogic Server
WebLogic Server
Netscape Enterprise (Integration);
wird abgelöst durch WebLogic Server
Entwicklung
– Java
– JSP/HTML
Architektur von Web-Anwendungen, LMU, WS-01/02
Jbuilder 3 (Borland)
Homesite 4.5 (Allaire)
Weitere Entwicklungstools
•
•
•
Datenbank
– Design
– Aufbau
PowerDesigner (Sybase)
SQL Navigator (Quest)
Test
– Modul-Tests
– Performance-Tests
– GUI-Tests
Junit 2.1 (Public Domain)
LoadRunner (Mercury)
WinRunner (Mercury)
Sonstiges
– Dokumentation
– OO-Modelling
– Versionsmanagement
Architektur von Web-Anwendungen, LMU, WS-01/02
Office, Visio
Together/J (oisoft)
Visual SourceSafe
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 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
Fazit
•
•
•
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, …)
Architektur von Web-Anwendungen, LMU, WS-01/02