Enterprise JavaBeans Architektur Folien zum IFC-Vortrag am 20.12.2000.

Slides:



Advertisements
Ähnliche Präsentationen
EJB, Norbert Schuler1 Enterprise Java Beans z Was sind Enterprise JavaBeans? z Historie z Motivation z Architektur z Konstruktion eines Enterprise.
Advertisements

Dynamische WEB-Applikationen
Simon Martinelli – JSR 303 Bean validation Simon Martinelli –
Microsoft Referenzarchitekturen- Infrastruktur für Connected Systems
Public interface native private abstract final strictfp synchronized transient static volatile protected in KürzeKürze java.lang.reflect.Modifier1.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Enterprise Java Beans (EJB) VL Anwendungssysteme Freitag, Gerald Weber.
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
Design by Contract with JML - Teil 2
JDBC & ODMG Motivation - Beispielanwendung JDBC - DriverManager - Connection - Statement - ResultSet Anwendung ODMG - Objektmodell /ODL - OQL - Java-Binding.
Objektrelationales Mapping mit JPA Entity Mapping Jonas Bandi Simon Martinelli.
Java 2 Enterprise Edition (J2EE)
Java 2 Enterprise Edition (J2EE)
Stephan Bury  Pascal Busch  Bita Gerami
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Dynamische Webseiten Java servlets.
Objektorientierte Programmierung JDK-Klassenbibliothek
Business Logik als EJB-Applikation Gruppe pea19 Raed IssaChristian KubanekHonoré Tiako.
Java2 Enterprise Edition René Noack Mai 2003
JAVA RMI.
Vortrag zum Multimediaseminar an der Universität Osnabrück im Wintersemester 2000/2001 Virtual Reality Markup Language - VRML.
Seminar Web-Engineering Nina Aschenbrenner / Ruben Jubeh 1 FG Software Engineering Software Engineering Seminar Web Engineering Seminar des Fachgebiet.
Seminar SE: MDE 1 FG Software Engineering Software Engineering Seminar Model Driven Engineering Seminar des Fachgebiet Software Engineering Ruben Jubeh,
Remote Methode Invocation (RMI)
04 - Actions Actions Actions 2 Motivation In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt. Häufig werden.
Arbeitskreis Software Technologien FH Konstanz 15. Oktober 1999
Compuware Corporation MDA and Pattern how to do more with less Andreas Herzig Java Solutions Manager Central Europe.
J2EE Conformance von JDBC Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)
.NET – Quo Vadis? Dariusz Parys Developer Group Microsoft GmbH.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Verteilte Transaktionen mit EJBs und JDBC 2.0
Brückenschlag zwischen J2EE 1.4 und Mainframe
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
FQTQ ShowCase Prototyp einer Applikation zur Beratungsunterstützung.
XML-Schnittstellen: SAX, DOM, XML Pull Parsing Timo Terletzki Transformation von XML-Dokumenten.
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
OOD – Object Oriented Design II
Die Programmiersprache Java
OO implementieren Teil IV Objekte erzeugen. © René ProbstModul 226IV - 2 Von der Klasse zum Objekt Plan Bau Objekt Klasse Instanzierung Objekt Das Objekt.
Software Architektur II
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
EJB-Applikationsserver
EsprIT 1 Übersicht in Bildern Framework zur Entwickung von Java Applikationen Client/Server, GUIs, Datenbank,
Projekt Alcatraz Java RMI / Spread - Gruppe A4.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Kap 4-1OHO Kap. 4.2 Das Orbix CORBA-System Kurzer überblick zu der CORBA-Implementierung Orbix •Unser Fahrplan: •IDL Verwendungsbeispiel •Zoom-In: CORBA.
Praxis der Internet-Programmierung
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Web Application Engineering & Content Management.
TOGAF - The Open Group Architecture Framework
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
© Talend Apache Camel Christian Schneider Sopera GmbH Talend´s Application Integration Division
Komponentenarchitekturen, Enterprise Java Beans (EJB)
Common Language Runtime Seminar Softwareentwicklung Wintersemester 2003 Gertraud Orthofer
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
Infopoint - Java EE 5 - Jörg Wüthrich1 / 24 Java EE 5 Infopoint, Jörg Wüthrich.
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner |
Transaktionale Systeme Projektteil B Verteilte Transaktionen, Workflow- und Transaktions-Manager.
Enterprise JavaBeans (EJB) und Application Server
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
EJB Architektur für große Web - Applikationen Gerald Weber
Java 2 Enterprise Edition (J2EE) Sascha Baumeister Software Architect Specification Lead JSR086 IBM Deutschland Entwicklung GmbH
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Schnittstellen für Verteilte System mit J2EE Frank Schwichtenberg SourceTalk 2008 Göttingen,
Verteilte Anwendungen: J2EE
Martin Jäkle, TSBU Middleware
 Präsentation transkript:

Enterprise JavaBeans Architektur Folien zum IFC-Vortrag am

©2000, Elmar Seestädt2 Java 2 Enterprise Edition – Überblick 1/2 JDBC (Java Database Connectivity) RMI (Remote Method Invocation) JNDI (Java Naming and Directory Interface) Java IDL / CORBA (Interface Description Language / Common Object Request Broker Architecture)

©2000, Elmar Seestädt3 J2EE-Überblick 2/2 JMS (Java Message Service) JTA (Java Transaction API) Java Servlets / JSP (Java ServerPages) EJB (Enterprise JavaBeans)

©2000, Elmar Seestädt4 Was sind Enterprise JavaBeans Verteiltes Komponenten Modell JavaBeans als RMI-Remote Objekte Können die Vorteile des Frameworks nutzen Transaktionen Persistenz Sicherheit Resourcen-Pools Andere Java-APIs Brauchen eine Laufzeitumgebung (EJB- Container)

©2000, Elmar Seestädt5 EJB-Container Dient als Laufzeitumgebung für EJB Sun liefert nur eine Referenzimplementation BEA Weblogic Server, EnHydra Open Source Projekt Hersteller ist verpflichtet alle Zusagen für EJBs einzuhalten -> Kompatibilitätslogo Hersteller darf sog. Value-added-features einbauen -> Kompatibilitätsprobleme Einige Details sind nicht standardisiert: z.B. Laden des Datenbanktreibers -> Herstellerspezifisch

©2000, Elmar Seestädt6 Beantypen Persistenz Business Methoden Finder Methoden PrimaryKey Container Managed Persistence (CMP) Bean Managed Persistence (BMP) Überdauern nur eine Benutzersitzung Applikations Logik Statefull Session Beans Stateless Session Beans Entity BeansSession Beans

©2000, Elmar Seestädt7 Session Beans Haben über Methodenaufrufe hinweg einen Zustand Sind für eine Sitzung spezifisch Z.B. Abwicklung eines Workflows Z.B. Shopping Cart Speichern keinen Zustand Vergleichbar mit statischen Methoden einer Klasse Eine Bean kann von verschiedenen Benutzern gleichzeitig genutzt werden Z.B. Druckdienste anbieten StatefullStateless

©2000, Elmar Seestädt8 Home Interface Factory zum erzeugen von Instanzen Namenskonvention: DeinBeanNameHome.java Extends EJBHome public EJBMetaData getEJBMetaData() throws java.rmi.RemoteException; public void remove(...) throws java.rmi.RemoteException, RemoveException; Methoden zum Erzeugen von Beans public void create(...) throws java.rmi.RemoteException, evtl. andere Exceptions

©2000, Elmar Seestädt9 Remote Interface Interface für die Remote ausführbaren Methoden Namenskonvention: DeinBeanName.java Extends EJBObject public EJBHome getEJBHome() throws java.rmi.RemoteException; public Handle getHandle() throws java.rmi.RemoteException; public Object getPrimaryKey() throws java.rmi.RemoteException; public boolean isIdentical(EJBObject obj) throws java.rmi.RemoteException; public void remove() throws java.rmi.RemoteException, RemoveException; Enthält weiter die Business und Bean Methoden

©2000, Elmar Seestädt10 Bean Implementation Implementation der aus den Interfaces vorgegebenen Methoden Implementiert die Home/Remote Interfaces nicht direkt, sondern ist nur lose verpflichtet die vereinbarten Methoden zu implementieren Namenskonvention: DeinBeanNameBean.java Implementiert das SessionBean Interface public void ejbActivate() throws java.rmi.RemoteException; public void ejbPassivate() throws java.rmi.RemoteException; public void ejbRemove() throws java.rmi.RemoteException; public void setSessionContext(SessionContext ctxt) throws java.rmi.RemoteException; Enthält zu jeder create(...) eine korrespondierende ejbCreate(...) Methode

©2000, Elmar Seestädt11 CMP-Entity Bean Der EJB-Container übernimmt das Datenbankmapping Auf einfache Datenrelationen beschränkt Man braucht kein SQL selbst schreiben, sondern gibt nur die Datenfeld/Tabellenspalte Relation an Man hat evtl. Probleme bei der Skalierung der Applikation Für die Finder Methoden wird ein herstellerabhängiges kurzes Skript geschrieben

©2000, Elmar Seestädt12 Home Interface Gleiche Konventionen wie bei Session Beans Es gibt sog. Finder Methoden: Mindestens vorhanden: public DeinBeanName findByPrimaryKey(PKType pk) throws java.rmi.RemoteException, FinderException; Liefern entweder DeinBeanName oder Enumeration/Iterator Konvention: public... findByIrgendwas(...) throws java.rmi.RemoteException, FinderException;

©2000, Elmar Seestädt13 Bean Implementation Implements EntityBean public void ejbLoad() throws java.rmi.RemoteException; public void ejbStore() throws java.rmi.RemoteException; public void ejbActivate() throws java.rmi.RemoteException; public void ejbPassivate() throws java.rmi.RemoteException; public void ejbRemove() throws java.rmi.RemoteException; public void setSessionContext(SessionContext ctxt) throws java.rmi.RemoteException; public void unsetSessionContext() throws java.rmi.RemoteException; Die Methoden aus dem EntityBean Interface werden nur leer implementiert Man braucht nur die Business Methoden implementieren

©2000, Elmar Seestädt14 BMP-Entity Bean Man muß nun selbst das Finden, Laden, Speichern, Erzeugen und Zerstören der Beans kodieren Man kann auch komplexe Datenzusammenhänge modellieren Die entsprechenden SQL Befehle sind alle selbst zu schreiben Bei der Skalierung auftretende Probleme kann man nun durch schlaueren Code umgehen

©2000, Elmar Seestädt15 Bean Implementation Es wird wieder das EntityBean Interface implementiert Die vorgegebenen Methoden werden nicht leer, sondern mit Inhalt implementiert Zu den ejbCreate(...) Methoden gibt es korrespondierende ejbPostCreate(...) Methoden

©2000, Elmar Seestädt16 Implementationstrick Um Implementationsfehler zu umgehen kann man das Remote Interface implementieren. Damit man die EJBObject Methoden nicht implementieren muss gibt es folgenden Trick: EJBObjectDeinBeanNameRemote DeinBeanName erbt DeinBeanNameBean implementiert

©2000, Elmar Seestädt17 Literatur Java Enterprise in a Nutshell – David Flanagan Core Servlets and Java ServerPages – Marty Hall Designing Enterprise Applications with J2EE – Nicholas Kassem Enterprise JavaBeans – Richard Monson-Haefel