EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de



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

Enterprise Java Beans Einführung

Session Beans & Servlet Integration. Ralf Gitzel

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Kurzanweisung für Google Analytics

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Der lokale und verteilte Fall

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

TeamSpeak3 Einrichten

Leichte-Sprache-Bilder

HOSTED EXCHANGE MAIL FÜR MAC

Kleines Handbuch zur Fotogalerie der Pixel AG

Kurzeinführung Excel2App. Version 1.0.0

FastViewer Remote Edition 2.X

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Anleitung zur Webservice Entwicklung unter Eclipse

BMW TREUE SERVICE. SRP MARKETING MODUL. ANLEITUNG ZUM EINSPIELEN DER LEUCHTTURMKAMPAGNEN IN DIE KSD.

1 Was ist das Mediencenter?

OP-LOG

DB2 Kurzeinführung (Windows)

SJ OFFICE - Update 3.0

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

E-TIME ADVANCED Dokumentation zum Vorgehen bei der elektronischen Zeiterfassung. Geben Sie folgende Internetadresse ein:

Das Modul Hilfsmittel ermöglicht den Anwender die Verwaltung der internen Nachrichten, Notizen, Kontakte, Aufgaben und Termine.

HINWEISE ZUR ARBEIT IM LABOR

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Der Kalender im ipad

Updatehinweise für die Version forma 5.5.5

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

macs Support Ticket System

Anwendung eines Enterprise Java Beans

Ihr CMS für die eigene Facebook Page - 1

Artikel Schnittstelle über CSV

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Einrichten eines POP-Mailkontos unter Thunderbird Mail DE:

Kommunikations-Management

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Lizenzen auschecken. Was ist zu tun?

Vodafone Conferencing Meeting erstellen

1. Einführung. 2. Weitere Konten anlegen

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Erfolg heißt Verstehen. Wir schaffen Lösungen. SCC-SOFTWARE-LÖSUNGEN vom Elektrohandwerksbetrieb für s Elektrohandwerk

Hilfedatei der Oden$-Börse Stand Juni 2014

Klicken Sie auf Weiter und es erscheint folgender Dialog

Outlook Express: Einrichtung Account

I. Allgemeine Zugangsdaten für den neuen Server: II. Umstellung Ihres Windows Arbeitsplatzrechners

teischl.com Software Design & Services e.u. office@teischl.com

my.ohmportal Installation von Mozilla Thunderbird

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

BSV Software Support Mobile Portal (SMP) Stand

Stand: Adressnummern ändern Modulbeschreibung

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Subpostfächer und Vertretungen für Unternehmen

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

Drägerware.ZMS/FLORIX Hessen

! " # $ " % & Nicki Wruck worldwidewruck

SharePoint Workspace 2010 Installieren & Konfigurieren

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:

Produktinformation ekvdialog Kostenvoranschläge leicht gemacht. Produktinformation. ekvdialog. Kostenvoranschläge leicht gemacht

Bedienungsanleitung für den Online-Shop

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Inhaltsverzeichnis 1) Datenfeed abonnieren

ZIMT-Dokumentation für Studierende Webmail-Oberfläche (Roundcube)

Anleitung Lernobjekt-Depot (LOD)

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

teamsync Kurzanleitung

Bauteilattribute als Sachdaten anzeigen

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Der große VideoClip- Wettbewerb von Media Markt.

M-net -Adressen einrichten - Apple iphone

Kapsch Carrier Solutions GmbH Service & Support Helpdesk

KURZANLEITUNG CLOUD OBJECT STORAGE

Hilfe zur Dokumentenverwaltung

Installationsanweisung editit

Updatebeschreibung JAVA Version 3.6 und Internet Version 1.2

Umstieg auf Microsoft Exchange in der Fakultät 02

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Dokumentation Typo3. tt - news - Nachrichtenmodul

Tevalo Handbuch v 1.1 vom

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Tutorial: Wie kann ich Dokumente verwalten?

Man liest sich: POP3/IMAP

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Updatebeschreibung JAVA Version 3.8 und Internet Version 1.4

oder ein Account einer teilnehmenden Einrichtung also

EJB jar.xml und Name Service (JNDI)

Transkript:

EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1

Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw. vertieft 2

Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 3

Übersicht Kurzwiederholung Eclipse: Project Import Beispiel: PersonenDB 4

Kurzwiederholung Ralf Gitzel ralf_gitzel@hotmail.de 5

Motivation Web Container Servlet Sichtbarer Einstiegspunkt für das Servlet EJB Container DB Persistence Provider Session Bean Entity 6

Session Beans Stateful: Merkt sich den Zustand der Bean Stateless: Zustandslos, jeder Aufruf wie neu Session Beans Remote Interface Local Interface EJB Container Verschiedene Client Typen 7

Stateful Session Bean Implementierung Client I A.doX() EJB Container Session Bean Klasse A Client II 1-zu-1 Zuordnung bis zum Ende der Session A.doX() Session Bean A Objekt für I Session Bean A Objekt für II 8

Gemeinsame Übung: Eclipse Project Import Ralf Gitzel ralf_gitzel@hotmail.de 9

Übung Gemeinsamer Import aus der zip-datei Uebung-11-10.zip Wird nachher in der Programmier-Übung verwendet 10

Import 11

Import des/der Projects Nicht(!) ein Archive Importieren! 12

Import aus Archive Kann Projekte auch aus einem Archive importieren. 13

Lokale Anpassung 14

Für beide Projekte (EJB & Web) 15

Das passende JDK auswählen Ihre Nummer kann abweichen! Ggf. muss man über den Button rechts ein neues JDK anlegen 16

Den passenden EJB Server auswählen 17

EJB Server Evtl. müssen Sie noch diesen Server anlegen, wie in der ersten JEE Vorlesung beschrieben! 18

Nur bei Enterprise Application Project 19

Zum Starten Wählen Sie die JSP oder das Servlet, die/das zuerst aufgerufen werden soll! 20

Zum Starten 21

Beispiel: Personen DB Lite Aufgabenbeschreibung Ralf Gitzel ralf_gitzel@hotmail.de 22

Ziel-Applikation 23

Person anlegen 24

Person suchen 25

Personenliste 26

Liste Löschen Beendet die Session mit der EJB und startet die Anwendung für diesen Benutzer effektiv neu! 27

Beispiel: Personen DB Lite Unser Entwurf Ralf Gitzel ralf_gitzel@hotmail.de 28

Entwurf des Programms 29

Entwurf des Programms 30

Beispiel: Personen DB Lite Gemeinsame Programmierung Ralf Gitzel ralf_gitzel@hotmail.de 31

Programmstart StartServlet Was muss hier passieren? PersonenQuelle (EJB) StartSeite.jsp 32

Personenquelle EJB Welche Java-Dateien (Klassen, Interfaces etc.) müssen wir erzeugen? In welchem Projekt müssen wir dieses anlegen? Welche Annotationen sind notwendig? 33

Local Interface PersonenQuelle (EJB) Ergänzen Sie: IPersonenQuelle.java 34

Stateful Session Bean Klasse PersonenQuelle (EJB) Ergänzen Sie: PersonenQuelle.java 35

StartServlet Wie erzeugen wir eine Verbindung zum EJB Container bzw. zur Stateful Session Bean? Wo müssen wir die Verbindung speichern? 36

Wie verwende ich die Stateful Session Bean im Servlet? StartServlet (erster Aufruf der Applikation!) 1. JNDI Lookup Referenz auf EJB 2. Speicherung in Session 37

Wie verwende ich die Stateful Session Bean im Servlet? StartServlet (erster Aufruf der Applikation!) 1. JNDI Lookup Referenz auf EJB 2. Speicherung in Session 38

Konzept des JNDI Aufrufs aus einem Servlet (Automatisch) Session Bean im Context anmelden Bean Informationen konfigurieren Context vom Container holen Eine Referenz auf die Bean aus dem Context holen Für weitere Verwendung in der HttpSession ablegen 39

Konzept des JNDI Aufrufs aus einem Servlet (Automatisch) Session Bean im Context anmelden Bean Informationen konfigurieren Context vom Container holen Eine Referenz auf die Bean aus dem Context holen Für weitere Verwendung in der HttpSession ablegen 40

Nicht klausurrelevant! Was macht der EJB Container? JNDI: Java Naming and Directory Interface Namensdienst: Erlaubt das Suchen von Dateien, Objekten etc. in verschiedensten Quellen (z.b. Dateisystem, LDAP, EJB Container, ) Session Bean bekommt eine Adresse im Container (genauer im Environment Naming Context): java:comp/env = wir sind im ENC Name der EJB erlaubt eindeutige Zuordnung Prinzip ähnlich zu einer URL 41

Konzept des JNDI Aufrufs aus einem Servlet (Automatisch) Session Bean im Context anmelden Bean Informationen konfigurieren Context vom Container holen Eine Referenz auf die Bean aus dem Context holen Für weitere Verwendung in der HttpSession ablegen 42

EJB Bean Informationen 1 2 2 1 Legen Sie an: StartServlet.java 43

Konzept des JNDI Aufrufs aus einem Servlet (Automatisch) Session Bean im Context anmelden Bean Informationen konfigurieren Context vom Container holen Eine Referenz auf die Bean aus dem Context holen Für weitere Verwendung in der HttpSession ablegen 44

Context Zugriff Datei: StartServlet.java Anm: Die Befehle könnten auch direkt in doget/post stehen 45

Konzept des JNDI Aufrufs aus einem Servlet (Automatisch) Session Bean im Context anmelden Bean Informationen konfigurieren Context vom Container holen Eine Referenz auf die Bean aus dem Context holen Für weitere Verwendung in der HttpSession ablegen 46

EJB Objekt in die Session speichern Legen Sie an: StartServlet.java 47

Personeneingabe Eingabe der Personendaten Anzeige der Hauptseite Welche Elemente benötigen wir für diesen Schritt? HTML-Seite oder JSP: PersonalDatenEingabe.html Servlet: PersonAnlegenServlt.java Dateneingabe 48

Zugriff auf die SessionBean Diesen Schritt bitte später selbstständig bearbeiten Liegt ganz normal in der Session der Servlets! Wichtig: Nur über Interface arbeiten! 49

Die @Remove Methode Was tun? Liste löschen 50

Was passiert bei @Remove? (I) Servlet A Servlet B Session für User Alpha Attribut: DiePersonenQuelle Servlet C Objekt vom Typ PersonenQuelle (=EJB) 51

Was passiert bei @Remove? (II) Servlet A Servlet B Session für User Alpha Attribut: DiePersonenQuelle Servlet C Aufruf: @Remove Objekt vom Typ PersonenQuelle (=EJB) 52

Was passiert bei @Remove? (III) Servlet A Servlet B Session für User Alpha Attribut: DiePersonenQuelle Servlet C Aufruf: @Remove Objekt vom Typ PersonenQuelle (=EJB) Ungültig! 53

Was passiert bei @Remove? (IV) Session für User Alpha Attribut: DiePersonenQuelle Objekt vom Typ PersonenQuelle (=EJB) Ungültig! Jeder folgende Aufruf an das ungültige Objekt führt zu einer Exception! 54

Die @Remove Methode LoeschenListe Servlet, das die @Remove Methode aufruft StartServlet Herstellen eines neuen gültigen Objekts Liste löschen 55

Aufruf der Remove-Methode Bitte legen Sie das Servlet an: LoeschenListe.java 56

Hinweis Oftmals ist @Remove der letzte Aufruf eines Users, d.h. man muss kein neues Objekt mehr anlegen Hier haben wir eine Demoanwendung, d.h. der User meldet ich wieder als neuer User mit neuer Session an! 57

Weitere Übungsmöglichkeiten 58

Lernziele Ralf Gitzel ralf_gitzel@hotmail.de 59

Lernziele Stateful Session verwenden können @Remove-Methode 60

Anhang (Anlegen eines neuen Projekts) Ralf Gitzel ralf_gitzel@hotmail.de 61

Enterprise Application Project 62

Einstellungen Bel. Name 5.0 Next 63

Module erzeugen Wir brauchen nur EJB und Web! 64

Web App Link zum EJB Project Rechtsklick auf Web Project > Properties 65

javaee.jar (in beiden Projekten) Im Applicationserver-Verzeichnis (z.b. Glassfish, JBoss ) 66