Java 2, Enterprise Edition Einführung und Überblick

Werbung
J2EE: Einführung und Überblick
25.06.2001
Universität Kaiserslautern
Seminar
AG Datenbanken und Informationssysteme
Datenbank-Aspekte des E-Commerce
Java 2, Enterprise Edition
Einführung und Überblick
Martin Husemann
[email protected]
Vortragsinhalte
• Rahmenbedingungen in der heutigen Marktwirtschaft
• Mehrschichtige Systemarchitekturen
• Komponenten-Architekturen für die Server-Ebene
• Typische Strukturen von J2EE-Systemen
• Technologien und APIs
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
2
J2EE: Einführung und Überblick
25.06.2001
Rahmenbedingungen
• Information als entscheidender Wettbewerbsfaktor
– gleichrangig neben Gütern und Dienstleistungen
– „Informationswirtschaft“
• Einsatz moderner Technologien zwingend nötig
• Integration unterschiedlicher Systeme
• Daten aus heterogenen Quellen
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
3
Herausforderungen an Applikationsentwickler
• Kurze Reaktionszeiten
– angemessene Reaktion auf neue Trends und Technologien
• Produktivität der Programmierung
– sinnvolle Kombination von Neuem und Bewährtem
• Verfügbarkeit und Zuverlässigkeit
– keine Ausfallzeiten; im regulären Betrieb zuverlässiges Verhalten
• Sicherheit
– Schutz kritischer Daten in allen Nutzungsszenarien
• Skalierbarkeit
– leichtes Wachsen mit steigenden Anforderungen
• Integration
– Zusammenarbeit mit bestehenden Systemen
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
4
J2EE: Einführung und Überblick
25.06.2001
Mehrschichtige Systemarchitekturen
•
•
•
•
•
Benutzerschnittstelle
Präsentationslogik
Geschäftslogik
Datenbasis
Infrastruktur
Benutzerschnittstelle
Präsentationslogik
Infrastruktur
Geschäftslogik
Datenbasis
• Umsetzung in konkrete Schichten und Ebenen
– Präsentation
– Geschäftslogik
– Daten
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
5
Zwei-Ebenen-Architekturen
• Präsentations- und Geschäftslogik auf Client-Ebene
– Server verwaltet nur Daten
Präsentation
– hoher Wartungsaufwand
Geschäftslogik
– schlechte Skalierbarkeit
Daten
• Teile der Geschäftslogik auf Server-Ebene
– höherer Anteil der Gesamtarbeitslast auf dem Server
– bessere Skalierbarkeit
– geringere Netzwerkbelastung, höhere Gesamtperformanz
– Modularität durchbrochen
» proprietäre Sprachen auf Server-Ebene
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
6
J2EE: Einführung und Überblick
25.06.2001
Drei-Ebenen-Architekturen
• Schichten werden einzeln auf Ebenen abgebildet
– Trennung nicht unbedingt physikalisch
Präsentation
• Höhere Flexibilität
• Bessere Performanz
Geschäftslogik
• Größere Sicherheit
Daten
• Höhere Komplexität
• Höheres Kommunikationsaufkommen
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
7
Komponenten-Architekturen für die Server-Ebene
• Mittlere Ebene entscheidend
• Komponenten / Application Server
– ursprünglich kein einheitlicher Standard
– Idealziel: offener Markt
• Microsoft Distributed interNet Applications Architecture
– Produktlösung
– herstellerübergreifende Kompatibilität eingeschränkt
• OMG Common Object Request Broker Architecture
– offene Spezifikation
– beschreibt verteilte Objekte und ihre Interaktion
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
8
J2EE: Einführung und Überblick
25.06.2001
Sun Microsystems Java 2, Enterprise Edition
• Zunächst Entwicklung von Einzeltechnologien für die
Nutzung in Unternehmen
• Schlechte Abstimmung, Unklarheiten, Widersprüche
• Java 2: Micro, Standard, Enterprise Edition
• Integrierte Plattform für die Entwicklung portabler
Software-Komponenten auf Server-Ebene
• Spezifikation, nicht Produkt (analog zu CORBA)
• Gegenüber CORBA zusätzlich Festlegung von
Schnittstellen und Verhalten auf Komponentenebene
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
9
3
4
5
Z
10
Aufbau der J2EE-Plattform
• Verteilte Application-Server-Umgebung
• APIs und Laufzeit-Infrastruktur
• Client Tier
– Browser, Java-Applications
• Middle Tier
– Geschäftslogik in Enterprise JavaBeans
– Container als Laufzeitumgebung
• EIS Tier
– Zugriff auf Datenbanken über einheitliches API
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
J2EE: Einführung und Überblick
25.06.2001
Aufbau der J2EE-Plattform
• Verteilte Application-Server-Umgebung
• APIs und Laufzeit-Infrastruktur
Client Tier
Middle Tier
EIS Tier
Web Container
EJB Container
Web Container
EJB Container
Browser
Stand-Alone
Client
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
11
Mehr-Ebenen-Applikation
• Browser wickelt nur direkte Benutzerinteraktion ab
• Web-Container regeln Präsentationslogik
• Enterprise JavaBeans übernehmen Geschäftslogik und DB-Zugriff
Client Tier
Middle Tier
EIS Tier
Web Container
EJB Container
Web Container
EJB Container
Browser
Stand-Alone
Client
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
12
J2EE: Einführung und Überblick
25.06.2001
Web-basierte Anwendung
• Einsatz von EJB-Servern oft übertrieben
• Web-Container übernimmt Präsentations- und Geschäftslogik
• Leichter Ausbau bei steigenden Anforderungen
Client Tier
Middle Tier
EIS Tier
Web Container
EJB Container
Web Container
EJB Container
Browser
Stand-Alone
Client
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
13
Standalone-Client I
• Umgehen des EJB-Containers
• Client regelt Benutzerinteraktion und Präsentationslogik
• Web-Container oder EIS-Ebene übernehmen Geschäftslogik
Client Tier
Middle Tier
EIS Tier
Web Container
EJB Container
Web Container
EJB Container
Browser
Stand-Alone
Client
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
14
J2EE: Einführung und Überblick
25.06.2001
Standalone-Client II
• Umgehen des Web-Containers
• Client regelt Benutzerinteraktion und Präsentationslogik
• Enterprise JavaBeans übernehmen Geschäftslogik und DB-Zugriff
Client Tier
Middle Tier
EIS Tier
Web Container
EJB Container
Web Container
EJB Container
Browser
Stand-Alone
Client
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
15
Standalone-Client III
• Client kommuniziert direkt mit Datenbank
• Client regelt Benutzerinteraktion und Präsentationslogik
• Client übernimmt Geschäftslogik
Client Tier
Middle Tier
EIS Tier
Web Container
EJB Container
Web Container
EJB Container
Browser
Stand-Alone
Client
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
16
J2EE: Einführung und Überblick
25.06.2001
Interaktion zwischen Containern
• Web-Container: XML-Nachrichten über HTTP
• EJB-Container: RMI, in Zukunft auch JMS
Client Tier
Middle Tier
EIS Tier
Web Container
EJB Container
Web Container
EJB Container
Browser
Stand-Alone
Client
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
17
Container
• Container Contract
– Dienste des Containers für die
Komponenten
• Declarative Service
– Realisierung von
Funktionalitäten für die
Komponenten
• Additional Services
– Lifecycle Management
– Resource Pooling
– ...
25.06.2001
Seminar DB-Aspekte des E-Commerce
Application
Component
Application
Component
Deployment
Descriptor
Deployment
Descriptor
Application
Component
Deployment
Descriptor
Declarative Services
• Container Service APIs
Container Contract
Additional Container Services
– Vorgaben des Containers an
die Komponenten
Container Service APIs
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
18
J2EE: Einführung und Überblick
25.06.2001
Technologien und APIs (I)
• Komponenten-Technologien
– Komponente → Modul → Applikation
A
M
K
K
M
K
K
K
K
• Java Server Pages und Servlets
– Verarbeitung von HTTP-Requests
– JSP: um dynamischen Inhalt ergänzte Webseite
– Servlet: aktive Komponente zum Ausbau eines Webservers
• Enterprise JavaBeans
– Geschäftslogikkomponenten auf Server-Ebene
– Session Beans / Entity Beans
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
19
Technologien und APIs (II)
• Service-Technologien
• Java DataBase Connectivity (JDBC)
– Anbindung an relationale Datenbanken
• Java Transaction API (JTA)
– implementierungsunabhängige Unterstützung von Transaktionen
• Java Naming and Directory Interface (JNDI)
– Namen- und Verzeichnisdienst
– wird von Enterprise JavaBeans genutzt
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
20
J2EE: Einführung und Überblick
25.06.2001
Technologien und APIs (III)
• Kommunikations-Technologien
• Remote Method Invocation (RMI)
– erlaubt Nutzung von Methoden entfernter Objekte
– Aufruf über lokal definierte Interfaces
• Java Message Service (JMS)
– API für die Nutzung von Nachrichten-orientierter Middleware
– asynchroner Nachrichtenaustausch
• JavaMail
– Zugang zu den wichtigen Protokollen für Email-Nutzung
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
21
Zusammenfassung
• Mehrschichtige Systemarchitekturen unumgänglich
• Drei-Ebenen-Architekturen von Vorteil
• J2EE: Framework ohne Bindung an konkrete Produkte
–
–
–
–
Drei-Ebenen-Architektur
verschiedene mögliche Systemarchitekturen
Container-Konzept
Technologien und APIs
25.06.2001
Seminar DB-Aspekte des E-Commerce
J2EE: Einführung und Überblick
Martin Husemann
I
1
2
3
4
5
Z
22
Herunterladen