Technische Universität Dresden Prof. Hußmann Softwarekomponenten. 3.3 Enterprise JavaBeans-Technologie

Größe: px
Ab Seite anzeigen:

Download "Technische Universität Dresden Prof. Hußmann Softwarekomponenten. 3.3 Enterprise JavaBeans-Technologie"

Transkript

1 Gliederung 1. Software-Komponenten: Grundlegende Begriffe 2. Systematischer Entwicklungsprozess für Komponenten-Software mit UML 3. Java-Komponenten-Technologien 3.1 JavaBeans-Technologie 3.2 Web-Komponenten mit Java 3.3 Enterprise JavaBeans-Technologie 4. Komponentenspezifikation 5. Komponententechnologien im Vergleich 5.1 Microsoft COM/DCOM/COM+ 5.2 CORBA Component Model 5.3 Vergleich der Komponentenstandards 6. Zusammenfassung und Ausblick Kapitel 3 Java-Komponenten-Technologien 3.3 Enterprise JavaBeans-Technologie EJB-Architektur Session Beans Wiederholung; Rollen in der EJB-Entwicklung Entity Beans Transaktionsbehandlung, Sicherheit Message-Driven Beans Seite 1

2 Zweck der EJB-Technologie: Aufgabenteilung "Vertrag" (programming contract) für den Hersteller der Server- Komponenten: Einhalten von Programmier-Konventionen Bereitstellung der Software in gebrauchsfertiger Verpackung» z.b. JAR-Archive in verschiedenen Varianten Nutzung von Infrastrukturdiensten des Containers» z.b. Container-Managed Persistence Berücksichtigung von Container-Aktionen» z.b. Activate-/Passivate-Methoden (Hook-Methoden) "Verstecken" der Client-Systeme und der Infrastruktur "Vertrag" für den Programmierer der Client-Anwendung: Programmieren "gegen" abstrakte Schnittstellen» Objekt-Schnittstelle (Remote Interface)» Verwaltungs-Schnittstelle (Home Interface) "Verstecken" der Implementierungsdetails und der Infrastruktur Wiederholung: EJB Class "CounterEJB" (1) import javax.ejb.sessionbean; import javax.ejb.sessioncontext; public class CounterEJB implements SessionBean { private int count; private int startvalue; private int incrvalue; private boolean enabled; public void ejbcreate() { startvalue = 0; incrvalue = 1; reset(); enabled = true; public int getcurrent () { return count;... public int getstartvalue () { return startvalue; Sicht: Hersteller von Server-Komponenten Seite 2

3 Wiederholung: EJB Class "CounterEJB" (2)... public void reset () { count = startvalue; public void count () { if (enabled) { count += incrvalue; // EJB Lifecycle Callback Methods public void ejbremove() { public void ejbactivate() { public void ejbpassivate() { public void setsessioncontext(sessioncontext sc) { Sicht: Hersteller von Server-Komponenten Wiederholung: Schnittstellen für Client public interface Counter extends EJBObject { public int getcurrent() throws RemoteException; public int getstartvalue() throws RemoteException; public void setstartvalue(int value) throws RemoteException; public int getincrvalue() throws RemoteException; public void setincrvalue(int value) throws RemoteException; public boolean getenabled() throws RemoteException; public void setenabled(boolean value) throws RemoteException; public void reset() throws RemoteException; public void count() throws RemoteException; public interface CounterHome extends EJBHome { Counter create() throws RemoteException, CreateException; Sicht: Hersteller von Client-Software Seite 3

4 Wiederholung: Client-Programm import javax.naming.context; import javax.naming.initialcontext; import javax.rmi.portableremoteobject;... try { Context ictx = new InitialContext(); Object ctrref = ictx.lookup("jndi Name"); CounterHome ctrhome = (CounterHome)PortableRemoteObject.narrow (ctrref,counterhome.class); Counter counter = ctrhome.create();... counter.setstartvalue(...); counter.count();... catch (Exception ex) { System.err.println("Error when connecting to server"); ex.printstacktrace(); Sicht: Hersteller von Client-Software "Offizielles" EJB-Rollenmodell EJB-2.0-Standard definiert sieben verschiedene Rollen: Enterprise Bean Provider» Hersteller flexibler, wiederverwendbarer Server-Komponenten Application Assembler» Erstellung von Anwendungen aus EJBs und anderen Komponenten Deployer» Anpassung und Installation einer bestimmten Anwendung für Ausführungsumgebung (incl. EJB Server und Container) EJB Server Provider & EJB Container Provider» Bereitstellung von Server-Software und Werkzeugen» vgl. Sun Referenz-Implementierung für J2EE-Server Persistence Manager Provider» Bereitstellung von persistenter Speicherung für Entity Beans System Administrator» Konfiguration, Beobachtung, Anpassung im laufenden Betrieb Seite 4

5 Kapitel 3 Java-Komponenten-Technologien 3.3 Enterprise JavaBeans-Technologie EJB-Architektur Session Beans Wiederholung; Rollen in der EJB-Entwicklung Entity Beans Transaktionsbehandlung, Sicherheit Message-Driven Beans Achtung: Dieser Abschnitt gibt verbesserte und detailliertere Fassungen der Folien Nr aus der letzten Vorlesung! Entity Beans Aus der Sicht eines Client-Programms: Entity Bean = Komponente, die eine objektorientierte Sicht auf eine oder mehrere Entitäten bereitstellt, die in persistentem (dauerhaftem) Speicher abgelegt werden. Sehr ähnliche Konventionen wie für Session Beans Container-Managed Persistence (CMP): (siehe folgendes Beispiel) Volle Ausnutzung der möglichen Aufgabenteilung Abbildung auf persistente Speicherung verborgen vor dem Entwickler der Server-Komponenten (EJB Provider) (Hier: EJB 2.0-Standard) Bean-Managed Persistence (BMP): Persistenz als Bestandteil der Server-Komponenten Verwendung traditioneller Hilfsmittel (z.b. eingebettetes SQL) Seite 5

6 Beispiel: Remote Interface "Account" import java.rmi.remoteexception; import javax.ejb.ejbobject; public interface Account extends EJBObject { int getaccountno() throws RemoteException; int getbalance() throws RemoteException; String getowner() throws RemoteException; void credit(int amount) throws RemoteException; void debit(int amount) throws RemoteException, InsufficientFundsException; public class InsufficientFundsException extends Exception { public InsufficientFundsException() { Eine Entity-Bean-Klasse repräsentiert eine Sicht auf einen Datenbestand. Bevorzugt Getter- und Setter-Methoden Objektorientiertes Prinzip: auch fachliche Methoden definiert Hilfsklassen z.b. für fachliche Ausnahmesituationen Granularität von Entity Beans Eine Instanz einer Entity Bean umfaßt mindestens einen Datensatz, kann aber auch mehrere Datensätze kapseln. Empfehlenswert: Kapselung eines (existenz-)unabhängigen Objekts mit davon abhängigen Objekten (dependent objects) "Granularität" von EJBs nicht zu klein wählen! Beispiel: Bestellung 1..* 1 Order OrderLine Product 1 * Order und Product sind unabhängig voneinander OrderLine ist abhängig von Order und Product Eine Entity Bean für Order und OrderLine verwenden! Seite 6

7 Beispiel: Home Interface "AccountHome" import javax.ejb.ejbhome; import java.rmi.remoteexception; import javax.ejb.createexception; import javax.ejb.finderexception; import java.util.collection; public interface AccountHome extends EJBHome { Account create(string owner, int accountno) throws RemoteException, CreateException; Account findbyprimarykey(integer pk) throws RemoteException, FinderException; Collection findbyowner(string owner) throws RemoteException, FinderException; Verwaltung großer Mengen von Entity-Bean-Instanzen Diverse Such-Methoden; verpflichtend findbyprimarykey Löschen von Instanzen über Methoden von javax.ejb.ejbhome Ergebnis einer Suchmethode Remote Interface Klasse, falls immer einelementig java.util.collection (von Remote Interface), falls mehrelementig "Home Methods": Fachliche Methoden, die auf allen Instanzen arbeiten Objektidentität und Primärschlüssel Identität über Home Interface und Primärschlüssel: Wenn zwei Objekte über das gleiche Home-Interface zugänglich sind und den gleichen Primärschlüssel tragen, gelten sie als identisch. Der Primärschlüssel-Wert eines Objektes darf sich über seine Lebenszeit nicht verändern. Vordefinierte Methode in EJBObject: boolean isidentical(ejbobject o) Folgende Verfahren stellen nicht (immer) die Identität zweier Objekte fest:» Vergleich der Referenzen mit "=="» Vergleich der Objektidentität mit equals() Container müssen Objektinstanzen entfernen, erzeugen, umwidmen etc. können, unabhängig von der fachlichen Identität. Seite 7

8 Beispiel: EJB Class mit CMP "AccountEJB" (1) import javax.ejb.entitybean; import javax.ejb.entitycontext; public abstract class AccountEJB implements EntityBean { // Container-managed persistent fields public abstract int getaccountno(); public abstract void setaccountno(int no); public abstract String getowner(); public abstract void setowner(string owner); public abstract int getbalance(); public abstract void setbalance(int bal); Persistentes Feld "accountno" // Constructor public AccountEJB() { public Integer ejbcreate(string owner, int accountno) { setaccountno(accountno); setowner(owner); setbalance(0); return null;... Initialisierung bei Erzeugung Typ des Primärschlüssels als Resultat; Konvention (bei CMP): Rückgabewert "null" Deployment-Information zur Persistenz Seite 8

9 Wahl von Primärschlüssel-Klassen Einfache Primärschlüssel: java.lang.string, java.lang.integer etc. Konversion von int nach Integer etc. vom Container unterstützt Zusammengesetzte Primärschlüssel: Eigene Hilfsklasse definieren (z.b. AccountPK) Reine Datenstrukturklasse, Schlüsselbestandteile als öffentliche Felder Feldnamen identisch zu Namen der entsprechenden persistenten Felder hashcode() und equals() implementiert z.b.: public AccountPK { public Integer accountno; public String owner;... Remote Interface und persistente Felder public interface Account extends EJBObject { Remote public int getaccountno() throws RemoteException; Interface public int getbalance() throws RemoteException; public String getowner() throws RemoteException;... public abstract class AccountEJB implements EntityBean { public abstract int getaccountno(); public abstract void setaccountno(int no); Persistente public abstract int getbalance(); Felder in public abstract void setbalance(int bal); public abstract String getowner(); EJB Class public abstract void setowner(string owner);... Implementierung der Get- und Set-Methoden durch Container Offenlegung (exposition) von Get- und Set-Methoden im Remote Interface Meist nur Auswahl offengelegt (hier z.b. "read-only") Set-Methode für Primärschlüssel (hier setaccountno) niemals offenlegen! Seite 9

10 Beispiel: EJB Class mit CMP "AccountEJB" (2) public void ejbpostcreate(string owner, int accountno) { public void credit(int amount) { Nichttrivial nur, wenn eigene setbalance(getbalance() + amount); Objektidentität verarbeitet wird. public void debit(int amount) throws InsufficientFundsException { int oldbalance = getbalance(); if (amount > oldbalance) throw new InsufficientFundsException(); else setbalance(oldbalance - amount); // EJB Lifecycle Callback Methods public void ejbremove() { public void ejbactivate() { public void ejbpassivate() { public void setentitycontext(entitycontext ec) { public void unsetentitycontext() { public void ejbload() { public void ejbstore() { Speichern des Entity Context meist sinnvoll (Zugang zu weiterer Information) Trivial nur im Falle der Container Managed Persistence! Und wer kümmert sich um die Datenbank? Quellcode der Entity Bean ist völlig unabhängig vom unterliegenden Persistenz-Mechanismus. "Deployment"-Zeitpunkt: Festlegung der konkreten Datenbank Sun Referenzumgebung:» Einfaches relationales Datenbanksystem "Cloudscape"» Vordefinierte Datenbanken und JNDI-Namen Notwendige Informationen im Deployment Tool / Descriptor Seite 10

11 Und wer implementiert die "find"-methoden? Methoden findbyprimarykey und findbyowner tauchen im Quellcode der EJB Class nicht auf (da CMP verwendet)! Aufruf der Methoden in der Referenzimplementierung: Fehler, z.b.: "javax.ejb.ejbexception: No SQL statement for findbyprimarykey" Implementierungen der "find"-methoden bei CMP: Bei relationalen Datenbanken als Persistenzmechanismus:» Abbildung auf SQL-Abfragen findbyprimarykey:» automatisch erzeugbar aus den gegebenen Informationen findbyowner (und alle anderen benutzerdefinierten find-methoden):» Spezifikation mittels Deployment-Werkzeug in der plattformunabhängigen Sprache "EJB-QL" (EJB-Query Language)» Ablage im Deployment Descriptor (also "mit verpackt")»übersetzung meist nach SQL, ggf. auch andere Behandlung je nach Laufzeitumgebung Beispiel: Erzeugung von SQL-Code Gleicher Mechanismus für Manipulation von Tabellen und findbyprimarykey() Seite 11

12 Beispiel: EJB-QL für "findbyowner" FROM Account o WHERE o.owner =?1 Enterprise Java Beans Query Language (EJB QL) Abfragen über Entity Beans mit Container-Managed Persistence Stark angelehnt an SQL, aber: optimierbar bei Übersetzung auf SQL portierbar jenseits proprietärer SQL-Dialekte, sogar jenseits RDBMS Syntax: [ <select_clause> ] <from_clause> [ <where_clause> ] <select_clause>: unnötig, wenn <from_clause> nur eine freie Variable enthält <from_clause>:» Navigation über Referenzen (d.h. über Kollektionen): FROM OrderBean o, l IN o.lineitems» Navigation zu entfernten Objekten: =>-Operator <where_clause>:» Eingabeparameter:?n für n-ten Parameter (Anfang bei 1)» Arithmetische Ausdrücke, Bereiche, Mustervergleich von Zeichenreihen,... Seite 12

13 Client-Programm für Account EJB (Auszug) import javax.naming.context; import javax.naming.initialcontext; import java.rmi.remoteexception; import javax.rmi.portableremoteobject; public class SimpleAccountClient { private static void printaccount(account acc) throws RemoteException { System.out.println("Account no "+acc.getaccountno()+" status "+"(owner = "+acc.getowner()+")"); System.out.println("balance = "+acc.getbalance()); public static void main(string[] args) { try { Context ictx = new InitialContext(); Object acctref = ictx.lookup("hh14account"); AccountHome accthome = (AccountHome)PortableRemoteObject.narrow (acctref,accounthome.class); Account acc1 = accthome.create("hussmann",55); printaccount(acc1); acc1.credit(1000); printaccount(acc1);... Der Persistenz-Effekt Mehrfacher Aufruf des einfachen Client-Programms führt zu verschiedenen Ergebnissen: Erster Aufruf: OK Weitere Aufrufe: javax.ejb.duplicatekeyexception: Duplicate primary key Mehrere unabhängige Programme können auf der gleichen Entity Bean arbeiten! Entity Beans bleiben sogar über Systemabschaltungen, die meisten "Abstürze" etc. hinweg erhalten! Seite 13

14 Beispiel: Client-Programm zur Abfrage import javax.naming.context; import javax.naming.initialcontext; import java.rmi.remoteexception; import javax.rmi.portableremoteobject; import java.util.*; public class FindAccountClient { private static void printaccount(account acc) { public static void main(string[] args) { try { Context ictx = new InitialContext(); Object acctref = ictx.lookup("hh14account"); AccountHome accthome = (AccountHome)PortableRemoteObject.narrow (acctref,accounthome.class); Iterator it = (accthome.findbyowner("hussmann")).iterator(); while (it.hasnext()) printaccount((account)it.next()); catch (Exception ex) {... Persistente Beziehungen zwischen EJBs Eine EJB kann dauerhafte Beziehungen (relationships) zu anderen EJBs und abhängigen Klassen besitzen. eins-zu-eins, eins-zu-viele, viele-zu viele einseitig oder beidseitig navigierbar Prinzipielle Realisierung bei CMP: Container-managed persistent fields mit Referenzen auf Remote Interface» "container managed relationships" Für "zu-viele"-beziehungen: java.util.collection Referentielle Integrität und Multiplizität werden vom Container sichergestellt» Auffinden von referenzierten Objekten (auch remote)» Redundante Referenzen in lokalen Feldern werden automatisch synchron gehalten» Typüberprüfung von Kollektionen, die Beziehungen realisieren Seite 14

15 Bean Managed Persistence (BMP) Wichtigste Unterschiede zur Container Managed Persistence: EJB Class greift direkt auf Speichermedium zu (z.b. Datenbank via JDBC) Datenbankschema muß explizit angelegt werden Aufwendigere Codierung; u.u. schlechtere Portabilität Keine automatische Verwaltung von Beziehungen Keine Unterschiede in Home/Remote Interface! Client-Programm kennt die Realisierungsvariante (CMP/BMP) nicht. Ausführliches Beispiel zu Bean Managed Persistence: Sun J2EE Developer's Guide (siehe Vorlesungs-Homepage) Beispiel: EJB Class mit BMP "AccountEJB" (1) import java.sql.*; import javax.sql.*; import java.util.*; import javax.ejb.*; import javax.naming.*; public class AccountEJB implements EntityBean { private int accountno; private String owner; private double balance; private Connection con; Lokale Variablen zum Zwischenspeichern persistenter Informationen private String dbname = "java:comp/env/jdbc/accountdb"; public Integer ejbcreate(string owner, int accountno) { try { insertrow(accountno, owner, balance); catch (Exception ex) { throw new EJBException(); this.accountno = accountno; this.owner = owner; this.balance = 0; return new Integer(accountNo);... Bei BMP: Primärschlüsselwert zurückgeben Seite 15

16 Beispiel: EJB Class mit BMP "AccountEJB" (2) // Beispiel einer lokalen Hilfsmethode (JDBC) // Hier werden die Daten persistent abgelegt private void insertrow (int accountno, String owner, int balance) throws SQLException { String insertstatement = "insert into account values (?,?,? )"; PreparedStatement prepstmt = con.preparestatement(insertstatement); prepstmt.setinteger(1, accountno); prepstmt.setstring(2, owner); prepstmt.setinteger(3, balance); prepstmt.executeupdate(); prepstmt.close();... Beispiel: EJB Class mit BMP "AccountEJB" (3) // Fachliche Methoden (credit, debit) kaum anders als bei CMP: // Hier weggelassen! public int getaccountno() { return accountno;... public Integer ejbfindbyprimarykey(integer primarykey) throws FinderException { boolean result; try { result = selectbyprimarykey(primarykey); catch (Exception ex) { throw new EJBException(); if (result) { return primarykey; else { throw new ObjectNotFoundException... Get- und Set-Methoden des Remote Interface explizit programmiert Suchmethoden explizit programmiert (Ergebnis Primärschlüssel, nicht Remote Interface) ("Row for id " + primarykey + " not found."); Seite 16

17 Beispiel: EJB Class mit BMP "AccountEJB" (4) public void setentitycontext(entitycontext context) { try { makeconnection(); catch (Exception ex) { throw new EJBException(); public void ejbload() { // ejbstore() analog! try {... loadrow(); catch (Exception ex) { throw new EJBException(); // makeconnection(), loadrow(): // Explizite Datenbankzugriffe mit JDBC EJB Lifecycle Methoden explizit programmiert (nicht nur "Callback-Methoden") Life Cycle einer Entity Bean does not exist 1. newinstance() 2. setentitycontext() unsetentitycontext() 1. ejbcreate() 2. ejbpostcreate() ejbactivate() pooled ejbpassivate() ejbfind... ejbselect... ejbhome... ejbremove() ready ejbload() ejbstore() fachliche Methoden Seite 17

4.2 Workshop EJB. Entwicklung von EJB-Anwendungen

4.2 Workshop EJB. Entwicklung von EJB-Anwendungen 4.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt

Mehr

Enterprise Java Beans

Enterprise Java Beans silbergrau Consulting & Software GmbH Enterprise Java Beans Fachhochschule Hagenberg WS 2001 / 2002 Silbergrau Consulting & Software GmbH Dr. Andreas Erlach Inhaltsübersicht Application Server J2EE Architektur

Mehr

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

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany Enterprise JavaBeans Einführung Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Inhalt Allgemeines Motivation Rollen Aufbau einer EJB Arten von Beans Enterprise JavaBeans

Mehr

Application Server Application Server: Motivation Application Server: Begriff

Application Server Application Server: Motivation Application Server: Begriff Application Server ƒ Begriff und Einordnung ƒ Basistechniken ƒ Enterprise JavaBeans (EJB) Vorlesung Internet-Datenbanken 8-1 Application Server: Motivation ƒ Geschäftsanwendungen im Internet mehrstufige

Mehr

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Die hohe Kunst der aromatischen Bohnenmischung oder Replikator: Einmal Kaffee, Brasilia Highland Blend, Heiß Motivation Bean = Komponente Datenbank Zielgruppe Kommerzielle Anwendungen

Mehr

Enterprise Java Beans (EJB)

Enterprise Java Beans (EJB) silbergrau Consulting & Software GmbH Enterprise Java Beans (EJB) Fachhochschule Hagenberg WS 2002 / 2003 Silbergrau Consulting & Software GmbH Dr. Andreas Erlach Inhaltsübersicht Application Server J2EE

Mehr

Architekturen für verteilte Internetdienste

Architekturen für verteilte Internetdienste 1 Überblick Architekturen für verteilte Internetdienste Übung 5: Enterprise JavaBeans holger.schmidt@uni-ulm.de Wiederholung: Enterprise Java Beans Motivation Entwicklung Paketierung Optimierung von Entity

Mehr

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

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

11. Enterprise Java Beans Grundlagen der Programmierung II (Java) 11. Enterprise Java Beans Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

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

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Enterprise JavaBeans Basics Enterprise JavaBeans (EJB) Enterprise JavaBeans (EJB) Komponenten sind wohl definiert verteilt (MI-based) serverseitig Sie dienen

Mehr

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.

Mehr

6. Java Java Beans und Enterprise Java Beans

6. Java Java Beans und Enterprise Java Beans 6. Java Java Beans und Enterprise Java Beans Peter Sturm Universität Trier Java Einführung Erfolgreicher virtueller Maschinenansatz der Gegenwart Vorbilder IBM: Virtualisierung der gesamten Rechnerhardware

Mehr

Technische Universität Dresden Prof. Hußmann Softwarekomponenten. 3.3 Enterprise JavaBeans-Technologie

Technische Universität Dresden Prof. Hußmann Softwarekomponenten. 3.3 Enterprise JavaBeans-Technologie Gliederung 1. Software-Komponenten: Grundlegende Begriffe 2. Systematischer Entwicklungsprozess für Komponenten-Software mit UML 3. Java-Komponenten-Technologien 3.1 JavaBeans-Technologie 3.2 Web-Komponenten

Mehr

Java Beans (22.02.2001)

Java Beans (22.02.2001) Component Based Software Development Java Beans (22.02.2001) Stefan Jäger Robert Kalcklösch Veranstalter: M. Bittner W. Koch Inhalt Einführung in Java Die Java Beans Einsatz und Entwicklung von Beans Enterprise

Mehr

AVID Übung 3. Enterprise JavaBeans. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm

AVID Übung 3. Enterprise JavaBeans. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm AVID Übung 3 Enterprise JavaBeans Andreas I. Schmied (schmied@inf...) Abteilung Verteilte Systeme Universität Ulm SS2005 Und nun... Motivation 1 Motivation Andreas I. Schmied (schmied@inf...) AVID Übung

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

Enterprise JavaBeans

Enterprise JavaBeans Enterprise JavaBeans Sebastian Pipping 18. Dezember 2006 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Teil I J2EE J2EE Was ist J2EE? Was ist J2EE?

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick 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.

Mehr

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

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken Objektorientierte Datenbanken Ralf Möller, FH-Wedel z Beim vorigen Mal: y Java Data Objects Teil 1 z Heute: y Java Data Objects Teil 2 z Lernziele: y Grundlagen der Programmierung persistenter Objekte

Mehr

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Enterprise Java Beans eine Einführung in die EJB Technologie Prof. Dr. Nikolaus Wulff Problemstellung verteilte Dienste Heterogene Plattformen Referenzierung von Objekten

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

Software-Entwicklung mit Enterprise JavaBeans (EJB) 2.0

Software-Entwicklung mit Enterprise JavaBeans (EJB) 2.0 Software-Entwicklung mit Enterprise JavaBeans (EJB) 2.0 Prof.Dr. Jürgen Dunkel Fachhochschule Hannover Fachbereich Informatik juergen.dunkel@inform.fh-hannover.de ejbforgi, Jürgen Dunkel, FH Hannover 1

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

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

Enterprise JavaBeans Überblick: 10. Queries Interface Query 10.2 EJB Query Language 10.3 Named Queries Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

EJB jar.xml und Name Service (JNDI)

EJB jar.xml und Name Service (JNDI) 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

Mehr

OR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle

OR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle OR-Mapping Zwei Paradigmen treffen aufeinander Gegensätze OO vs. Relational: Stichwort: O/R Impedance Mismatch Person Tabellen mit Schlüssel und Fremdschlusselbeziehungen. Abt-Nr. beschäftigt Pk-Nr Name

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen

Mehr

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Einführung in die J2EE EJB Technologie Prof. Dr. Nikolaus Wulff Übersicht Client-Server Grundlagen HelloWorld mit RMI und CORBA Struktur einer Client-Server-Architektur EJB Basics

Mehr

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

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Enterprise JavaBeans (EJB) - Grundlagen, Technologie und Anwendungen

Enterprise JavaBeans (EJB) - Grundlagen, Technologie und Anwendungen In diesem Kapitel: Enterprise Java Beans Technologie Der EJB Container Enterprise Beans Remote & Home Interface Business Methoden Entity Beans Session Beans Lifecycle Methoden Entity Beans Session Beans

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

Oracle & Java HOW TO

Oracle & Java HOW TO Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau

Mehr

Informationsintegration und Web-Portale. Tutorial: Enterprise Java Beans. Erik Buchmann

Informationsintegration und Web-Portale. Tutorial: Enterprise Java Beans. Erik Buchmann Universität Karlsruhe (TH) Informationsintegration und Portale Tutorial: Enterprise Java Erik Buchmann buchmann@ira.uka.de IPD, Forschungsbereich Systeme der Informationsverwaltung Benötigte Software Entity

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Enterprise Java Beans. Thomas van Husen

Enterprise Java Beans. Thomas van Husen Enterprise Java Beans Thomas van Husen 1 Standard Edition J2SE Java 1.3.1 1.4 Enterprise Edition J2EE 1.3 2 J2EE 1.3 packages Package App Client Applet Web EJB JDBC 2.0 JA N JA JA Extension EJB 2.0 JA

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

EJB 3.0 alles wird einfacher. Stephan Metzler, eurolink SWITZERLAND

EJB 3.0 alles wird einfacher. Stephan Metzler, eurolink SWITZERLAND Endlich ein POJO EJB 3.0 alles wird einfacher Referent:, eurolink SWITZERLAND Java EE 5 Über mich IT Consulting FH-Dozent Schwerpunkt J2EE / EJB Autor diverser Schulungsunterlagen Firmenschulungen Fachvorträge

Mehr

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen Java Beans Enterprise Java Beans Eine kurze Einführung in die Welt der Bohnen Java Beans Einführung Stefan Sauer Was ist ein Java Bean? Beans sind Komponenten. Einmal schreiben Überall wiederverwerten

Mehr

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

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Traditione le Entwicklung: Anpassung und Auslieferung von Software Produkten. Prof.Dr.Frank M.Thiesing Frank.Thiesing@FH-Dortmund.de 30.

Traditione le Entwicklung: Anpassung und Auslieferung von Software Produkten. Prof.Dr.Frank M.Thiesing Frank.Thiesing@FH-Dortmund.de 30. Traditione le Entwicklung: Anpassung und Auslieferung von Software Produkten Prof.Dr.Frank M.Thiesing Frank.Thiesing@FH-Dortmund.de 30.März 2004 Seminar Komponentenorientierte Softwareentwicklung und Hypermedia

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Spezielle Technik aus dem Java-Umfeld Ausführung von Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VMs Aufruf

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

Beispiel: JavaBeans. Enterprise JavaBeans: Server-Komponenten

Beispiel: JavaBeans. Enterprise JavaBeans: Server-Komponenten Kap. 5 Enterprise JavaBeans () G 5.1Enterprise JavaBeans Komponentenbasierte Systementwicklung mit deklarativer Anpassung Die Enterprise JavaBeans-Philosophie Anwendungsentwicklung mit Enterprise JavaBeans

Mehr

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

Ausgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns. Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt Ausgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt Motivation des Vortrags Design Patterns in der Softwareentwicklung Problembeschreibung

Mehr

Vesant JDO Genie für transparente Persistenz mit relationalen Datenbanken.

Vesant JDO Genie für transparente Persistenz mit relationalen Datenbanken. Vesant JDO Genie für transparente Persistenz mit relationalen Datenbanken. Martin Wessel Senior Pre-Sales Consultant Versant GmbH mailto: Martin.Wessel@versant.net Copyright Versant Europe 2004. All products

Mehr

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Innovator 11 classix. Unterstützung von Enterprise JavaBeans für Borland JBuilder. HowTo. Alexander Borschet.

Innovator 11 classix. Unterstützung von Enterprise JavaBeans für Borland JBuilder. HowTo. Alexander Borschet. Innovator 11 classix Unterstützung von Enterprise JavaBeans für Borland JBuilder Alexander Borschet HowTo www.mid.de Inhaltsverzeichnis EJBs für Borland JBuilder mit Innovator classix unterstützen...4

Mehr

GML und Bibliothek oracle.sdoapi

GML und Bibliothek oracle.sdoapi GML und Bibliothek oracle.sdoapi Nachfolgend werden die Java-Klassen aus dem GML-Kapitel unter Verwendung der alten Klassenbibliothek oracle.sdoapi dargestellt. Erzeugung von GML 3.1 aus SDO_GEOMETRY-Objekten

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

JDBC. Java DataBase Connectivity

JDBC. Java DataBase Connectivity JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Info B VL 14: Java Collections/Reflections

Info B VL 14: Java Collections/Reflections Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte

Mehr

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Schritt 5: Session Beans

Schritt 5: Session Beans Prof. Dr. Th. Letschert FB MNI JEE Schritt 5: Session Beans Session Beans Übersicht Session Beans dienen dazu serverseitige Geschäftsprozesse zu realisieren. Es gibt sie drei Zustands Varianten: Stateless

Mehr

II.4.4 Exceptions - 1 -

II.4.4 Exceptions - 1 - n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen

Mehr

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

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Connection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen.

Connection Pooling. Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Connection Pooling Was ist das?? Unter Connection Pooling versteht man generell die Wiederverwendung physischer Datenbankverbindungen. Wo wird es eingesetzt?? Connection Pooling wird vor allem in Verbindung

Mehr

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen

Mehr

Kapitel 5: Interfaces

Kapitel 5: Interfaces Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 8 Slide 1 Objektorientierte Datenbanken Vorlesung 8 Sebastian Iwanowski FH Wedel OODB 8 Slide 2 Offene Fragen vom letzten Mal: Kann man in einer JDOQL-Anfrage Elemente herausfiltern, deren Attribute

Mehr

Persistenz. Ralf Gitzel

Persistenz. Ralf Gitzel Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3 Grundkonzepte

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1 Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1 Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

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

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Mehrschichtenarchitekturen und Komponentenumgebungen

Mehrschichtenarchitekturen und Komponentenumgebungen Forschungszentrum Informatik Universität Karlsruhe (TH) Mehrschichtenarchitekturen und Komponentenumgebungen Guido Sautter IPD Geschäftsprozesse und Enterprise Applications Geschäftsprozess = Verkettungen

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc. 7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

Vorlesung Software aus Komponenten

Vorlesung Software aus Komponenten Vorlesung Software aus Komponenten 3. Komponenten-Modelle Prof. Dr. Hans-Gert Gräbe Wintersemester 2006/07 1 Enterprise JavaBeans (EJB) Enterprise JavaBeans Modell: Beans = ununterscheidbare Objekte in

Mehr

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12. Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis

Mehr

Effizienzsteigerung durch Mapping- Tools bei der Integration von RDBMS in Java-Anwendungen

Effizienzsteigerung durch Mapping- Tools bei der Integration von RDBMS in Java-Anwendungen Effizienzsteigerung durch Mapping- Tools bei der Integration von RDBMS in Java-Anwendungen ARS NOVA Software GmbH Klaus Kiehne Java Forum, 28. Juni, 9:45-10:30 1 Inhalt Aufgaben und Fähigkeiten Einsatz-

Mehr

Gebundene Typparameter

Gebundene Typparameter Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;

Mehr

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

Innovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet. www.mid.de Innovator 11 classix Enterprise JavaBeans (EJB) für JBuilder Alexander Borschet Connect www.mid.de Modellieren und Generieren von Enterprise JavaBeans (EJB) für JBuilder Wozu dient die Anbindung an JBuilder?

Mehr

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Aufkleber Name: Vorname: Matrikel: Studiengang: inkl. DPO4, B/M, Schwerp., Schreiben Sie zunächst Ihren

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Überblick! Architektur! EJB in der Praxis! Dienste und Probleme / Nachteile 2 Motivation für Applikation Server Die Auseinandersetzung wird sich in diesem Jahrzehnt bei Middleware

Mehr

EJBs Kurz und Gut. Eine kurze Einführung in die Java 2 Enterprise Beans

EJBs Kurz und Gut. Eine kurze Einführung in die Java 2 Enterprise Beans EJBs Kurz und Gut Eine kurze Einführung in die Java 2 Enterprise Beans EJBs Einblick in die Thematik Durch den Druck der Wirtschaftsglobalisierung werden Unternehmen dazu gezwungen, ihre Geschäfte überregional

Mehr