Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich.

Ähnliche Präsentationen


Präsentation zum Thema: "Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich."—  Präsentation transkript:

1 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch September 2001

2 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Gliederung 1. Einleitung 1.1 Definition 1.2 Einordnung Client/Server-Architektur Middleware 2. EJB-Design 2.1 Aufbau 2.2 Anwendungsarchitekturen

3 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Gliederung 3. Komponenten 3.1 Server 3.2 Container 3.3 Beans Session Beans Entity Beans 3.4 Deployment Descriptor 3.5 JNDI 3.6 Client

4 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Gliederung 4. Interaktion der Komponenten im Beispiel 5. Einsatzbereich 5.1 Anwendungsgebiete 5.2 Vergleich mit alternativen Ansätzen 5.3 Vor- und Nachteile 6. Ausblick

5 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Definition EJB Einordnung Client/Server-Architektur Middleware Enterprisefür unternehmenskritische Anwen- dungen entwickelt Javaobjekt-orientierte Programmier- sprache Beanswiederverwendbare Komponenten EJBArchitektur für komponentenorien- tierte, verteilte Anwendungen

6 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Definition EJB Einordnung Client/Server-Architektur Middleware EJB ist eine Architektur für verteilte, transaktionsorientierte Geschäftsanwendungen Enterprise JavaBeans sind keine JavaBeans

7 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick DB Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Definition EJB Einordnung Client/Server-Architektur Middleware Datenhaltung 2-tier Modell 3/n-tier Modell Applikationserver entkoppelt Datenhaltung und Endanwendung Businesslogik fest in Anwendung integriert Applikation ist direkt mit Datenhaltung verbunden Businesslogik ist fest in Anwendung integriert Business-Logik Anwendung Business-Logik Applikation-Server PräsentationDatenhaltung

8 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick DB Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Definition EJB Einordnung Client/Server-Architektur Middleware DB EJB-Server Client EJB-Server andere Appl. DB Client

9 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Definition EJB Einordnung Client/Server-Architektur Middleware Physikalisches Netzwerk Anwendungs- interaktion Objekt- interaktion Transportorientierte Schichten Transportorientierte Schichten MIDDLEWARE z.B. Java RMI, CORBA, COM+ CLIENT MIDDLEWARE z.B. EJBs, CORBA Components SERVER

10 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Aufbau Anwendungs- architekturen DB CLIENT EJB Server CONTAINER DD Session Bean Home Interface & Home Object Remote Interface & Remote Object Naming Interface Entity Bean JDBC DB

11 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Aufbau Anwendungs- architekturen Server-Side Presentation Server-Side Business-Logic Client-Side Presentation EJB- Container Web- Server Browser Desktop Enterprise IS EJB Other devices JSP Java Servlet J2EE Platform J2EE Platform J2EE Platform Java Applikation Pure HTML Java Applet

12 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans EJB - Server EJB – Container Kommunikation mit Client Kommunikation mit Client JNDI Kommunikation mit OS Kommunikation mit OS EJB – Container Server stellt Basisdienste (z.B. Laufzeitumgebung, Netzwerkprotokoll) für Container bereit

13 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans ServerContainerBeans Definiert durch EJB – Spezifikation Nicht spezifiziert Serverhersteller gehen zum J2EE-konformen Server über Schnittstelle zwischen Server und Container nicht spezifiziert Server und Container meist vom selben Hersteller

14 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Container stellt Laufzeitumgebung für EB`s dar macht eine EB über JNDI zugänglich ist Vermittler zwischen Client und EB (Client greift nie direkt auf EB zu) stellt Standardschnittstellen zur Verfügung (Home- u. Remote-Object) Stellt EB`s Java - API`s zur Verfügung

15 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Container-Dienste Lifecycle-Management (Erzeugung, Initialisie- rung und Löschen von EB) Load-balancing (Swapping von Session Beans) Persistenz-Management (für Entity Beans) Transaktions-Management (Gewährleistung des erforderlichen Kontextes für Methoden) Generierung von Stubs und Skeletons für RMI Sicherheits-Management Poolmanagement für Beans

16 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans jar - File Deployment Container Bean Lifecycle- management Load - Balancing Persistenz- management Generierung der Bean- Klassen Pool- management Sicherheits- management Transaktions management Containerservices

17 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Beans (EB) Server-seitige Komponenten implementieren die Anwendungslogik werden in einem Container deployed, der ihnen zur Laufzeit eine Umgebung zur Verfügung stellt, in der sie existieren können greifen auf die vom Container zur Verfügung ge- stellten Dienste zurück

18 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans XML Deployment Descriptor Bean-Klasse import java.rmi.RemoteExeption; import javax.ejb.*; public class XYBean implements EntityBean { …} Remote-Interface Home-Interface Primarykey-Klasse Bestandteile

19 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Session Beans implementieren die Anwendungslogik stehen einem Client exklusiv zur Verfügung nicht persistent Transaktionsmanagement bean-managed transactions container-managed transactions statelessstatefull Session Beans

20 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Lebenszyklus – stateless Session Beans nicht existent pooled ready ejbRemove() ejbCreate() (…) Client Container System Exception

21 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Lebenszyklus – statefull Session Beans ready ready in TA nicht existent passiviert (…) BEGIN COMMIT od. ROLLBACK ejbPassivate() ejbCreate() ejbRemove() ejbActivate() Löschen nach Timeout System Exception Client Container

22 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans repräsentieren Daten zentrale Ressource, die von mehreren Clients zeitgleich in Anspruch genommen werden kann persistent bean-managed persistence container-managed persistence mittels Primärschlüssel eindeutig identifizierbar

23 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Lebenszyklus – Entity Beans nicht existent pooled ready sync ready async ready update Client Container

24 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Datei (XML-Format) teilt dem Container mit, wie die EB zur Laufzeit zu behandeln ist enthält deskriptive Informationen über die Struktur und Abhängigkeiten einer EB das Verhalten der EB zur Laufzeit die Kombinationsmöglichkeiten mit anderen EBs einer jar-Datei zu komplexen Bausteinen

25 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Kurs KursHome Kurs KursBean Stateless Container

26 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Container- Tools PrimaryKey-Klasse Bean-Klasse Deployment- Descriptor Remote-InterfaceHome-Interface Remote-Interface XML-Dokument Remote-ObjektHome-Objekt Klasse Interface

27 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans JNDI API Applikation Programming Interface Wichtigstes Element: Context interface Lookup(Name) liefert Objekt dieses Namens Naming Manager Funktionalität wird vor dem Entwickler verborgen JNDI SPI Service Provider Interface ermöglicht Nutzung unterschiedlicher Middleware

28 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Application JNDI API Naming Manager JNDI SPI CORBA... RMI JNDI - Implementierungsmöglichkeiten

29 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Client findet Beans durch JNDI kommuniziert mit Enterprise Beans über Interfaces Home und Remote muss nicht in Java geschrieben und kompiliert sein

30 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Server JNDI Container Deployment Descriptor Client Beans Session Beans Entity Beans Client Home Object Remote Object JNDI Anwendung lookup(EJB-Name) Client Stub Remote Client Stub Home EJBHome alle Methoden der EJB create(), find(), remove()

31 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Übersicht ServerKomponenten Übersicht Code ClientKomponente Übersicht Code Beispiel für das Zusammenspiel der Komponenten Client...verbindet sich mit Server...erstellt Objekt...ruft Funktion auf...zerstört Objekt

32 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Übersicht ServerKomponenten Übersicht Code DB CLIENT EJB Server CONTAINER DD Session Bean Home Interface & Home Object Home Interface & Home Object Remote Interface & EJB Object Remote Interface & EJB Object Naming Interface Entity Bean JDBC ClientKomponente Übersicht Code Ablauf

33 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Bean KursBean eigentliche Bean implementiert Home Interface KursHome implementiert Remote Interface Kurs bei JNDI bekannt als Kurs Übersicht ServerKomponenten Übersicht Code ClientKomponente Übersicht Code Ablauf

34 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick public interface KursHome extends EJBHome {... // Methode zum Erzeugen eines Kurses Kurs create() throws CreateException, RemoteException;... } Übersicht ServerKomponenten Übersicht Code ClientKomponente Übersicht Code Ablauf Home Interface KursHome

35 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick // erbt von EJBObject public interface Kurs extends EJBObject { // Deklaration der Methoden public String getName() throws RemoteException; } Übersicht ServerKomponenten Übersicht Code ClientKomponente Übersicht Code Ablauf Remote Interface Kurs

36 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick public class KursBean implements SessionBean {... // Implementieren aller SessionBeanInterface Methoden public void ejbActivate() {...} public void ejbPassivate() {...} public void ejbRemove() {...} public void ejbCreate() throws CreateException {...}... // Methode die vom Client aufgerufen wird public String getName() { return "WWI00B"; } Übersicht ServerKomponenten Übersicht Code ClientKomponente Übersicht Code Ablauf EB KursBean

37 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick public class Client {... // Verbinden mit JNDI Context ctx = getInitialContext(); // Bean im JNDI suchen Object home = ctx.lookup("Kurs");... // Verbindung zum HomeInterface herstellen KursHome home = (KursHome) narrow(home, KursHome.class);... // ein neues Objekt erstellen Kurs einKurs = (Kurs) narrow(home.create(), Kurs.class); // Methode von Kurs aufrufen String message = einKurs.getName(); // Objekt entfernen einKurs.remove();... } Übersicht ServerKomponenten Übersicht Code ClientKomponente Übersicht Code Ablauf

38 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Übersicht ServerKomponenten Übersicht Code ClientKomponente Übersicht Code Ablauf Client lookup(Kurs) Server Container KursBean Home Stub Home Stub RI getName() Remote Stub Remote Stub JNDI Home Object Remote Object HI create()

39 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Anwendungs- gebiete Vergleich mit alternativen Ansätzen CORBA Vor- und Nachteile Enterprise JavaBeans unterstützen Wiederverwendbarkeit Modularität Thin Clients (Last-)Verteilung Transaktionsmanagment daher Einsatzbereiche insbesondere: als Middleware zur Anbindung von Internet-Anwendungen an bestehende Systeme für Intra- und Internetanwendungen

40 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Anwendungs- gebiete Vergleich mit alternativen Ansätzen CORBA Vor- und Nachteile EJBCORBA Sprachunter- stützung Java bzw. via CORBA sprachunabhängig Plattform- unterstützung alle Plattformen mit Java-VM plattformunabhängig Kommunikation synchron Sicherheit Java-Sicherheitsmodellsehr umfangreich Eignung für komplexe Systeme uneingeschränkt

41 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Fazit Welchen Nutzen bietet der Einsatz von EJB? Unternehmen Stabilität Verknüpfung inhomogener Systeme (Plattformunabhängigkeit) kostengünstigere Applikationen Lastverteilung, Pooling (Performanz) Entwickler Verkürzung von Entwicklungszeiten einfachere Programmierung Anwender (Client-Entwickler) Transparenz

42 Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich Ausblick Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten im Beispiel Einsatzbereich Ausblick Literaturverzeichnis C. Crenshaw, The Developer`s Guide to Understanding EJB Applications, 2000, New Jersey S. Denniger/I. Peters, Enterprise JavaBeans, 2000, München A. Thomas, Enterprise JavaBeans Technology, 1998, Boston V. Matena/M. Hapner, Enterprise JavaBeans Specifi- cation, 1999, Palo Alto


Herunterladen ppt "Stephan Bury Pascal Busch Bita Gerami Michael Kropiwoda Oliver Losch Einleitung EJB-Design Komponenten Zusammenspiel der Komponenten am Beispiel Einsatzbereich."

Ähnliche Präsentationen


Google-Anzeigen