Architekturen für verteilte Internetdienste
|
|
- Alexander Langenberg
- vor 8 Jahren
- Abrufe
Transkript
1 1 Überblick Architekturen für verteilte Internetdienste Übung 5: Enterprise JavaBeans Wiederholung: Enterprise Java Beans Motivation Entwicklung Paketierung Optimierung von Entity Beans Literatur Bewertung JBoss 2 Wiederholung: Enterprise Java Beans 2 Wiederholung: Enterprise Java Beans Session Beans javax.ejb.sessionbean Lebenszeit verknüpft mit Session Verben der Anwendungsspezifikation Zustandslos vs. Zustandbehaftet Erzeugung von Beans (hier: entferntes Home-Object) Client RMI- Referenz EJBHome EJBObject <<erzeugt>> Bean-Instanz Entity Beans javax.ejb.entitybean Substantive der Anwendungsspezifikation Datenorientiert, z.b. Konto, Kreditkarte, Produkt Message Driven Bean javax.ejb.messagedrivenbean Schnittstelle zu nachrichtenbasierten Systemen Kann Nachrichten entgegennehmen (onmessage()) 5.1 EJB-Container Erzeugung des EJBObject durch Aufruf der create()-methode am EJBHome (z.b. über RMI-IIOP) Rückgabe der Referenz auf das EJBObject 5.2
2 3 Motivation 3 Motivation Wiederholung: Beans der JSF-Übung UserBean class UserBean { private int id; private String name, pass; CalendarBean Ziel Geschäftsdaten in Entity Beans Geschäftsmethoden in Session Beans Warum? Abstraktion der Persistenz Skalierbarkeit, Transaktionalität, etc. class CalendarBean { private List entries = new ArrayList(); EntryBean class EntryBean { int owner; String text; Zugriff durch Servlets Keine direkte Interaktion mit Entity Beans ValueObjects: reguläre JavaBeans zum Datentransfer Durchsatz höher als bei Remote-Getter Attribut Hier teilweise umbenannt Effiziente, elegante EJB-Programmierung möglich 5.3 Codebeispiele wie immer gekürzt! Entwicklung 4 Entwicklung Schritte Ermitteln von Session/Entity Beans Stateless/Stateful Session Beans Remote/Local Interfaces Entities mit CMP/BMP, CMT/BMT Architekturkonzept Programmierung Deskriptoren erstellen EAR, WAR, Client-JAR Aufsetzen der Datenbank Deployment und Start Architekturkonzept Remote Session Beans Local Entity Beans Abstrakte Persistenz mit CMP Ebenso Pooling, Passivation Datentransfer mittels Value-Objects Getrennte JVMs für EJB- und Servlet-Container Zumindest konzeptionell Remoting zwischen Servlets und Session Beans Lokale Referenzen zwischen EJBs Entity Beans nur lokal für Session Beans erreichbar
3 4 Entwicklung 4 Entwicklung Architekturkonzept Session Bean Bean-Referenzen Servlet Container Bean Container Entity Bean Entity Bean (BMP) Client Servlet/JSP Session Bean Entity Bean (CMP) Data Value Object Deskriptoren Bean-Beziehungen Client Entity Bean Session Bean 4.1 Session Bean Kalender-Management, stateful Klasse Geschäftsmethoden Umfangreiche Aktionen an eigenständigen Geschäftsmethoden Bestandteile Interface javax.ejb.sessionbean ejbactivate, ejbpassivate, ejbremove, setsessioncontext public Default-Constructor Diverse ejbcreate() Remote-Home/Bean-Interface Verwandte Methodensignaturen class TaskControllerBean implements SessionBean{ public void ejbcreate () throws CreateException{ public int counttasks() { public int[] gettaskids() { public TaskData gettaskdata(int id) { public int createtask(string description, Date due) { public void marktaskascompleted(int id) { public void deletetask(int id) { public void ejbremove() { public void ejbactivate() { public void ejbpassivate() { public void setsessioncontext(sessioncontext sc) {
4 4.1 Session Bean 4.2 Bean-Referenzen Schnittstellen EJBHome interface TaskControllerHome extends EJBHome{ TaskController create() throws RemoteException, CreateException; EJBObject interface TaskController extends EJBObject{ public int counttasks() throws RemoteException; public int[] gettaskids() throws public TaskData gettaskdata(int id) throws public int createtask(string description, Date due) throws public void marktaskascompleted(int id) throws public void deletetask(int id) throws RemoteException; Austauschbarkeit/Erweiterung auf Deployment-Ebene Konzept Clients befragen Verzeichnisdienst (hier: JNDI) Client kann Java-Anwendung, Servlet oder anderes EJB sein JNDI liefert Referenz auf HomeInterface Zugriff mittels registrierten JNDI-Namen der Bean Oder mittels java:comp/env/<jndi_name> für Komponenten-Clients Bean-Referenzen üblicherweise unter /ejb/<name> Zwei Beispiele Servlet greift auf Remote-EJB zu EJB verwendet Local-EJB im selben Container Bean-Referenzen 4.2 Bean-Referenzen Konfiguration In web.xml <ejb-ref> <ejb-ref-name>ejb/taskctrl</ejb-ref-name> <ejb-ref-type>session</ejb-ref-type> <home>avid.u5.taskcontroller</home> <remote>avid.u5.taskcontroller</remote> </ejb-ref> In ejb-jar.xml <ejb-local-ref> <ejb-ref-name>ejb/task</ejb-ref-name> <ejb-ref-type>entity</ejb-ref-type> <local-home>avid.u5.tasklocalhome</local-home> <local>avid.u5.tasklocal</local> </ejb-local-ref> Zugriff Hashtable icenv = new Hashtable(); icenv.put(context.initial_context_factory, "com.sun.jndi.cosnaming.cnctxfactory"); icenv.put(context.provider_url, "iiop://localhost:3700"); javax.naming.context context = new javax.naming.initialcontext(icenv); Object ref = context.lookup("java:ejb/taskctrl"); home = (TaskControllerHome) javax.rmi.portableremoteobject.narrow(ref, TaskControllerHome.class); TaskControllerHome tc = home.create();
5 4.3 Entity Bean 4.4 Entity Bean (BMP) Geschäftsobjekte Geschäftsmethoden Objektbezogene Methoden An abhängigen Geschäftsobjekten LocalHome-, LocalBean-Interface Entities nur intern von Session Beans angesprochen (vgl. Folie 3.7) Dann aber Session Bean Wrapper auf Geschäftsmethoden Varianten Container Managed Persistence (CMP) Bean Managed Persistence (BMP) Bestandteile analog Session Bean 5.15 Klasse class TaskBean implements EntityBean { public void ejbload() { public void ejbstore() { public void ejbremove() { public Integer ejbcreate (EntryValue e) throws CreateException { public void ejbpostcreate (EntryValue e) { public Integer ejbfindbyprimarykey (Integer id) throws FinderException { public String getdescription() { public void setdescription(string text) { public public Date getdue() { public public void setdue(date date) { public boolean getcompleted() { public void setcompleted(boolean value) { Entity Bean (BMP) 4.5 Entity Bean (CMP) JDBC in ejbcreate() Klasse InitialContext context = new InitialContext(); DataSource ds = context.lookup("java:comp/env/jdbc/aviddb"); Connection con = ds.getconnection(); con.setautocommit(false); String sql = "INSERT INTO entry VALUES (?,?,?,?)"; PreparedStatement stmt = con.preparestatement(sql); stmt.setstring(1, entryid); stmt.setstring(2, text); stmt.executeupdate(); stmt.close(); con.commit(); // release/reuse connection abstract class TaskBean implements EntityBean { public abstract Integer getid(); public abstract void setid(integer id); public abstract String getdescription(); public abstract void setdescription(string text); public abstract public Date getdue(); public abstract public void setdue(date date); public abstract boolean getcompleted(); public abstract void setcompleted(boolean value); public void setentitycontext(entitycontext ec) { public void ejbload() {return; public void ejbstore() {return; public void ejbremove() {return; Bean/Home-Interface siehe CMP
6 4.5 Entity Bean (CMP) 4.5 Entity Bean (CMP) Klasse (Fortsetzung) Klasse (Fortsetzung) public abstract Integer ejbfindbyprimarykey (Integer id) throws FinderException; public abstract int ejbselectcounttasks(); public int ejbhomecounttasks() { return ejbselectcounttasks(); public Integer ejbcreate () throws CreateException { log.info("create"); return null; // for CMP return null! public void ejbpostcreate (EntryValue e) { context.object ref = context.lookup("java:comp/env/ejb/user"); UserHome uhome = (UserHome) PortableRemoteObject.narrow(ref, UserHome.class); User u = uhome.findbyprimarykey(e.getowner()); setowner(u); u.addentry(entitycontext.getejbobject()); 5.19 // class Entity Bean (CMP) 4.5 Entity Bean (CMP) Local Interfaces Ohne RemoteExceptions! interface Task extends EJBLocalObject{ public Integer getid(); public void setid(integer id); public String getdescription(); public void setdescription(string text); public Date getdue(); public void setdue(date date); Local Interfaces interface TaskHome extends EJBLocalHome { public Task create() throws CreateException; public Task findbyprimarykey (Integer id) throws FinderException; public int counttasks(); public boolean getcompleted(); public void setcompleted(boolean value); public TaskData getdata(); public void setdata(taskdata data);
7 4.6 Deskriptoren 4.6 Deskriptoren ejb-jar.xml <?xml version="1.0"?> <!DOCTYPE ejb-jar > <ejb-jar> <enterprise-beans> <session> <ejb-name>taskcontroller</ejb-name> <home>avid.u5.taskcontrollerhome</home> <remote>avid.u5.taskcontroller</remote> <ejb-class>avid.u5.taskcontrollerbean</ejb-class> <session-type>stateful</session-type> <transaction-type>container</transaction-type> </session> ejb-jar.xml (Fortsetzung) <entity> <ejb-name>task</ejb-name> <local-home>avid.u5.tasklocalhome</local-home> <local>avid.u5.tasklocal</local> <ejb-class>avid.u5.taskbean</ejb-class> <persistence-type>container</persistence-type> <prim-key-class>java.lang.integer</prim-key-class> <cmp-version>2.x</cmp-version> <abstract-schema-name>task</abstract-schema-name> <cmp-field> <field-name>id</field-name> </cmp-field> <cmp-field> <field-name>description</field-name></cmp-field> <cmp-field> </cmp-field> <entity> s.u. </entity> </enterprise-beans> </ejb-jar> 5.23 <primkey-field>id</primkey-field> <query> s.u. </query> </entity> Deskriptoren 4.6 Deskriptoren ejb-jar.xml (Fortsetzung) Weitere Container-abhängige Deskriptoren <query> <query-method> <method-name>ejbselectcounttasks</method-name> <method-params/> </query-method> <ejb-ql> <![CDATA[ SELECT COUNT(*) FROM task ]]> </ejb-ql> </query> z.b. sun-application.xml, sun-ejb-jar.xml Anpassung an lokale Datenbank, Transaktionsmanagement Überschreiben/Erweitern der Standard-Deskriptoren Jeweils Admin-Guide studieren
8 4.7 Bean-Beziehungen 4.7 Bean-Beziehungen Container-Managed Relationships Ab CMP 2.0 Inklusive referentieller Integrität Vorher manuelle Implementierung Beispiel: Task bedient mehrere Alarme 5.27 ejb-jar.xml <ejb-jar> <relationships> <ejb-relation> <ejb-relation-name>task-alarms</ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name> task-has-alarms </ejb-relationship-role-name> <multiplicity>one</multiplicity> <relationship-role-source> <ejb-name>taskbean</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>alarms</cmr-field-name> <cmr-field-type> java.util.set </cmr-field-type> </cmr-field> </ejb-relationship-role> Bean-Beziehungen 4.8 Client ejb-jar.xml <ejb-relationship-role> <ejb-relationship-role-name> alarm-of-task </ejb-relationship-role-name> <multiplicity>many</multiplicity> <cascade-delete/> <relationship-role-source> <ejb-name>alarmbean</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>task</cmr-field-name> </cmr-field> </ejb-relationship-role> </ejb-relation> </relationships> </ejb-jar> Hier Servlets Vollständiger Java-Client auch möglich Schritte analog zu Referenzen zwischen Beans Deklaration der Bean-Referenzen in web.xml <ejb-ref> <ejb-ref-name>ejb/taskctrl</ejb-ref-name> <ejb-ref-type>session</ejb-ref-type> <home>avid.u5.taskcontrollerhome</home> <remote>avid.u5.taskcontroller</remote> </ejb-ref> Home-Interface ermitteln JNDI-Eintrag java:comp/env/ejb/taskctrl Bean-Instanz erzeugen/finden 5.29 Methodenaufrufe 5.30
9 5 Paketierung 5 Paketierung Vier verschränkte Archive AvidEJB.jar META-INF/ejb-jar.xml, /sun-ejb-jar.xml Class-Dateien (EJBs, Homes, Interfaces, Hilfsklassen) AvidEJB-client.jar Nur Class-Dateien für Client (Homes, Interfaces, Hilfsklassen) Keine Deskriptoren und EJBs AvidWeb.war Servlet-Code, Web-Dokumente WEB-INF/web.xml, /sun-web.xml AvidEJB-client.jar AvidApp.ear JAR, Enterprise Application archive AvidEJB.jar, AvidWeb.jar META-INF/application.xml, /sun-application.xml 5.31 application.xml <application> <display-name>avid Calendar</display-name> <module> <ejb>avidejb.jar</ejb> </module> <module> <web> <web-uri>avidweb.war</web-uri> <context-root>/cal</context-root> </web> </module> </application> Optimierung von Entity Beans 6 Optimierung von Entity Beans Quelle: Referenzen von lookup- und find-aufrufen immer cachen Für Session und Entity Beans Instanzvariablen, Zuweisung in set{entity SessionContext() Benutzung von CMP wenn möglich Container kann Datenbankzugriffscode besser optimieren SQL-Anweisungen immer vorbereiten Zugriff auf relationale DBs, DB muss Anweisung kompilieren Entwicklungscode der BMP und CMP unterstützt BMP-Implementierung erbt von CMP-Implementierung (+ DB-Zugriff) Anweisung ohne Daten vorkompilieren, dann bei Aufruf Daten mitschicken Spart bis zu 90% bei der Ausführungszeit! BMP: Minimierung von DB-Zugriff in ejbstore() dirty-flag zur Markierung von Änderungen Alle DB-Anweisungen schließen Offener Cursor in der DB kostet Ressourcen Vermeiden von Deadlocks 5.33 Container entscheidet Reihenfolge, wann ejbstore() aufgerufen wird 5.34
10 7 Literatur 8 Bewertung EJB Technology Fundamentals Creating a Message-Driven Bean Sun J2EE-Tutorial ab Kap EJB QL CMP Hoher Aufwand Alternative, leichtgewichtige Ansätze Spring-Framework, CUBA (Container) Hibernate (Persistenz) Demnächst: EJB 3 vereinfacht vieles Mehr dazu in der Vorlesung! JBoss 9 JBoss Installation Download von jboss.org Tarball auspacken - direkt benutzbar Unterverzeichnisse, u.a.: bin - Start-/Stop-Skripte lib - (gemeinsam genutzte) Server-JARs server - Server-Konfigurationen (all, minimal, default) server//deploy- Hot-Deployment (vgl. Tomcat) Tomcat als Servlet/JSP Container integriert JBoss IDE für Eclipse installieren Konfiguration starten: bin/run.sh [-c <config>] Hot-Deployment: EAR-Datei kopieren Management Default-Adresse: JBoss-Architektur Minimalkern + Plug-Ins Managed Beans (MBeans, siehe JMX) erbringen Funktionalität Datenbank wird automatisch erzeugt Aus CMP-Deployment Manuelle Anpassung Deployment-Anpassung in jbosscmp-jdbc.xml Information, Konfiguration Aufruf von MBeans
11 9 JBoss 10 Aufgaben JBoss-Konsole (Screenshot) Demo-Applikation Verstehen Lokale Beschränkung des Zugriffs auf TaskBean Servlet als Client Spielen, Debuggen, Enterprise Beans erstellen Integration mit Servlets/JSP Nicht besprochen, aber wichtig: Verteilte Transaktionen (Servlet-EJB-EJB-DB) Bestehende Datenbanken integrieren Sicherheit (JAAS)
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
MehrDer 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
Mehr4.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
Mehr5.2 Workshop EJB. Entwicklung von EJB-Anwendungen. Das JOnAS-System
5.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
MehrEnterprise 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
MehrJ2EEKurs. 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
MehrClient/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)
MehrArchitekturen für verteilte Internetdienste
1 Überblick Architekturen für verteilte Internetdienste Übung 5: Enterprise JavaBeans Projekt-Beispiel Projekt-Aufbau (in Eclipse) Verzeichnisstruktur Build-Prozess, Launchers Beans Container-Managed Persistence
MehrAnwendung 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
MehrSession 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
MehrEJB 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
MehrEJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de
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.
Mehr11. 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
MehrAVID-Übung 3. EJB mit JBoss und Eclipse. 17. Juni Andreas I. Schmied Abteilung Verteilte Systeme Projektgruppe AspectIX
Abteilung Verteilte Systeme Projektgruppe AspectIX Universität Ulm Fakultät für Informatik AVID-Übung 3 EJB mit JBoss und Eclipse 17. Juni 2004 Andreas I. Schmied (schmied@inf...) AVID-Übung 3 Aufgabenstellung
MehrEnterprise 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
MehrEnterprise 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?
MehrObjektorientierter Systementwurf mit Java
Objektorientierter Systementwurf mit Java Seminar im Arbeitsbereich Technische Informatik (SoSe 2001) EJB-Design und Implementierung in der Praxis (Tobias Frech) Übersicht Design-Entscheidung Persistenz:
MehrAnalyse 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
MehrEJBs und Sicherheit. Vorlesung: Applikationsserver. Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.
EJBs und Sicherheit Vorlesung: Applikationsserver Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.de/~reich Deklarative Sicherheit Zugriffsrechte auf die EJB-Methoden werden
MehrSoftwareentwicklung 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
MehrWorkshop 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
MehrEnterprise 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
MehrJava RMI Remote Method Invocation
Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrWeb 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
MehrJ2EE-Praktikum. Enterprise JavaBeans Patterns. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg
J2EE-Praktikum Enterprise JavaBeans Patterns Peter Thiemann Universität Freiburg J2EE-Praktikum, WS2005/2006 Inhalt 1 Designmuster Sitzungsfassade Wertobjekte 2 Implementierungsmuster Geschäftsinterfaces
MehrWarum 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
MehrTechnische 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
MehrSeite 1. Gliederung. Kapitel 3 Java-Komponenten-Technologien. Zweck der EJB-Technologie: Aufgabenteilung. 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
MehrJava 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
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrORACLE Business Components for Java (BC4J) Marco Grawunder
ORACLE Business Components for Java (BC4J) Marco Grawunder Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application
MehrEtablierung serviceorientierter Architekturen mit Web Services
Etablierung serviceorientierter Architekturen mit Web Services Vorlesung im (Entwicklung von Serviceangeboten) 1 Agenda Einsatzbereiche von Web Service basierten Angeboten Übersicht zur Java-System Application
MehrSoftwareentwicklung 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.
MehrEnterprise JavaBeans (mit JBoss)
Enterprise JavaBeans (mit JBoss) Christian Hülsmeier 30.10.2004 Überblick Rekapitulation des vorhandenen Wissen Entity-Beans Session-Beans Deployment-Deskriptor Sichten / Client-Anwendungen Applikationsserver
MehrErstellung 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
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrDatenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
Mehr6. 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
MehrApplication Servers. Application Server JBoss Java Management Extensions (JMX) Dynamische Rekonfigurierung
Zwischenbericht DA Thema: Dynamische Rekonfigurierung eines Application Servers Vortragsgliederung: Application Server JBoss Java Management Extensions (JMX) Dynamische Rekonfigurierung Susanne Wagenbreth
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrWorkshop Java Webentwicklung Tapestry. Ulrich Stärk
Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird
MehrRemote 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
MehrZwischenbericht Großer Beleg
Zwischenbericht Großer Beleg Enterprise JavaBeans und JavaBeans Sean Eikenberg Zielstellung des GB / Gliederung? Zusammenhang zwischen EJB & JavaBeans ausarbeiten. Mögliche Vereinigung beider Technologien
MehrEnterprise 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.
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrEnterprise Java Beans Einführung
Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse
MehrWebService in Java SE und EE
Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.
MehrInformationsintegration 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
MehrInhaltsverzeichnis. 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
MehrEnterprise 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 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrApplication 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
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrEnterprise 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
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrKonfigurationslanleitung für J2EE und Eclipse im KBS-Pool
Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool JBoss vorbereiten Wir haben ein zip-archiv mit JBoss 4.0.5 in /opt/jboss-4.0.5.zip hinterlegt. Entpacken Sie dieses in ihrem Homeverzeichnis an
MehrVertiefte Grundlagen Graphentheorie
Bauinformatik Vertiefte Grundlagen Graphentheorie 6. Semester 8. Übung Webservices Technische Umsetzung am Beispiel Flächenträgheitsmoment äg e e und Biegemoment e Benutzte Software ECLIPSE: Programmierumgebung
MehrVS Praktikum 03 Konzept
Darstellung der Architektur: Manager VS Praktikum 03 Konzept Account 3 3 7 6 NameServiceServer 4 5 2 1 2 1 Geldautomat Filiale Messagearten: Für jede unterschiedliche Message gibt es eine eigene Klasse:
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrD.58 D.57 D.60 D Bean-Managed Persistence. 5.4 Bean-Managed Persistence (2) 5.4 Bean-Managed Persistence (3) 5.4 Bean-Managed Persistence (4)
5.4 Bean-Managed Persistence Entity-Bean-Implementierung sorgt für Persistenz der Daten Zugriff auf Datenbank über JDBC-Verbindung Container legt javax.sql.datasource-objekt im JNDI-Namensraum ab (über
MehrDatenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
MehrSpring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
Mehr11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens
11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter
MehrSoftware-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
MehrUnsere Webapplikation erweitern
Unsere Webapplikation erweitern Um die Webapplikation zu benutzen: 1. Starten Sie den Server, indem Sie das Hauptprogramm in der Klasse ImdbServer starten. 2. Laden Sie im Browser die Seite http://localhost:8080/html/index.html.
MehrEnterprise 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
MehrEnterprise 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 6.
MehrElexis-BlueEvidence-Connector
Elexis-BlueEvidence-Connector Gerry Weirich 26. Oktober 2012 1 Einführung Dieses Plugin dient dazu, den Status Hausarztpatient zwischen der BlueEvidence- Anwendung und Elexis abzugleichen. Das Plugin markiert
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrD Enterprise Java Beans
1 Motivation für EJB D Enterprise Java Beans Große verteilte Anwendungen im Geschäftsleben viele Clients wollen Dienste nutzen einige Server stellen Dienste bereit einige Datenbanken halten die Geschäftsdaten
MehrJBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009
JBoss Seam Ein JEE 5 Webframework Jörg Wüthrich Infopoint, 4. Februar 2009 Inhalt Einführung Warum Seam? Zentrale Konzepte Demo Validierung Abschliessende Gedanken 04.02.2009 Infopoint - JBoss Seam - Jörg
MehrPL/SQL Web-Services mit Oracle 11g
DOAG 2008 Konferenz 01. - 03.12.2008 Nürnberg Markus Fiegler ORDIX AG, Paderborn mf@ordix.de www.ordix.de Agenda SOA und Web-Services im Überblick Datenbank als Web-Services Provider - Alternative mit
MehrNODELOCKED LIZENZ generieren (ab ST4)
NODELOCKED LIZENZ generieren () Besuchen Sie folgende Webseite support.ugs.com/global/de ( ohne www oder http:// ) Klicken Sie auf Lizenz Verwaltung und dann auf aktuelle Lizenz 1 1. Geben Sie Ihren Webkey
MehrEJB 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
MehrKonfiguration des Novell GroupWise Connectors
Konfiguration des Novell GroupWise Connectors Installation und Konfiguration Version 2013 Spring Release Status: 09. März 2013 Copyright Mindbreeze Software GmbH, A-4020 Linz, 2013. Alle Rechte vorbehalten.
MehrInstallations Guide für YAJSW und DTLDAP
YAJSW - DTLDAP Installation Guide Installations Guide für YAJSW und DTLDAP Erstellt für: Helsana AG, Franz Schnyder Erstellt von: Skypro AG, Thomas Bucher 9. Mai 2013 thomas@skypro.ch http://www.skypro.ch
MehrEnterprise java beans step-by-step
Enterprise java beans step-by-step 0. Voraussetzungen Der Orion Server ist in C:\Orion installiert! Sollten schon Versuche diese Applikation zum Laufen zu bringen fehlgeschlagen sein, empfehle ich eine
MehrEnterprise JavaBeans
Enterprise JavaBeans Übersicht Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 1. Juli 2003 Zusammenfassung
MehrJava 2, Enterprise Edition Einführung und Überblick
Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrGregor Raschke 2008 HIBERNATE. Eine Einführung
1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrSoftwareentwicklung 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
MehrJava-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
MehrInnovator 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?
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrEJB3.0 Unit-Testing Reloaded
EJB3.0 Unit-Testing Reloaded Werner Eberling werner.eberling@mathema.de www.mathema.de Werner Eberling, MATHEMA Software GmbH - EJB3.0 - Unit-Testing Reloaded (G4 - Folie 1) Java Forum Stuttgart 2007 Automatisiertes
MehrJBoss 2.2 Evaluierung
Freie Universität Berlin Autor: Natalie Ardet Datum: 10.4.2001 JBoss 2.2 Evaluierung Projekt: verteilte Informationssysteme JBoss 2.2 Evaluierung Windows NT 4.0 Installation/Konfiguration und Together
MehrJSP vs. PHP. Ein persönlicher Vergleich. EQUIcon Software GmbH Jena, Jörg Spilling Frankfurter Treffen 2004. Agenda
JSP vs. PHP Ein persönlicher Vergleich Agenda JSP-Ursprung Warum dann noch PHP ansehen? Der erste Eindruck Ein Beispiel in JSP & PHP: mein Flugbuch Der Versuch eines Vergleichs Fazit Bemerkung alles persönliche
MehrEnterprise 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.
MehrUniversität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures
SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -
Mehr