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



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

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

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

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS Universität zu Lübeck

Java zur Realisierung von Internetanwendungen

SE2-10-Entwurfsmuster-2 15

Softwareentwicklung mit Enterprise JAVA Beans

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

Application Server und Continuous Integration

Online Banking System

Java Server Pages (JSP)

Web 2.0 Software-Architekturen

Entwicklung von Web-Anwendungen auf JAVA EE Basis

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

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Applets I. Grundlagen der g Applet-Programmierung

Internet Explorer Version 6

4D Server v12 64-bit Version BETA VERSION

Java - Webapplikationen

Powermanager Server- Client- Installation

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Applet Firewall und Freigabe der Objekte

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Struts 2 Das Imperium schlägt zurück?

Anleitung zur Nutzung des SharePort Utility

Übung: Verwendung von Java-Threads

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

Der lokale und verteilte Fall

JSP und Servlet Programmierung

Liste V Enterprise JavaBeans

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

GKSpro WebServer. Überblick. Web Server. GKSpro. Datenbank. GKSpro. InfoBrief Nr. 61 November GKSpro WebServer.

Lokale Installation von DotNetNuke 4 ohne IIS

Grundlagen der Programmierung APPLETS

Factory Method (Virtual Constructor)

Architektur des agimatec-validation Frameworks

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

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

4 Installation und Verwaltung

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

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

Online-Publishing mit HTML und CSS für Einsteigerinnen

SDK zur CRM-Word-Schnittstelle

ONET: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung. ONET Server

Step by Step Webserver unter Windows Server von Christian Bartl

Automatische Installation (wenn das SSO-Applet nicht vorhanden ist)! Abbildung 1:Auswahldialog für Installationslaufwerk

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Citrix-Freigabe Sage Office Line Evolution 2012

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Lizenzierung von Windows Server 2012

Application Frameworks

Windows Small Business Server (SBS) 2008

Java: Vererbung. Teil 3: super()

Der IBM Websphere Portalserver

An integrated total solution for automatic job scheduling without user interaction

PHP Kurs Online Kurs Analysten Programmierer Web PHP

ESB - Elektronischer Service Bericht

Updatehinweise für die Version forma 5.5.5

Installationsanleitung WibuKey Treiber

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Enterprise Java Beans

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

ORACLE Business Components for Java (BC4J) Marco Grawunder

Was ist das Tekla Warehouse

Java Webentwicklung (mit JSP)

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Innere Klassen in Java

System Center Essentials 2010

Technische Beschreibung: EPOD Server

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

Prinzipien Objektorientierter Programmierung

Softwareentwicklung mit JAVA EE

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Verwendung des Terminalservers der MUG

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

WebSphere Application Server Installation

Softwaretechnische Anforderungen zu Opale bluepearl Version 1.0 vom

EIDAMO Webshop-Lösung - White Paper

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Programmieren in Java

SharePoint Demonstration

Inhaltsverzeichnis. Beschreibung. Hintergrund

HTBVIEWER INBETRIEBNAHME

Flowy Apps erzählt eine kurze Geschichte über REDS. Remotely Encrypted Distributed Storage

Transkript:

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 other components. 3 Typen von Komponenten in der Java EE Spezfikation: Java EE Clients: Web Clients, Applets, Application Clients Java EE Web Components: Java Servlets, JavaServer Faces, and JavaServer Pages (laufen auf dem Server) Business Components: Enterprise JavaBeans (laufen auf dem Server)

Begriffsdefinitionen Java EE Web Clients (Thin clients) bestehen aus zwei Teilen: Dynamische Webseiten: Enthalten Markup Sprachen (HTML, XML, ) Werden erzeugt von Web Components Web Browser (z.b. Internet Explorer, Firefox, Opera ) Web Clients fragen keine Datenbanken ab, führen keine komplexen Business-Transaktionen durch oder sprechen e auch keine e Legacy Applikationen direkt an -> Diese Funktionalitäten werden ausgelagert g an Enterprise Beans.

Begriffsdefinitionen Java EE Applets: Webseiten, die von den Webkomponenten erzeugt werden, können kleine client-seitige iti Applikationen (=Applets) enthalten. Ausführung: Auf dem Client in einer Java-VM (Virtual machine) Voraussetzungen: Installierters Java-Plugin für den jeweiligen Browser uu Security Policies für Ausführung Werden nur Webkomponenten mit dynamischen Webseiten verwendet, sind keine Plugins oder Security Policies erforderlich.

Begriffsdefinitionen Java EE Application Clients: Werden clientseitig ausgeführt Können komplexe grafische User-Interfaces bereitstellen Können direkt auf Enterprise Beans zugreifen oder über die Web Tier Schnittstelle (Webkomponenten) Können auch in anderen Programmiersprachen als Java geschrieben sein und trotzdem auf Java EE Server zugreifen

Begriffsdefinitionen Java EE Java Beans: Sind keine Komponenten im Sinne der Java EE Spezifikation Sind definiert durch die Java Beans Component Architecture Besitzen properties Besitzen get () und set() Methoden um auf diese properties entsprechend den Java Beans Namenskonventionen zugreifen zu können Entsprechen weiteren, spezifischen Design Patterns für JavaBeans String getname() Die Methode besitzt keine Parameterliste, und der Rückgabetyp ist String. void setname(string name) Die Methode hat keine Rückgabe, aber genau einen Parameter.

Begriffsdefinitionen Java EE Webkomponenten: Servlets: Sind Java-Klassen, die dynamisch Anfragen verarbeiten und Antworten liefern JSP (Java Server Pages): Text-basierte t Dokumente, die als Servlets ausgeführt werden; besser geeignet für statische Inhalte JSF (Java Server Faces): Stellen ein Komponenten-Framework für User Interfaces bereit, das auf Servlets und JSP aufbaut Statische HTML Seiten und Applets sowie Utility-Klassen werden mit Webkomponenten gebündelt, zählen aber nicht selbst zu den Webkomponenten.

import java.io.*; Beispiel Servlet import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse p response) throws IOException, ServletException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<head>"); out.println("<title>hello World!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>hello World!</h1>"); out.println("</body>"); out.println("</html>"); } }

Beispiel JSP <%@ page language="java"%> <jsp:usebean id="simplebean" scope="request" class="com.devsphere.examples.mapping.simple.simplebean"/> <HTML> <HEAD><TITLE>Simple bean</title></head> <BODY> <H3>Simple Example</H3> <P><B> SimpleBean properties: </B> <P> string = <jsp:getproperty name="simplebean" property="string"/> <P> number = <jsp:getproperty name="simplebean" property="number"/> <P> integer = <jsp:getproperty name="simplebean" property="integer"/> <P> flag = <jsp:getproperty name="simplebean" property="flag"/> <P> colors = <%= tostring(simplebean.getcolors()) %> <P> list = <%= tostring(simplebean.getlist()) getlist()) %> <P> optional = <jsp:getproperty name="simplebean" property="optional"/> <P> subbean.string = <%= simplebean.getsubbean().getstring() %> <P> subbean.number number = <%= simplebean.getsubbean().getnumber() getnumber() %> </BODY></HTML>

Vergleich Servlets und JSP Java Server Pages Servlets Konfiguration Keine Konfiguration notwendig Konfiguration zur Ausführung notwendig Bindung an URL Unter tatsächlichem t h Pfad Über Web Deployment Descriptor an erreichbar symbolische URL gebunden Übersetzungs- Zur Laufzeit von JSP Engine Werden vor Einsatz manuell übersetzt zeitpunkt erzeugt Initialisierungsparameter Nur allgemeine Kontextparameter Individuelle Initialisierungsparameter über Servlet-Konfiguration möglich Vordefinierte Variablen Stehen zu Beginn zur Verfügung Müssen aus Request/Response Objekten geholt werden HTML Code Kann direkt zwischen Muss über print oder write erzeugt werden Anweisungen eingefügt werden Dokumenttypen Auf text-basierte Dokumente beschränkt Unterstützt Text als auch Binärformate Services Nur eine einzige Service-Methode Eigene Service-Methoden für jeden Request- Typ möglich Umwandlung Können durch Servlets ersetzt werden Können nur bedingt durch JSP ersetzte werden Vgl. (Stark, 2007)

Konzept der Servlet-Filter Client Server ohne Filter Client mit Filter Server Request und Response können manipuliert werden ohne dass Client und Server etwas darüber wissen müssen

Anwendungen von Filtern Komprimierte Übertragung von Daten Protokollierung von Requests und Responses, Debugging Validierung von Benutzereingaben in Formularen, Abfangen von Fehlern Authentifizierung von Benutzern Verteilung von Requests (Request Dispatching) XSLT Verarbeitung Verwendung mit Session-Listeners

Umsetzung der Servlet-Filter in Java implementiert Filter Interface Filter Implemen- tierung greift zu auf Filter Konfiguration Definiert Anwendungsbereich des Filters: Bindung an symbolischen Namen Bindung des Namens an URL- Pattern

Beispiel zu Filtern package de.akdabas.javaee.filters; import java.io.ioexception; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig; import javax.servlet.servletrequest; import javax.servlet.servletresponse; import javax.servlet.servletexception; public class BaseFilter implements Filter { protected FilterConfig filterconfig; public void init(filterconfig it(filt aconfig) { filterconfig = aconfig; } public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException ti { chain.dofilter(request, response); } public void destroy() { filterconfig = null; } }

Beispiel zu Filterkonfiguration <filter> <filter-name>basefilter</filter-name> <filter-class> de.akdabas.javaee.filters.basefilter </filter-class> </filter> <filter-mapping> <filter-name>basefilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

Filterketten Client Server

Enterprise Java Beans Eigenschaften: Kapselung der Geschäftslogik in einem zentralen Dienst und Bereitstellung t des Dienstes für alle Frontend-Applikationen Transaktionsmanagement: Mechanismen zur parallelen Verarbeitung von Anfragen, die voneinander abhängig g sind Loadbalancing: Verteilung von Aufgaben auf verschiedene Server, die nach außen hin nur als ein Rechner erscheinen

EJB Kapselung Client Application Server Application- Server EJB EJB Container EJB EJB Web- Server EJB EJB EJB

Transaktionsmanagement Unterstützung der parallelen Verarbeitung von Aufgaben, die entweder alle gemeinsam oder keine von ihnen ausgeführt werden sollen Beispiel Reisebuchung: Kunde bucht Reise auf Website. Es müssen gleichzeitig Kontodaten und Verfügbarkeit von Flug, Hotel, Schiff, geprüft werden. Nur wenn alle positiv evaluiert werden, soll die Buchung durchgeführt werden.

Beispiel Transaktionsmanagement

Loadbalancing Verteilung einer großen Menge an Aufgaben auf mehrere Server Vermeidung der Überlastung eines einzelnen Servers Nach außen verhält sich der Rechnerverbund wie ein einzelner Rechner Clientsysteme wissen nicht, mit welchem (physischen) Rechner sie gerade verbunden sind

Webserver Application Server Application Server Servlet Container Darstellung (Servlets/JSP) EJB Container Anwendung Session Beans Datenhaltung Entity-Beans oder Persistenz- API

Aufgaben EJB Container Überwachung des Lebenszyklus von EJBs Instanzen-Pooling Es können mehrere Instanzen von EJBs erzeugt werden und in dem Pool verwaltet werden. Namens- und Verzeichnisdienst Transaktionsdienst Zusammenfassen von Aufgaben zu Transaktionen (commit/rollback Funktionalitäten) Nachrichtendienst Asychrone Kommunikation und Objektaustausch zwischen EJBs Persistenz Speicherung von Zuständen der EJBs

Typen von EJBs Entity Beans Schnittstelle zur Datenbank, repräsentiert Datensätze einer Tabelle als Java-Objekte; Von Session-Beans verwendet um Datensätze zu lesen oder zu manipulieren; neue Version: Persistenz-API Session Beans Kapseln Geschäftslogik und stellen sie in Form von Services bereit; greifen für Datenbankzugriff auf Entitiy Beans oder Persistenz-API zu Message Driven Beans Ermöglichen asynchrone Kommunikation zwischen EJB- Komponenten über Java Message Service (JMS)

Session Beans Stateless Session Beans Besitzen keinen Zustand vergessen vergessen nach einer Transaktion den Client Können daher über gemeinsamen Pool verwaltet werden Stateful Session Beans Speichern Zustand in Instanz-Variablen ( Konversationsgedächtnis ) Merkt sich die Interaktionen mit dem Client

Beispiel Warenkorb Virtueller Warenkorb = Stateful Session Bean Merkt sich Interaktion mit Client Stellt für jeden Client immer genau diese Instanz zur Verfügung Ist genau einem Benutzer zugeordnet Einzelne Produkte in Warenkorb = Stateless Session Beans Sind für alle Clients gleich Brauchen sich daher nicht zu merken, von welchem Client sie gerade angefordert werden