Enterprise JavaBeans Überblick

Ähnliche Dokumente
Enterprise JavaBeans Überblick: 12. Session Facade Einleitung 12.2 Problem 12.3 Lösung. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 460

Enterprise JavaBeans Überblick

Enterprise JavaBeans (mit JBoss)

Enterprise JavaBeans Überblick

Java 2, Enterprise Edition Einführung und Überblick

Softwareentwicklung mit Enterprise JAVA Beans

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Einführung: Verteilte Systeme - Remote Method Invocation -

Application Server Application Server: Motivation Application Server: Begriff

Enterprise JavaBeans Überblick

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP

J2EE-Praktikum. Enterprise JavaBeans Patterns. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Masterkurs Verteilte betriebliche Informationssysteme

Java Beans ( )

Zwischenbericht Diplomarbeit

Janeva:.NET meets J2EE

Internetanbindung von Datenbanken

26. DECUS Symposium

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick: 8. Test-Driven Development. 8.1 Einleitung 8.2 Beispiel 8.3 Anwendung mit Eclipse und dem JBoss Application Server

ORACLE Business Components for Java (BC4J) Marco Grawunder

Softwareentwicklung mit Enterprise JAVA Beans

Warum EJB Technologie (1)?

Enterprise JavaBeans Überblick

Programmierung von verteilten Systemen und Webanwendungen mit Java EE

Enterprise JavaBeans Überblick

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Enterprise JavaBeans

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

Enterprise JavaBeans Überblick: 10. Queries Interface Query 10.2 EJB Query Language 10.3 Named Queries

11. Enterprise Java Beans Grundlagen der Programmierung II (Java)

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

JDO Java Data Objects

Geschäftskomponenten mit EJBs

Enterprise Java Beans

Enterprise JavaBeans Überblick: 17. Enterprise Information System Schicht

Der Tiger im Tank: PL/SQL-Logik in Java-Anwendungen optimal nutzen

ISBN Bibliografische Information Der Deutschen Bibliothek

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Enterprise Java Beans Einführung

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany,

Einsatz von Java-Komponenten in verteilten Embedded Systems

Session Beans & Servlet Integration. Ralf Gitzel

Client/Server-Programmierung

Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

3-Tier-Architecture und J2EE

-Testen verteilter Anwendungen

Konzepte von Betriebssystem- Komponenten Middleware. Jini. Vortrag von Philipp Sommer

Inhaltsverzeichnis. Zusammenfassung CORBA

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien

Beispiel: JavaBeans. Enterprise JavaBeans: Server-Komponenten

5.2 Workshop EJB. Entwicklung von EJB-Anwendungen. Das JOnAS-System

Remote Method Invocation

C Architektur (Teil 1)

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

Systemarchitektur. Das Eisenbahnsystem. Theoretische Grundlagen zum Seminar im Grundstudium Sprachgesteuerte Geräte (Modelleisenbahn) Alexander Huber

SE2-10-Entwurfsmuster-2 15

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

Jürgen Schwab, debis Systemhaus

Client/Server-Systeme

Kommunikation in verteilten Anwendungen

16 Migration von EJB 2.x nach 3.0

Ausgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns. Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 3. Enterprise Java Beans

Praktikum Verteilte Anwendungen

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

Konzepte von Betriebssystem-Komponenten Middleware RMI

Stefan Zörner. Portlets. Portalkomponenten in Java. ntwickier

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Schichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung

4.2 Workshop EJB. Entwicklung von EJB-Anwendungen

Mobile und Verteilte Datenbanken

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert

Richard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr. Spring & Hibernate. Eine praxisbezogene Einführung HANSER

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

EJB jar.xml und Name Service (JNDI)

Remote Methode Invocation (RMI) ETIS SS05

Netzwerkprogrammierung unter Linux und UNIX

Transkript:

Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6. Objekt-Relationales Mapping 7. Entity Bean Beziehungen 8. Find- und Select Methoden 9. Value Objects 10. Session Facade 11. Ergänzungen zu Entity Beans Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 47 Enterprise JavaBeans Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 48

Aktuelle Version von Sun s Enterprise JavaBeans: Version 3.0 Wesentliche Unterschiede zur Version 2.1 sind u.a. Massive Vereinfachung der Entwicklung von Enterprise JavaBeans Komponenten durch den Einsatz der Java SE 5 Annotationen Vielfache Defaults Nur Abweichungen davon müssen explizit programmiert werden Ausgliederung der Implementierung der sog. container managed persistence (CMP) von Entity Beans in die neue Java Persistence Specification Entity Beans sind POJOs (plain old Java objects), die von einem Persistenz-Framework auf eine relationale Datenbank abgebildet werden Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 49 Applikations-Server Relativ neuer Begriff für Software, die Geschäfts-Software in einer Internet-Umgebung unterstützt. Ein Applikations-Server kann spezialisiert sein oder auch mehrere Technologien gleichzeitig unterstützen: Web-Server ORB MOM (message-oriented middleware) Datenbanken Naming Service etc Bei Enterprise JavaBeans geht es in der Hauptsache um verteilte Objekte. Beispiele solcher Technologie sind CORBA, Java RMI oder DCOM. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 50

ORB (Object Request Brokers) Einfacher Mechanismus zur Verbindung von Klienten-Anwendungen mit verteilten Objekten. Klienten können verteilte Objekte auffinden und mit ihnen kommunizieren. ORBs unterstützen die Komponenten auf der Serverseite jedoch nicht bei Transaktionen, Nebenläufigkeit, Persistenz und anderen low-level Aktivitäten. Dies alles muss vom Entwickler zusätzlich bedacht und realisiert werden. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 51 CTM 1999 wurde der Begriff Component Transaction Monitor (CTM) zum ersten Mal verwendet, um den am höchsten entwickelten Anwendungs- Server zu beschreiben: Robustes server-seitiges Komponentenmodell Infrastruktur zur Unterstützung von Transaktionen Verteilung von Objekten Nebenläufigkeit Sicherheit Persistenz Ressourcen Management Massenverarbeitung Geschäftskritische Anwendungen Leicht zu benutzen Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 52

Enterprise JavaBeans Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 53 Architektur verteilter Objekte Alle Protokolle für Verteilte Objekte verwenden dieselbe grundlegende Architektur. Ziel: Ein Objekt in einem anderen Computer sieht aus, als läge es auf diesem Computer. Erreicht durch drei Bestandsteile: Das eigentliche Geschäftsobjekt, das wir hier aus Gründen, die sofort ersichtlich werden, Objektserver nennen wollen. Es liegt in der mittleren Schicht einer 3-Schichten-Architektur (Geschäftslogik). Zwei weitere Klassen, Stub und Skeleton, gehören zu jedem Objektserver. dienen dazu, den Anschein zu erwecken, dass der Objektserver, der tatsächlich in der mittleren Schicht liegt, lokal auf der Klientenschicht läuft. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 54

Architektur verteilter Objekte Eine Geschäftsklasse Person hätte also noch zwei zugehörige Klasse Person_Stub und Person_Skeleton Skeleton liegt auch in der mittleren Schicht, Stub in der Klientenschicht. Die Kommunikation geschieht über ein RMI-Protokoll (remote method invocation). Die genannten Komponentenwelten CORBA, Java und DCOM verwenden alle ihre eigenen Protokolle dafür. Bei Java heißt das Protokoll Java RMI. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 55 Architektur verteilter Objekte 1 Klient ruft Methode 2 Übertrage auf aufgerufene Methode Stub RMI Loop Skeleton Object Server 5 Gib Ergebnis zurück 4 Übertrage Ergebnis 3 Rufe Methode auf Server auf Client Tier Netzwerk Middle Tier Jedes Geschäftsobjekt in der Mittelschicht ist von einer Instanz der zugehörigen Skeleton-Klasse eingepackt. Diese übernimmt die Kommunikation über einen Port und IP-Adresse und wartet auf Anforderungen vom Stub. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 56

Architektur verteilter Objekte 1 Klient ruft Methode 2 Übertrage auf Stub aufgerufene Methode RMI Loop Skeleton Object Server 5 Gib Ergebnis zurück 4 Übertrage Ergebnis 3 Rufe Methode auf Server auf Der Stub Client Tier Netzwerk Middle Tier liegt in der Klientenschicht und ist über das Netzwerk mit dem Skeleton verbunden. Er ist ein Surrogat des Geschäftsobjekts für den Klienten. Implementiert Schnittstelle mit denselben Geschäftsmethoden wie das Geschäftsobjekt selbst, jedoch ohne die eigentliche Geschäftslogik. Stattdessen wird Aufruf mit allen Aufrufsparametern über das Netzwerk an das Skeleton weitergegeben. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 57 Architektur verteilter Objekte Mögliche Ergebnisse werden auf dem umgekehrten Weg vom Geschäftsobjekt über das Skeleton an den Stub und weiter an den Klienten zurückgegeben. 1 Klient ruft Methode 2 Übertrage auf aufgerufene Methode Stub RMI Loop Skeleton Object Server 5 Gib Ergebnis zurück 4 Übertrage Ergebnis 3 Rufe Methode auf Server auf Client Tier Netzwerk Middle Tier Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 58

Enterprise JavaBeans Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 59 JavaBeans vs. Enterprise JavaBeans Zwei voneinander unabhängige Komponentenmodelle. JavaBeans wurden hauptsächlich für den intra-process Einsatz entwickelt, nicht für verteilte Objekte (obwohl man das mit Hilfe von Java RMI erreichen kann). Hauptanwendungsfeld liegt auf der Klientenseite mit visuellen und nicht-visuellen Komponenten. Package java.beans. Enterprise JavaBeans wurden für den inter-process Einsatz entwickelt. Bauen nicht auf JavaBeans auf. Package javax.ejb. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 60

Enterprise JavaBeans Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 61 Die Reederei Titan Cruises. Schiffe, Kabinen, Ausflüge, Reisebüros, Zahlung durchführen, Buchen. Zugriff von Reederei, Reisebüros. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 62