EJB jar.xml und Name Service (JNDI)



Ähnliche Dokumente
Anwendung eines Enterprise Java Beans

EJBs und Sicherheit. Vorlesung: Applikationsserver. Prof. Dr. Ch. Reich furtwangen.de furtwangen.

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Der lokale und verteilte Fall

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung

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

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, Universität Freiburg, Germany

Enterprise Java Beans

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Etablierung serviceorientierter Architekturen mit Web Services

Enterprise Java Beans (EJB)

Enterprise java beans step-by-step

Übung: Verwendung von Java-Threads

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

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

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

Mobile und Verteilte Datenbanken

Enterprise Java Beans Einführung

Titel. SCSM ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab

Enterprise JavaBeans (mit JBoss)

Objektorientierter Systementwurf mit Java

Separates Deployment von Produktdaten Cornelius Dirmeier (Dokumentversion 47)

Warum EJB Technologie (1)?

ANLEITUNG NETZEWERK INSTALATION

JBoss 2.2 Evaluierung

Java Beans ( )

Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

WebService in Java SE und EE

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Softwareentwicklung mit Enterprise JAVA Beans

Innovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet.

Auszug aus JAX-WS Folien

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

HP Software Patch- und Version-Notification

Der Pfadfinder Referenzierung mit JNDI im WebLogic- Server

Es gibt zwei Wege die elektronischen Daten aus Navision zu exportieren.

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

MailUtilities: Remote Deployment - Einführung

Task: Nmap Skripte ausführen

ORACLE Business Components for Java (BC4J) Marco Grawunder

Anleitung Typo3-Extension - Raumbuchungssystem

How-to: Webserver NAT. Securepoint Security System Version 2007nx

LabTech RMM. Integration von Teamviewer. Vertraulich nur für den internen Gebrauch

Planung für Organisation und Technik

Planung für Organisation und Technik

SE2-10-Entwurfsmuster-2 15

Installationsanleitung Spamfilter Outlook 2003

Softwareentwicklung mit Enterprise JAVA Beans

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Das Starten von Adami Vista CRM

ClubWebMan Veranstaltungskalender

ÖVSV Mitglieder-Datenbank. Benutzerhandbuch Version 1.2.1

Kurzeinführung Excel2App. Version 1.0.0

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Java Einführung Packages

Internet online Update (Mozilla Firefox)

Programmieren in Java

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

SJ OFFICE - Update 3.0

Internet online Update (Internet Explorer)

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Betriebssystem Windows - SSH Secure Shell Client

Family Safety (Kinderschutz) einrichten unter Windows 8

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

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

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Internet Explorer Version 6

Tutorial: Wie kann ich Dokumente verwalten?

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Verteilte Systeme: Übung 4

Inhaltverzeichnis 1 Einführung Zugang zu den Unifr Servern Zugang zu den Druckern Nützliche Links... 6

Softwarepaket WINLine 8.7

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

Import Zertifikate ELM

Betriebshandbuch. MyInTouch Import Tool

Anwendungsbeispiele Buchhaltung

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Einrichtung Secure-FTP

OP-LOG

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Remote Method Invocation

Abschnitt 12: Strukturierung von Java-Programmen: Packages

my.ohm Content Services Autorenansicht Rechte

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

Verbinden von IBM Informix mit Openoffice mittels JDBC

Whitepaper. Produkt: address manager David XL Tobit InfoCenter AddIn für den address manager Zuordnung

visionapp Base Installation Packages (vbip) Update

Was ist das Tekla Warehouse

ODBC-Treiber Programmübersicht

Projekt SBI Benutzeranleitung Remotezugriff. Teilprojekt Standard-Arbeitsplatz Arbeitspaket Basis Applikationen. Kantonsspital St.

Browser Grid Funktionalitäten

Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server

Installation der SAS Foundation Software auf Windows

Transkript:

EJB jar.xml und Name Service (JNDI) Applikationsserver Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.de/~reich/appserver/index.html

Beschreibung der Beans mit Deployment Descriptor ejb jar.xml

Deployment-Descriptor Name: ejb-jar.xml Ort: META-INF-Verzeichnis der Jar- Datei Header: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"> Root-Element: ejb-jar

Kind-Elemente des ejb-jar Element Beschreibung description? Textbeschreibung der ejb-jar-datei. display-name? Name, der von Tools benutzt wird. small-icon? large-icon? Pfad, innerhalb der jar-datei, für jpeg-bilder (16x16) Pfad, innerhalb der jar-datei, für jpeg-bilder (32x32) enterprisebean Nähere Beschreibung/ Definition der Beans. relationships? Definiert CMP Beziehungen Assemblydescriptor? Definiert Transaktionen und Security ejb-client-jar? Definiert JAR-Datei, die Stubs und Interfaces für Remote-Clients enhält.

enterprise-beans: Session Bean (wichtige Elemente) Element ejb-name ejb-class Beschreibung Spitzname des Beans, dient als Referenz Session-Bean Klasse + Package- Name Home-Interface Remote-Interface Local-Home-Interface Local-Interface Stateful Stateless home? remote? local-home? local? session-type transactiontype Container Bean

enterprise-beans: Session Bean (weniger wichtige Elemente) Element Beschreibung description? Textbeschreibung der ejb-jar-datei. display-name? Name, der von Tools benutzt wird. small-icon? Pfad, innerhalb der jar-datei, für jpeg-bilder (16x16) large-icon? Pfad, innerhalb der jar-datei, für jpeg-bilder (32x32) env-entry* Definition von Umgebungsvariablen ejb-ref* Definition von Referenzen zu anderen Beans. ejb-local-ref* Definition von Referenzen zu lokalen Beans. security-role-ref* Definiert Sicherheitsrollen Definiert wie Sicherheitskontexte ermittelt werden security-identity* können resource-ref* Definiert Referenzen zu Resourcen (z.b. JDBC) resource-env-ref* Bindet Resourcen-Factories zu JNDI Spitznamen

stateless Session Bean Bsp.... <enterprise-beans> <session> <ejb-name>hellobean</ejb-name> <ejb-class> StatelessSessionBean.HelloStatelessSessionBean </ejb-class> <home>statelesssessionbean.hellohome</home> <remote>statelesssessionbean.hello</remote> <session-type>stateless</session-type> <transaction-type>container</transaction-type> </session> </enterprise-beans> </ejb-jar>

enterprise-beans: Entity Bean (wichtige Elemente) Beschreibung Spitzname des Beans, dient als Referenz Session-Bean Klasse + Package- Name Home-Interface Remote-Interface Local-Home-Interface Local-Interface Element ejb-name ejb-class home? remote? local-home? local? primary-keyclass reentrant cmp-field* primkey-field? Klasse der Primärschlüssels true/false Definiert die Felder die der Container managen soll. Falls keine PK-Klasse, dann hier ein Feld als Key definieren. cmp-field besteht aus description? und field-name

enterprise-beans: Session Bean (weniger wichtige Elemente) Element Beschreibung description? Textbeschreibung der ejb-jar-datei. display-name? Name, der von Tools benutzt wird. small-icon? Pfad, innerhalb der jar-datei, für jpeg-bilder (16x16) large-icon? Pfad, innerhalb der jar-datei, für jpeg-bilder (32x32) env-entry* Definition von Umgebungsvariablen ejb-ref* Definition von Referenzen zu anderen Beans. ejb-local-ref* Definition von Referenzen zu lokalen Beans. security-role-ref* Definiert Sicherheitsrollen Definiert wie Sicherheitskontexte ermittelt werden security-identity* können resource-ref* Definiert Referenzen zu Resourcen (z.b. JDBC) resource-env-ref*bindet Resourcen-Factories zu JNDI Spitznamen cmp-version? Erlaubt EJB-Version zu setzen (1.x 2.x) query? Definitionen von EJB-QL für Finder- o. Select-Methoden

CMP Entity Bean Bsp.... <enterprise-beans> <entity> <ejb-name>counterentitybean</ejb-name> <ejb-class>counterentitybeancmp</ejb-class> <home>counterhome</home> <remote>counter</remote> <persistence-type>container</persistence-type> <prim-key-class>counterpk</prim-key-class> <reentrant>false</reentrant> <cmp-field> <field-name>counterid</field-name> </cmp-field> <cmp-field> <field-name>countervalue</field-name> </cmp-field> </entity> </enterprise-beans>...

assembly-descriptor Ermöglicht die Festlegung von Zugriffsberechtigungen, Transaktionen und das generelle Zusammenspiel von Beans einer Applikation. Element security-role* methodpermission* containertransaction* exclude-list? Beschreibung Security-Rollen können definiert werden. Spezifiziert für die einzelenen Methoden, die Zugriffsrechte. Definition der Transaktionen, der einzelnen Methoden Liste von methoden, die von niemandem aufgerufen werden dürfen.

assembly-descriptor: Bsp <assembly-descriptor> <container-transaction> <method> <ejb-name>counterentitybean</ejb-name> <method-name>*</method-name> </method> <trans-attribute>required</trans-attribute> </container-transaction> </assembly-descriptor>

Name Service Java Naming and Directory Interface (JNDI) JNDI Lookup

Namensdienst Der Client ist auf den Namensdienst angewiesen, um ein Bean zu finden. Namensdienst bildet Namen auf Remote Objekte ab. Remote-Objekt- Name b1 Referenz ref:xy452a b2 ref:yqwe82 b3 ref:90sjwds...... Der Name ist frei wählbar. JDNI wird benutzt bei EJB, RMI-IIOP, JDBC,...

Wie kommt der Client zum Home Interface 1. JNDI-Initialisierungsparamter definieren (jndi.properties) und InitialConect erzeugen. import javax.naming.initialcontext; InitialContext ctx = new InitialContext(); 2. lookup( Beanname ) mit InitialContext-Object Object obj = ctx.lookup( Name des Beans ); 3.Überprüfe, dass Object auch nach Home- Interface gecastet werden kann. import javax.rim.portableremoteobject <Home-Interface> homeif = null; homeif = (<Home-Interface>) PortableRemoteObject.narrow(obj, <Home-Interface>.class);

jndi.properties-datei java.naming.factory.initial=org.jnp.interfaces.namingcontextfactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=localhost:1099 java.naming.factory.initial Initialisierungsklasse der Factory für den Namensdienst. JNDI Treiber. java.naming.factory.url.pkgs Packages, in dem sich die Init-Klassen befinden. java.naming.provider.url Adresse des JNDI-Servers.

Beans und Namensdienst Zur Laufzeit stellt der Container dem Bean deren Containerumgebung zur Verfügung. Folgende Namen für Dienste sind im Namensdienst definiert: java:comp/env/ java:comp/env/ejb java:comp/env/jdbc java:comp/env/jms java:comp/env/mail java:comp/env/url Umgebungsvariablen Referenzen auf andere Bean Klassen Zugriff auf JDBC Datenbanken Zugriff auf den java Messaging Service Zugriff auf den Mail dienst Zugriff auf Webserver und vergleichbare Dienste

Wie kommt das Bean zum Home Interface (mit EJBHome) Grundsätzlich ist die Vorgehensweise wie beim Client: InitialConext lookup casten Unterschied: Man braucht keine Initialisierungs-parameter (jndi.properties) mitgeben. Lookup mit: java:comp/env/ejb/<beanname>

Wie kommt das Bean zum Home Interface (mit local Interface) Vorgehensweise wie zuvor: InitialConext lookup des local-home-interfaces casten ohne PortableremoteObject.narrow Unterschied: local-home-interface wirft keine RemoteExceptions. Lookup mit: java:comp/env/ejb/<beanname> Beanname wurde statt mit <ejb-ref> mit <ejblocal-ref> im Deploymentdescriptor definiert.