Java Enterprise Edition (Java EE)

Größe: px
Ab Seite anzeigen:

Download "Java Enterprise Edition (Java EE)"

Transkript

1 Java Enterprise Edition (Java EE) Eine Einführung

2 Java Enterprise Editon Java EE platform API and runtime environment for developing and running enterprise applications and services large-scale multi-tiered scalable reliable secure distributed network applications designed to reduce the complexity of enterprise application development, providing a development model APIs for standard system services runtime environment allows developers to concentrate on business and presentation logic 2

3 Java EE platform uses a distributed multitiered application model for enterprise applications Application logic is divided into components according to function Components are grouped in a stack of tiers Components are potentially installed on various machines Typically Presentation: client and web tier Business tier Persistent data tier Distributed Multitiered Applications 3

4 Genau genommen: Spezifikation einer Softwarearchitektur für Enterprise Java- Anwendungen von Sun jetzt Oracle In der Praxis aber auch: Spring, Tomcat, Hibernate Spezifiziert werden Komponenten und Dienste Aktuelle Version: JEE 6 JEE 5/6 vereinfacht die Entwicklung enorm gegenüber J2EE (1.4) aus 2003 Wesentlicher Unterschied: Menge der zu erstellenden Artefakte (Schnittstellen, Deployment-Deskriptoren, Implementierungsvorschriften für Callback-Methoden) Java EE 4

5 Standardisierung Skalierbarkeit Interoperabilität Warum JEE? 5

6 Java-EE-Komponenten erfordern als Laufzeitumgebung eine spezielle Infrastruktur, den Java EE Applicationserver Dieser Server stellt verschiedene technische Funktionalitäten bereit Security Transaktionsmanagement Namens- und Verzeichnisdienste Skalierung Kommunikation zwischen Java-EE-Komponenten Management der Komponenten über den gesamten Lebenszyklus (inklusive Instanziierung) Unterstützung für die Installation (Deployment) und den Betrieb von Anwendungen Applicationserver 6

7 Applicationserver Open Source Server Apache Geronimo JBoss Application Server GlassFish... Alternativen Spring-Framework Tomcat WebContainer... Proprietäre Server IBM WebSphere Oracle Application Server Oracle WebLogic Server SAP NetWeaver Application Server... 7

8 Insgesamt 23 Die wichtigsten Spezifikationen innerhalb von JEE: EJB (Enterprise Java Beans) JMS (Java Message Service) JTA (Java Transaction API) JPA (Java Persistence API) CDI (Context and Dependency Injection) JNDI (Java Naming and Directory Interface) JAAS (Java Authentication and Authorization) Wichtige Subspezifikationen 8

9 Applikationsserver 9

10 Applicationserver Ein Java-EE-Server wird in diverse logische Komponenten unterteilt: Web-Container Laufzeitumgebung für Servlets und JavaServer Pages (JSP) Bereitstellung von verschiedenen Diensten für Servlets EJB-Container Laufzeitumgebung für Enterprise Java Beans Überwachung des Lebenszyklus von EJBs Instanzen-Pooling Bereitstellung von verschiedenen Diensten für EJBs (Namens- und Verzeichnisdienst, Transaktionsdienst, Nachrichtendienstes Persistenz JCA-Container (JEE Connector Architecture) Laufzeitumgebung Anbindung heterogener Fremdarchitekturen 10

11 Presentation Tier (Web Tier) JSF Pages (Java Server Faces) JSF Backing Beans Business Tier Enterprise Beans JTA (Java Transaction API) Persistence Tier Entity Beans JPA (Java Persistence API) Aufbau einer Anwendung 11

12 Einordnung der APIs 12 JSP JSF XSL EJB Webservices JPA Darstellungs- schicht Logik & Kommunikation Datenhaltungs- schicht JNDI JMS JTA XML Servlets JMX

13 JavaServer Pages (JSP) Framework für Webapplikationen basiert auf aus JSPs generierten Servlets Java Server Faces (JSF) Framework für Webapplikationen Alternative zu JSP Java Servlet API Erlaubt die Erweiterung von Servern, deren Protokoll auf Anfragen und Antworten basiert JavaEE-APIs 13

14 Java Transaction API (JTA) Schnittstelle zur standardisierten Kontrolle von Transaktionen Java Persistence API (JPA) Schnittstelle zur vereinfachten Zuordnung und Übertragung von Java- Objekten zu Datenbankeinträgen Java Naming and Directory Interface (JNDI) Schnittstelle mit der alle Java Klassen auf Namens- und Verzeichnisdienste zugreifen können über JNDI wird insbesondere der Zugriff auf Java-EE-Komponenten sichergestellt JavaEE-APIs 14

15 Java Message Service (JMS) API zur asynchronen Nachrichtenverarbeitung Java Connector Architecture (JCA) dient der transparenten Integration von externen Systemen Java Management Extensions (JMX) dient der Verwaltung von Java-EE Komponenten Webservice, JAAS, JavaMail, StAX, JavaEE-APIs 15

16 Deployment als EAR (EnterpriseArchive) Deployment einer Anwendung META-INF/ -- application.xml -- MANIFEST.MF -- <Library JAR files> -- <EJB Module JAR files> -- <Web Module WAR files> -- <ResourceAdapter RAR files>

17 Aufbau einer Anwendung am Beispiel Schnelldurchlauf von oben nach unten

18 Umgebung Datenbank MySQL Application Server Glassfish (Referenzimplementierung, besser nicht für produktiven Einsatz) Datenbank MySQL XAMPP-Paket: XAMPP installieren laut Anleitung XAMPP Control zum starten/stoppen von MySQL und Apache (für phpmyadmin) phpmyadmin: Benutzer (hier jee ) mit Datenbank anlegen Demoumgebung 18

19 Applicationserver GlassFish Download kommerziell: Open Source: https://glassfish.java.net/de/ Installation Kurzanleitung: Doku: View Library Installation Guide / Quick Start Guide Schritte MySQL JDBC-Treiber installieren (jar in GlassFish-lib-Verzeichnis) GlassFish starten (siehe JEE- Eclipse) GlassFish JDBC Connection Pool einrichten GlassFish JDBC DataSource unter JNDI-Namen einrichten Demoumgebung 19

20 JEE-Eclipse Download: Eclipse IDE for Java EE Server in Eclipse einrichten Servers View New Server GlassFish (ggf. vorher Download additional server adapters) Kontextmenü auf Server Start, Stop, AdminConsole (i.d.r. localhost:4848) JEE-Project New Other... Web Dynamic Web Project Target runtime: GlassFish Demoumgebung 20

21 Java Server Faces (JSF 2.0) Eine Einführung

22 Presentation Tier (Web Tier) JSF Pages (Java Server Faces) JSF Backing Beans Aufbau einer Anwendung 22

23 Java Server Faces 2.0 JSF: Framework für Web-Anwendungen in JavaEE Trennung von Darstellungsschicht und Programmlogik nach MVC-Pattern Facelet XHTML-Template <html>! <h:body>! <h2>customer with id! "#{bankingbean.customerid}! </h2>! <h:inputtext value=! "#{bankingbean.name} />! <h:commandbutton! value="speichern! action="#{personformular.! speichern}"/>! </h:body>! </html>! View Backing Bean POJO getattr() setattr(...) action() Controller Model 23

24 Backing Beans (einfache Java-Klassen) Zugriff auf Daten durch get- und set- Methoden Aktions-Methoden, die z.b beim Klick auf einen Button ausgeführt werden JSF lädt diese Beans bei Bedarf automatisch in den Speicher Facelets Template-Engine zwischen Backing Beans und Web-Browser erzeugt Webseiten auf der Grundlage von Vorlagen (Facelets), die mit Daten aus den Beans befüllt werden Java Klassen enthalten kein HTML, Facelets enthalten kein Java-Code Trennung von Java-Programmierung von HTML-Entwicklung Facelets und Backing Beans 24

25 Templates für Webseiten (typischerweise Endung.xhtml) enthalten HTML + Ausdrücke aus der Expression Language + JSF Tags Expression Language Ausdrücke #{user.name}!#{geld.eingang - geld.ausgang}! #{auto.farbe!= rot} JSF-Tags Kontrollstrukturen <ui:fragment rendered="#{user.alter > 12} >!!! Du bist alt genug!! </ui:fragment>!! <ui:repeat var="auto" value="#{meinbean.alleautos}">!!! Das Auto #{auto.name} ist #{auto.farbe}.!! </ui:repeat> Facelets 25

26 Facelets JSF-Tags HTML-(Formular-)Elemente! <h:form>!!! <h:inputtext value="#{personformular.name} />!!! <h:commandbutton value="speichern!!!!! action="#{personformular.speichern}"/>!! </h:form> Bestimmung des Page-Flows Facelet-Name als Rückgabewert der Aktions-Methoden (ohne Endung.xhtml)! public String speichern() {!!!... Aufruf Geschäftslogik...!!! return gespeichert ;!! }! ruft Facelet gespeichet.xhml auf 26

27 Zusammenspiel mit Backing Bean 27

28 Grundkonfiguration WebContent/WEB-INF/web.xml (sun-web.xml brauchen wir hier nicht) JSF ist ein Aufsatz auf die Servlet API, d.h. Faces-Servlet konfigurieren <?xml version="1.0" encoding="utf-8"?>! <web-app xmlns:xsi=http://www.w3.org/2001/xmlschema-instance! xmlns=http://java.sun.com/xml/ns/javaee! xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd! xsi:schemalocation="http://java.sun.com/xml/ns/javaee! id="webapp_id" version="3.0">! <display-name>webapp Name</display-name>! <welcome-file-list>! <welcome-file>index.xhtml</welcome-file>! </welcome-file-list>! <servlet>! <servlet-name>faces Servlet</servlet-name>! <servlet-class>javax.faces.webapp.facesservlet</servlet-class>! <load-on-startup>1</load-on-startup>! </servlet>! <servlet-mapping>! <servlet-name>faces Servlet</servlet-name>! <url-pattern>*.xhtml</url-pattern>! </servlet-mapping>! </web-app>! 28

29 WebContent/WEB-INF/faces-config.xml Überbleibsel von JSF 1.0 Konfiguration bei JSF 2.0 weitgehend über Annotationen d.h. entfällt i.d.r. oder leer Grundkonfiguration 29 <?xml version="1.0" encoding="utf-8"?>! <faces-config! xmlns="http://java.sun.com/xml/ns/javaee"! xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"! xsi:schemalocation="http://java.sun.com/xml/ns/javaee!!!!! version="2.0">! </faces-config>!

30 automatisch bei Bedarf vom Container instantiiert unter dem Klassennamen der Template Engine bekannt gemacht eindeutiger Name für Managed-Beans, egal in welchem Package ) Scoping von Beans, d.h. Definition der Lebensdauer, per genau einmal geladen, solange im Speicher, wie die Applikation für jeden HTTP Request eine neue eigene in der HTTP-Session abgelegt und wieder solange, wie Nutzer die aktuelle Seite benutzt Backing Bean 30

31 Backing Bean package de.skatulla.jee.jsfbeans;! import java.io.serializable;! import javax.faces.bean.managedbean;! public class PersonBean implements Serializable {!! private static final long serialversionuid = L;!! private String _name;!! private String _id;!! public String getname() {!!! return _name;!! }!! public void setname(string name) {!!! _name = name;!! }!! public String getid() {!!! return _id;!! }!! public void setid(string id) {!!! _id = id;!! }!! public String save() {!!! setid(uuid.randomuuid().tostring());!!! return "Person";!! }! }! 31

32 Facelet <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"! "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">! <html xmlns="http://www.w3.org/1999/xhtml"! xmlns:h="http://java.sun.com/jsf/html"! xmlns:ui="http://java.sun.com/jsf/facelets">! <head>! <title>person</title>! </head>! <body>!! <h:form>!!! <h1>person</h1>!!! <h:panelgrid border="0" columns="2">!!!! <h:outputtext value="id"/>!!!! <h:outputtext value="#{personbean.id}"/>!!!! <h:outputtext value="name"/>!!!! <h:inputtext value="#{personbean.name}"/>!!! </h:panelgrid>!!! <h:commandbutton value="save" action="#{personbean.save}"/>!! </h:form>! </body>! </html>! 32

33 Enterprise Java Beans (EJB 3.1) Eine Einführung

34 Business Tier Enterprise Beans JTA (Java Transaction API) Aufbau einer Anwendung 34

35 Komponente mit Geschäftslogik und/oder Zugriff auf persistente Daten Ausführung im EJB Container Seit JEE 5 POJO mit Annotationen In J2EE 1.4 mit Home-, Remote- und SessionBean-Interface und Deployment- Deskriptor Zugreifbar über die JNDI-Registry Unterscheidung: Stateless Session Bean Stateful Session Bean Message Driven Bean EJB Enterprise Java Bean 35

36 Zwei Status: Non existent und Ready Callbacks im Zustandlos Stateless Session Bean 36

37 Eine Instanz pro Client Status: Non Existent, Ready, Passivated Callbacks Wird eher selten eingesetzt Stateful Session Bean 37

38 Kommunikation über JMS Nimmt Nachrichten entgegen, für Queues/Topics, auf die sich eine MDB registriert hat MessageDrivenBean 38

39 Stateless Session Bean Service IPersonService.save() deklariert durch Interface Implementation durch Stateless Session Bean PersonServiceImpl package de.skatulla.jee.services;! import de.skatulla.jee.jsfbeans.personbean;! public interface IPersonService {!! public abstract void save(personbean personbean);! }! package de.skatulla.jee.services;! import java.util.uuid;! import javax.ejb.stateless;! import public class PersonServiceImpl implements IPersonService public void save(personbean personbean) {!!! personbean.setid(uuid.randomuuid().tostring());!! }!! }! 39

40 Verwendung des Services Backing Bean erhält Zugriff auf Service durch Dependency Injection (DI) keine Abhängigkeit zur Service-Implementation nur zum Interface keine Instanziierung von Service-Bean Service-Bean wird vom Container instanziiert und injiziert (dem annotierten Feld zugewiesen) Vorteile von DI Implementation kann ausgetauscht werden Separates private IPersonService personservice;! public String save() {!! personservice.save(this);!! return "Person";! }! Instanzen-Pooling durch Container 40

41 Transaktionsmanagement (JTA) Management der Transaktionen durch den Container Zwei Möglichkeiten BeanManaged-Transactions (Steuerung durch den Benutzer) ContainerManaged-Transactions Begin-, Commit und Rollback-Steuerung durch Container an den Transaktionsgrenzen (Begin, Commit implizit, Rollback bei System Exception oder manuell mit setrollbackonly()) Steuerung an (Service-)Bean oder Methoden Default: REQUIRED: gerufene Methode in selber TA wie aufrufende, wenn TA bereits geöffnet, sonst neue TA öffnen REQUIRES_NEW: neue (autonome) TA MANDATORY, NEVER, NOT_SUPPORTED, SUPPORTS! 41

42 Java Persistence API (JPA 2.0) Eine Einführung

43 Persistence Tier Entity Beans JPA (Java Persistence API) Aufbau einer Anwendung 43

44 App-Server-Hersteller verwenden meist ihre eigene JPA-Implementation JBOSS Hibernate, Oracle EclipseLink, Glassfish EclipseLink Datenhalter sind Entities, einfache POJOs Eigene Query-Languange JPQL Mapping über Annotationen oder xml JPA Java Persistence API 44

45 JPA Entities Datenbankanbindung durch Mapping von einfachen Java-Klassen auf Tabellen i.d.r. eine Klasse eine Tabelle Klassen als einfache Beans Felder mit Settern und Gettern Mapping Klasse Tabelle an Klasse (optional) an für opt. Spaltenname alternativ TABLE_NAME") public class Customer { } private String public String getname() { return name; } public void setname(string name) { this.name = name; } private String public String getmail() { return mail; } public void setmail(string mail) { this.mail = mail; public String address; public Customer() {} 45

46 In einer SessionBean injiziert Name ) Ist entweder TransactionScoped oder Extended Managed den Lifecycle einer Entity javax.persistence.entitymanager Stellt Methoden für das Finden, Löschen, Einfügen von Daten bereit persist(object), find(class, Id), remove(object), merge(object) Weiterhin Methoden für Queries (createquery), NamedQueries (createnamedquery), NativeQueries(createNativeQuery) JPA EntityManager 46

47 Weitere Mapping-Annotationen für Spalteneigenschaften Not Null, Default, Datentyp, Generierung des Wertes, Indexe,... Beziehungen Many-to-One, One-To-One, One-To-Many Referentielle Itegrität Ableitungshierarchien bei Entities können definiert werden verschiedene Abbildungsstrategien auf Tabellen Hierarchietabelle horizontal / vertikal partitioniert Tabelle pro Subtyp... JPA Entities 47

48 JPA Entity package de.skatulla.jee.entities;! import javax.persistence.column;! import javax.persistence.entity;! import public class Person {!! private String _name;!! private String public String getname() {!!! return _name;!! }!! public void setname(string name) {!!! _name = name;!! public String getid() {!!! return _id;!! }!! public void setid(string id) {!!! _id = id;!! }! }! 48

49 JPA-Konfiguration src/meta-inf/persistence.xml <?xml version="1.0" encoding="utf-8"?>! <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"!!! xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"!!! xsi:schemalocation="http://java.sun.com/xml/ns/persistence! <persistence-unit name="mypersistenceunit">!!! <jta-data-source>jdbc/jee-test</jta-data-source>!!! <properties>!!!! <!-- EclipseLink should create the database schema automatically -->!!!! <property name="eclipselink.logging.level" value="off" />!!!! <property name="eclipselink.ddl-generation" value="create-tables" />!!!! <property name="eclipselink.ddl-generation.output-mode" value="database" />!!! </properties>!! </persistence-unit>! </persistence>! 49

50 JPA Verwendung in Session Beans Zugriff auf Entity-Manager per Dependency Injection Interface EntityManager! mit definiertem Namen der Persistence Unit Entity anlegen über Entity-Manger speichern package de.skatulla.jee.services;! public class PersonServiceImpl implements IPersonService private EntityManager public void save(personbean personbean) {!!! personbean.setid(uuid.randomuuid().tostring());!!!!!! Person person = new Person();!!! person.setid(personbean.getid());!!! person.setname(personbean.getname());!!! entitymanager.persist(person);!! }!!! }! 50

51 getsingleresult() getresultlist() getfirstresult() setparameter() sethint() excecuteupdate() JPA Query 51

52 Transaktionsteilnahme erfolgt wie konfiguriert Resource_Local EntityManager em = emf.createentitymanager(); em.gettransaction().begin(); //Operationen auf dem EntityManager em.close(); JTA bei CMT voll automatisch (Methoden-Ein- und Austritt) Bei BMT TransactionManager vom Context holen TransaktionManager.begin(), commit() und rollback() JPA Transaktionen 52

53 SQL-ähnliche Syntax Navigation über Objektgraphen Beispiel select protocol from Protocol protocol where protocol.protocolid.prt_id = :id JPA Query Language 53

54 Callbacks @PreUpdate, Vererbungsstrategien Eine Tabelle pro Klassenhierachie (mit Diskriminator-Feld) Eine Tabelle pro konkreter Entityklasse Join-Tabelle mit separaten Tabellen per SubClass und ParentClass Unterstützung verschiedener Generierungsmechanismen für Ids (z. B. Sequences, UUID) JPA Weitere Möglichkeiten 54

55 Java EE Verschiedene Anmerkungen Eine Einführung

56 Trennung von API und dessen Implementierung Spezifikation von Schnittstellen für verschiedenste Komponenten und Aspekte Einsatz von APIs erleichtert in der Theorie den Austausch der verwendeten Implementierung Dependency Injection Beans mit minimalen Abhängigkeiten untereinander Abhängigkieten nur zum Interface Wiring von Instanzen von außen Abhängige Objekte werden von DI-Framework injiziert Wichtige Konzepte 56

57 Client-Server-Modell JavaSE ausgerichtet auf Entwicklung und Betrieb von Java Programmen auf Einzelplatzrechnern / JavaEE für Betrieb auf Servern zur Umsetzung von Diensten gedacht Client verwendet die bereitgestellten Server-Dienste Aufteilung auf mehrere VMs (und verschiedene Rechner) / Kommunikation zwischen Client und Server als zusätzlicher Aspekt Mehrschichtige Anwendungen Aufteilung von Anwendungen in verschiedene Schichten mit klar getrennten Aufgabenbereichen Wichtige Konzepte 57

58 Aufteilung der zu erstellenden Komponenten auf die verschiedenen Schichten Verwendung der spezifizierten und vom Applicationserver bereitgestellten JavaEE Komponenten mit ihren jeweiligen Schnittstellen (APIs) Externe Ressourcen werden den Anwendungen vom Applicationserver zugänglich gemacht Konfiguration dieser Ressourcen mittels Applicationserver-Schnittstellen Deployment einzelner Anwendungen in Form von.war und.ear Paketen mit zum Teil Applicationserver spezifischen Konfigurationen Management und Überwachung von installierten Anwendungen durch Applicationserver Klassische JavaEE-Anwendung 58

59 Queues Point-to-Point Topics Publish - Subscribe JMS 59

60 JMS 60

61 Message Nachricht ohne Inhalt (Body) StreamMessage Nachricht mit einem Stream von Java-Primitiven MapMessage Nachricht mit einer Map von Java-Objekten TextMessage Nachricht mit einem String (z. B. für XML-Messages) ObjectMessage Nachricht mit einem serialisierten Java Objekt BytesMessage Nachricht mit einem Stream von Bytes JMS Arten von Nachrichten 61

62 ConnectionFactory erstellen Connection erstellen Session erzeugen Message erzeugen Message senden Asynchron MessageProducer.send(Message) MessageProducer versendet die Nachricht, ohne auf eine Antwort zu warten Synchron QueueRequestor.request(Message) Request-/Response-Verfahren MessageProducer.send(Message) und MessageConsumer.receive(timeToWait) MessageConsumer wartet bestimmte Zeit auf Antwort JMS Nachrichten versenden 62

63 Entweder MessageDrivenBean, die sich auf eine Queue/Topic registriert hat oder Thread, der auf eingehende Nachrichten wartet Implementiert wird javax.jms.messagelistener onmessage(message) Consumer (Queue) bzw. Subscriber (Topic) lauscht über den Listener JMS Nachrichten empfangen 63

64 Gelten als Komponenten einer Anwendung und beinhalten deren Geschäftslogik oder gestatten Zugriff auf persistente Daten Werden innerhalb eines EJB-Containers ausgeführt Aufgaben Kapselung der Geschäftslogik Transaktionsmanagement Loadbalancing Es gibt drei unterschiedliche Typen von EJBs Session-Beans, sowohl statusbehaftet als auch ohne internen Status, welche die Geschäftslogik implementieren und meistens vom Client zugreifbar sind Message-Driven-Beans (MDB) für die Verarbeitung von JMS-Nachrichten Entity-Beans für die Abbildung von persistenten Datenobjekten EJBs Enterprise Java Beans 64

65 Portabilität von JavaEE-Anwendungen auf verschiedene Applicationserver ist durch proprietäre Erweiterungen stark eingeschränkt durch die hohe Anzahl der APIs ist der Lernaufwand sehr hoch Theoretisch sollte durch die APIs die Komplexität reduziert werden. Praktisch muss der Entwickler trotzdem oft wissen, was genau hinter der API steckt J2EE mit EJB2 war sehr umständlich - EJB3 verbessert durch zahlreiche Vereinfachungen Standardisierte Rahmenbedingungen können als Einschränkungen wirken Probleme von Java EE 65

66 Ausblick auf die weiteren Veranstaltungen Uni Jena,

67 Michael Plöd, Senacor JPA Ralph Winzinger, Senacor Ein großes MDSD-JavaEE-Projekt Christian Zander, Greenpike Scrum-Einführung in einem großen MDSD-JavaEE-Projekt * 8-12 Detlef Hornbostel, Ibykus Ein alternativer MDSD-Ansatz * 8-12 Alexander Nittka, itemis Modellierung von Verhalten Algorithmen in Modellen * evtl. Termine vertauscht Die nächsten Veranstaltungen mit Gästen 67

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

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

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1 Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets,

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

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

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

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

Enterprise Java Beans Einführung

Enterprise 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

Mehr

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS Piotr Kasprzak Agenda Laufzeitumgebung Java EE (J2EE) Motivation APIs / Technologien JBoss Entwicklungsumgebung Eclipse Ausblick Java EE -

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

Java 2, Enterprise Edition Einführung und Überblick

Java 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

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

EJB 3 - Ein Blick über den Tellerrand. Heiko W. Rupp

EJB 3 - Ein Blick über den Tellerrand. Heiko W. Rupp <hwr@pilhuhn.de> EJB 3 Ein Blick über den Tellerrand Heiko W. Rupp Agenda Abriss des Standards Blick auf vorhandene Implementierungen Erfahrungen aus der Praxis Verlosung der 2 Bücher Agenda Abriss des

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

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

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

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

EJB 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.

Mehr

G s e a s m a t m ar a ch c i h tek e tur u I und IoC

G s e a s m a t m ar a ch c i h tek e tur u I und IoC Gesamtarchitektur I und IoC Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell!

Mehr

Java EE 6 Ein Überblick

Java EE 6 Ein Überblick Java EE 6 Ein Überblick Bernd Müller Fakultät Informatik Ostfalia Hochschule Braunschweig/Wolfenbüttel GI-Regionalgruppe Braunschweig, 16.2.2012 Bernd Müller, Fakultät Informatik, Ostfalia, 16.2.2012 1/31

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Java Persistence API 2.x. crud + relationships + jp-ql

Java Persistence API 2.x. crud + relationships + jp-ql Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.

Mehr

Geschäftskomponenten mit EJB 3.1

Geschäftskomponenten mit EJB 3.1 Geschäftskomponenten mit EJB 3.1 Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Kurt Fastner Sommersemester 2012 Inhalt Was ist EJB Die verschiedenen EJB-Typen/Komponenten Applikationsserver,

Mehr

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

Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Benutzung von Eclipse zur Entwicklung von Java EE 5 Anwendungen mit dem JBoss Application Server Starten und Auswahl des Workspaces Starten Sie Eclipse als die Entwicklungsumgebung. Wählen Sie als Workspace

Mehr

JBoss 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 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

Mehr

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013 GTUG Java Arbeitskreis Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung September 2013 Jürgen Depping CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Agenda Was ist OmnivoBase?

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

Spring Dynamic Modules for OSGi Service Platforms

Spring 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

Mehr

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2010 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Geschäftskomponenten mit EJBs

Geschäftskomponenten mit EJBs Geschäftskomponenten mit EJBs FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Theis Michael - Senior Developer UniCredit Global Information Services S.C.p.A Sommersemester 2012 2

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

Mehr

jetzt lerne ich J2EE Der einfache Einstieg in die Programmierung mit der Java 2 Enterprise Edition THOMAS STARK

jetzt lerne ich J2EE Der einfache Einstieg in die Programmierung mit der Java 2 Enterprise Edition THOMAS STARK jetzt lerne ich J2EE Der einfache Einstieg in die Programmierung mit der Java 2 Enterprise Edition THOMAS STARK Inhaltsverzeichnis jetzt lerne ich Vorwort 17 1 Einleitung 19 1.1 Zentrale Konzepte 20 1.1.1

Mehr

JDO Java Data Objects

JDO Java Data Objects JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:

Mehr

Programmierung von Java- Webanwendungen. paluno

Programmierung von Java- Webanwendungen. paluno Programmierung von Java- Webanwendungen Gliederung 1 Vorstellung und Einführung 2 Basiswissen Web 3 XML und JSF- Einführung 4 JSF- Komponenten und RichFaces 5 Wiederholung der ersten Woche 6 JSF- Konzepte

Mehr

Eclipse und EclipseLink

Eclipse und EclipseLink Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als

Mehr

5. JavaServer Faces(JSF)

5. JavaServer Faces(JSF) 5. JavaServer Faces(JSF) Grundlagen Nutzung von JSF-Annotationen Validierung von Eingaben Ausgabe von Fehlermeldungen Auswahl darzustellender Elemente typische elementare Software-Architektur JSF + JPA

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

Spring Dynamic Modules for OSGi Service Platforms

Spring 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

Mehr

Agenda. Einleitung. Einbinden von JSF AJAX Beispiele Komponenten Entwicklung PrimeFaces Praktikum. Was ist JSF Aufbau und Techniken HTML vs.

Agenda. Einleitung. Einbinden von JSF AJAX Beispiele Komponenten Entwicklung PrimeFaces Praktikum. Was ist JSF Aufbau und Techniken HTML vs. JavaServer Faces E-Commerce (WS 2011/12) Fachhochschule Münster FB02 Elektrotechnik und Informatik Referenten: Matthias Wellmeyer, Sven Wermers, Malte Wesker Agenda Einleitung Was ist JSF Aufbau und Techniken

Mehr

JSP und Servlet Programmierung

JSP und Servlet Programmierung Seminarunterlage Version: 5.02 Copyright Version 5.02 vom 1. März 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

Contexts and Dependency Injection. W3L AG info@w3l.de

Contexts and Dependency Injection. W3L AG info@w3l.de 1 Contexts and Dependency Injection W3L AG info@w3l.de 2015 2 Inhaltsverzeichnis Teil 1: Motivation Teil 2: Inversion of Control Teil 3: Contexts and Dependency Injection Teil 4: Beispiel zurück 3 Motivation

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 4. Schnittstellen UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Enterprise Edition Teil 4 Schnittstellen el0100 copyright W. G. Spruth, wgs 04-10

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

Webanwendungen mit IBM Rational und IBM WebSphere V6

Webanwendungen mit IBM Rational und IBM WebSphere V6 Joachim Gucker, Michael Müller, Dietmar Rager, Stefan Schäffer, Walter Schilder, Veronika Thurner, Dina Winkler 2008 AGI-Information Management Consultants May be used for personal purporses only or by

Mehr

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen Sommersemester 2013 Michael Theis, Lehrbeauftragter Java EE Spezifikation definiert ein Programmiermodell für Applikationen die Eigenschaften

Mehr

WebSphere Application Server Installation

WebSphere Application Server Installation WebSphere Application Server Installation und Administration Seminarunterlage Version: 3.04 Copyright Version 3.04 vom 16. Mai 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte

Mehr

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel VS12 Slide 1 Verteilte Systeme Vorlesung 12 Sebastian Iwanowski FH Wedel Mögliche Plattformen für Web Services VS12 Slide 2 VS12 Slide 3 Java-Software für verteilte Systeme J2EE: Java 2 Enterprise Edition

Mehr

Eclipse 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 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

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

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

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

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components.

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components. Begriffsdefinitionen Java EE A Java EE component is a self-contained functional software unit that is assembled into a Java EE application with its related classes and files and that communicates with

Mehr

Liste V Enterprise JavaBeans

Liste V Enterprise JavaBeans Liste V Enterprise JavaBeans Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Allgemeine Informatik Vorlesung zur Vertiefungslehrveranstaltung Spezielle Methoden der Softwaretechnik SS

Mehr

Cargo-Tracker: DDD auf Basis von Java EE

Cargo-Tracker: DDD auf Basis von Java EE Cargo-Tracker: DDD auf Basis von Java EE Dirk Ehms GameDuell GmbH Berlin Schlüsselworte Domain-Driven Design, DDD, Java EE, Cargo Tracker Einleitung Die Herangehensweise des Domain-Driven Designs (DDD)

Mehr

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.

J2EEKurs. J2EE eine Plattform für betriebliche Anwendungen. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10. J2EE eine Plattform für betriebliche Anwendungen Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Plattform Betriebliche Anwendung J2EE Kontrahenten J2EE im Überblick Was ist

Mehr

Operation am offenen Herzen

Operation am offenen Herzen Operation am offenen Herzen Case Study zur erfolgreichen JEE-7 Migration Dirk Ehms, GameDuell GmbH GameDuell Plattform Topologie Classic Platform Social Platform 64x Frontend Server OpenMQ 16x Frontend

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

Java EE Projektseminar

Java EE Projektseminar Java EE Projektseminar Daniel Alberts & Sonja Subicin Sprachliche Informationsverarbeitung Universität zu Köln Sommersemester 2010 Sitzung Organisatorisches zum Seminar Java EE Projektplanung Defi nition

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Behandelt Java EE 6. O Reillys Taschenbibliothek. Java EE. kurz & gut. Arun Gupta O REILLY. Übersetzung von Thomas Demmig

Behandelt Java EE 6. O Reillys Taschenbibliothek. Java EE. kurz & gut. Arun Gupta O REILLY. Übersetzung von Thomas Demmig O Reillys Taschenbibliothek Behandelt Java EE 6 Java EE kurz & gut O REILLY Arun Gupta Übersetzung von Thomas Demmig Inhalt Vorwort... 1 Java Platform, Enterprise Edition... 1 Einführung... 1 Deliverables...

Mehr

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

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

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

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG Über uns Developer @ akquinet AG Marek Iwaszkiewicz marek.iwaszkiewicz@akquinet.de JBoss Compentence Center Pascal Schaerf pascal.schaerf@akquinet.de

Mehr

EJB3 Zugriff auf DB2. Teil 2. Entwicklung einer EJB3 Anwendung für WebSphere 6.1 mit RAD 7.5. Einführung

EJB3 Zugriff auf DB2. Teil 2. Entwicklung einer EJB3 Anwendung für WebSphere 6.1 mit RAD 7.5. Einführung EJB3 Zugriff auf DB2 Teil 2 Entwicklung einer EJB3 Anwendung für WebSphere 6.1 mit RAD 7.5 Einführung Dieses Tutorial zeigt, wie eine einfache EJB 3 Anwendung mit Rational Application Developver 7.5 (kurz

Mehr

Inhaltsverzeichnis. Zusammenfassung Wydler

Inhaltsverzeichnis. Zusammenfassung Wydler Inhaltsverzeichnis 1 Multitier Anwendungen... 2 2 J2EE Komponenten... 2 2.1 J2EE Design Patterns for Performance... 2 2.1.1 Design Patterns... 2 2.1.2 Session Façade... 2 2.1.3 Data Transfer Object (Value

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

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

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

JSF (JavaServer Faces) Erstellen einer Webseite

JSF (JavaServer Faces) Erstellen einer Webseite Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF (JavaServer Faces) Erstellen einer Webseite Dipl. Inf. Manuel Götz Dipl. Inf.

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 31.03.2003 J.M.Joller 1 Inhalt Architekturen Main Stream.NET J2EE und Applikations-Server Sicht der Anbieter Java J2EE J2EE versus.net Web

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

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

Oracle Weblogic Administration Grundlagen

Oracle Weblogic Administration Grundlagen Oracle Weblogic Administration Grundlagen Seminarunterlage Version: 1.07 Version 1.07 vom 14. September 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz Facelets Faclets Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz (COMMON DEVELOPMENT AND DISTRIBUTION LICENSE) Von Jacob

Mehr

Hivemind Ein leichtgewichteter Container

Hivemind Ein leichtgewichteter Container Hivemind Ein leichtgewichteter Container Manfred Wolff, wolff@manfred-wolff.de, www.manfred-wolff.de Container sind Laufzeitumgebungen für Objekte. Der mächtigste Container im Java-Umfeld der EJB Container

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

RESTful Services mit Java EE

RESTful Services mit Java EE RESTful Services mit Java EE Thilo Frotscher thilo@frotscher.com Vorstellung Freiberuflicher Softwarearchitekt und Trainer Fachliche Schwerpunkte Java Plattform Services und Integration Kundenspezifische

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

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

Application Servers. Application Server JBoss Java Management Extensions (JMX) Dynamische Rekonfigurierung

Application 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

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Konfigurationslanleitung 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

Mehr

5. Übung zu Software Engineering

5. Übung zu Software Engineering 5. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Desktop-Anwendung AUFGABE 13 1 Schichtenarchitektur Strukturierung komplexer Anwendungen Anforderungen: Flexibilität, Robustheit, Wartbarkeit,

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Datenbankzugriff aus Eclipse Rich-Client- Anwendungen über das Internet

Datenbankzugriff aus Eclipse Rich-Client- Anwendungen über das Internet Datenbankzugriff aus Eclipse Rich-Client- Anwendungen über das Internet Johannes Michler, PROMATIS software GmbH DOAG 2010, Nürnberg, 16. November 2010 1 Gliederung Eclipse und Eclipse RCP Komponentenframework

Mehr

Der IBM Websphere Portalserver

Der IBM Websphere Portalserver Der IBM Websphere Portalserver Ergebnisse aus dem Universitäts-Praxis-Projekt 2001/2002 Vortrag von Il-Hyun Kim und Horst Rechner am 19. Juli 2002 Weiterer Teilnehmer am UPP: Clemens Oertel Betreuer: Dipl.-Phys.

Mehr

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Gregor 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

Mehr

Inhaltsverzeichnis. 1 Ein Einstieg mit Profil 1. 2 Aufsetzen der Entwicklungsumgebung 19

Inhaltsverzeichnis. 1 Ein Einstieg mit Profil 1. 2 Aufsetzen der Entwicklungsumgebung 19 xi 1 Ein Einstieg mit Profil 1 1.1 Java EE 7 der Standard für Enterprise Java.................. 1 1.1.1 Struktur einer Enterprise-Java-Anwendung............. 1 1.1.2 Die Java Enterprise Edition (Java EE)..................

Mehr

Java EE kompakt - Power Workshop

Java EE kompakt - Power Workshop Java EE kompakt - Power Workshop Seminarunterlage Version: 2.02 Version 2.02 vom 28. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

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

Erste Schritte mit JavaServer Faces und MyEclipse. Allgemeines. Erstellen eines JavaServer Faces Projektes

Erste Schritte mit JavaServer Faces und MyEclipse. Allgemeines. Erstellen eines JavaServer Faces Projektes Erste Schritte mit JavaServer Faces und MyEclipse Dieses Tutorial soll den Einstieg in das noch recht neue Framework, JavaServer Faces (JSF), erleichtern. Es wird Schritt für Schritt eine Beispiel-Anwendung

Mehr

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Die Herausforderung: Hostanbindung Viele Unternehmen besitzen Mainframe- und Legacy-Anwendungen, so genannte Enterprise Information Systems (EIS),

Mehr

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr. Multimedia im Netz Wintersemester 2011/12 Übung 10 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 2 Gesundes neues Jahr 3 Blatt 08 Videoformate im

Mehr

Web-Anwendungen mit Arquillian testen

Web-Anwendungen mit Arquillian testen Michael Kotten open knowledge @michaelkotten @_openknowledge Wozu denn testen? Ich mach doch keine Fehler! Wozu denn testen? > Notwendig bei komplexen Systemen > Sicherung von > Qualität > Funktionalität

Mehr

Administration und Konfiguration für JBoss 7

Administration und Konfiguration für JBoss 7 Administration und Konfiguration für JBoss 7 Seminarunterlage Version: 12.05 Copyright Version 12.05 vom 1. Juni 2015 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

Mehr

Auszug aus JAX-WS Folien

Auszug aus JAX-WS Folien Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen

Mehr

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Björn Heinemann Leiter Entwicklung Energiewirtschaft Björn Heinemann Leiter Entwicklung Energiewirtschaft Basis eclipse RCP eclipse platform project als Basis mit frameworks und services RCP Rich Client Platform zur Umsetzung einer Anwendung mit Benutzeroberfläche

Mehr

Bean-Mapping mit MapStruct

Bean-Mapping mit MapStruct Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much thomas@muchsoft.com www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. 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

Mehr