Internetapplikationen

Größe: px
Ab Seite anzeigen:

Download "Internetapplikationen"

Transkript

1 Internetapplikationen Ein Überblick... 1

2 Vortragende Dipl.Ing. Christian Liska Ing. Helmut Schuster, BSc 2

3 organisatorisches :( ( 2x ) Teilnehmerliste Vorlesungsteil schriftliche Prüfung keine Unterlagen Praxis-/Projektteil Gruppen zu maximal 3 Personen Abgabe eines Projektes 3

4 Architekturen und Patterns Host-Terminal-System Client/Server-Systeme 3-Tier Architecture 4-Tier Architecture MVC-Patterns 4

5 Host-Terminal-System Ein Mainframe/Midrange-System bedient eine Anzahl von Terminals Terminals haben keine eigene Rechenbzw. Speicherkapazität. 5

6 Client-Server I Auch 2-Tier-Architecture genannt Ein oder mehrere Server stellen Applikationslogik in Form von Diensten zur Verfügung Datenbank Mail Ein oder mehrere unterschiedliche Klienten benutzen diese Dienste Fat Client Web Client PDA 6

7 Client-Server II 7

8 Client-Server III Vorteile Verteilung der Dienste Ausfall eines Servers Einfacher Ausbau Nachteil Netzwerk-Traffic Redundantes Management jedes Servers Zentrale Verwaltung von Diensten, Zugriffsrechten und Benutzerprofilen. 8

9 3-Tier Architecture I Die 2-Tier-Architecture wird erweitert: Trennung von Geschäftslogik und Datendiensten Schichtenmodell ( tier Präsentationsschicht (client (Applikations-) Logikschicht (application- ( tier server ( data-server-tier ) Datenschicht 9

10 3-Tier Architecture II 10

11 3-Tier Architecture III Erstmals strenge Schichtenhierarchie Eine Schicht benutzt Dienste der darunterliegenden Schicht und bietet Dienste der darüberliegenden Schicht an. Die Client-Schicht darf nicht direkt auf die DB-Schicht zugreifen, sondern muss auf dementsprechende Dienste der Datenschicht benutzen. Vorteil: Austauschbarkeit der einzelnen Schichten z.b. Datenbank Verteilung auf unterschiedliche Server z.b. Applikationslogik auf Client- oder Server-Rechner. Nachteil: Dienste müssen oft durch Schichten durchgeschliffen werden. 11

12 4-Tier Architecture I Erweiterung 3-Tier-Modell Integration die Internetanbindung in die Architektur Entkoppelt Web- und Applikations-Server 12

13 4-Tier Architecture II 13

14 MVC/MVC-2 Pattern MVC: ( Applikationslogik ) Model ( Präsentation ) View ( Kontrolle Controller (Präsentation & Regelt Aufgabenteilung innerhalb eines ( Client-System ) interaktiven Systems. Software-zentriert vs. Hardware-zentriert bei Tier-Modellen. 14

15 MVC Pattern I Programmiermodel ohne MVC-Modell View-abfolgen sind in jeweils den einzelnen Modulen codiert. Einfügen/Löschen eines Views aufwending. Wartung nicht zentral möglich. Abhängigkeiten zwischen den Views 15

16 MVC II Programmiermodel mit MVC-Modell View-abfolgen sind zentral im Controller codiert. Änderung erfolgen zentral Views sind voneinander unabhängig 16

17 MVC III Model DB-Zugriff Berechnungen Änderungen von Daten View Zeigt Informationen des Models an Registriert sich beim Model um über Änderungen informiert zu werden. Controller Liefert Information vom View ans Model 17

18 Browser zur Darstellung von Informationen Server zur Bereitstellung von Informationen Verzweigung zu anderen Seiten über Hyperlinks Webüberblick 18

19 Auszeichnungssprachen Engl. Markup Languages dienen zur Beschreibung von Daten und teilweise des Verfahrens, das zur Bearbeitung dieser Daten nötig ist. Kennzeichnung von Eigenschaften bestimmter Wörter, Absätze, etc. erfolgt durch Markierung durch Tags Tags waren früher Formatierungsanweisungen für den Schriftsetzer Bsp. (LaTeX): Überschrift: \section{überschrift} Aufzählung: \begin{itemize} \item Punkt 1 \item Punkt 2 \end{itemize} Fettschrift: \bf{fett} Kursivschrift: \i{kursiv} 19

20 Markup-Languages im Web ( HyperText-Markup-Language ) HTML Textbasierende Auszeichnungssprache Strukturierung von Inhalten, wie Texte, Bilder und Hyperlinks Erfunden 1989 von Tim Berners-Lee am ( Genf ) CERN Bis 1999 zur Version 4.01 herangereift, danach Neuformulierung durch XML zu XHTML ( ) Standardisiert durch W3C 20

21 Markup-Languages im Web Webinhalte werden durch Browser dargestellt Seiten werden vom Client angefordert und im Browser entsprechend den Markierungen dargestellt Bsp. (HTML): Überschrift: <h1>überschrift</h1> Aufzählung: <ul> <li>punkt 1</li> <li>punkt 2</li> </ul> Fettschrift: <b>fett</b> Kursivschrift: <i>kursiv</i> 21

22 Markup-Languages im Web ( HTML XHTML (extensible HTML, welches XML-konform ist Seiten können dynamisch aus XML generiert werden Seiten können problemlos weiterverarbeitet werden ( Transformationen (WebMining, 22

23 Markup-Languages im Web DHTML Kombination aus drei Techniken HTML zum Verfassen von Dokumenten Clientseitige Skriptsprache, die in das Dokument eingebunden wird Schnittstelle zur Änderung und Erweiterung des HTML- Dokuments, wodurch zur Darstellungszeit Inhalte dynamisch ( Model verändert werden können (Document Object Bietet stark erweiterte Möglichkeiten zur Reaktion auf Benutzereingaben (aufklappbare Menüs, Drag n (. etc Drop, Weg von statischen Webseiten zu dynamischen Webanwendungen 23

24 XML extended Markup Language erlaubt strukturierte Darstellunng von Daten als Text sieht aus wie HTML, ist aber kein HTML ist Text, aber nicht zum Lesen ist eine Familie von Techniken ist ausführlich, was aber kein Problem darstellt ist neu, aber nicht so neu ist lizenzfrei, plattformunabhänig und gut unterstützt 24

25 XML Inhalt statt Darstellung Keine vordefinierten Satz von Tags Definition eigener Tags, die enthaltene Daten beschreiben Strenge Syntax Dokumente müssen 100% XML-konform sein ( XHTML (vergl. HTML <-> Groß/Kleinschreibung von Bedeutung! Keine Überlappung der Tags 25

26 XML - Struktur Element besteht immer aus Start- und End-Tag <Name>Herbert Mayr</Name> Kommentar analog zu HTML <!-- XML-/HTML-Kommentar --> Prolog (Definition eigentlich nicht XML( konform Teilt Browser mit, dass XML-Dokument vorliegt <?xml version= 1.0 > 26

27 XML - Struktur <?xml version= 1.0 > <lebenslauf> <person> <name>herbert Mayr</name> <geb> </geb> </person> <ausbildung> <schule type= vs > </schule> <schule type= hs > </schule> <schule type= uni > </schule> </ausbildung> </lebenslauf> 27

28 Clientseitige Programmierung Ausführung von Programmcode am Client Skript basierend Javascript VBScript Bytecode Java-Applets Binär Active-X ( Acitve-X.Net Komponenten (Nachfolge von 28

29 JavaScript Ursprünglicher Name LiveScript Aufgrund des Erfolgs von Java wurde es in JavaScript umbenannt Interpretierte Sprache Skript im HTML-Code Interpretation im JavaScript-fähigem Browser ( Standard ) erweiterte die anfangs statischen Webseiten und fügte ihnen Bewegung hinzu 29

30 JavaScript Kennzeichnung im HTML-Code durch <script>-tag 30

31 Java-Applets Programme, die in Java programmiert wurden Derart implementiert, dass sie im Browser ablauffähig sind Java kompiliert ergibt Bytecode Bytecode wird in virtueller Maschine des Browsers interpretiert Multiplattformfähig 31

32 Java-Applets werden als Hauptgrund für den Siegeszug von Java Ende der 90er gehandelt Java-VM s bzw. Plugins für nahezu jeden Internet-Browser verfügbar bzw. bereits fix integriert Einbindung über <applet>-tag 32

33 Active-X Softwarekomponenten-Modell von Microsoft für aktive Inhalte Erweitern COM-Standards (Common Object-Model) von Microsoft Integrierbare Komponenten MFC-Anwendungen Einbettung in Programme, die in anderen Sprachen programmiert wurden 33

34 Active-X Binäre Dateien Nur unter MS-Windows lauffähig Keine Multiplattformen Einsatz im Internet-Explorer Möglich, es müssen bei der Programmierung jedoch festgelegte Richtlinien befolgt werden Sicherheit Integration im IE lückenhaft Einsatz wird in vielen Unternehmen unterbunden 34

35 .Net-Komponenten Nachfolger von Active-X-komponenten Integration nicht über COM-Schnittstelle, sondern durch.net-framework.net muss am Client vorhanden sein Windows-spezifische Byte-Code Keine Multiplattformfähigkeit Einbindung nur über <object>-tag möglich 35

36 Programmiersprachen vs. Skriptsprachen Skriptsprachen: Programmiersprachen für kleine, überschaubare Programmieraufgaben ( Variablendeklaration Reduzierte Sprachen (bspw. keine Programme werden üblicherweise Skript genannt Keine Übersetzung in Maschinensprache, Quelle wird zur Ausführung interpretiert Auslieferung in Form von Quelltextdateien Programmiersprachen: Sprachen die vor Ausführung übersetzt werden müssen Auslieferung in form von ausführbaren Dateien (executables). 36

37 Skriptsprachen im Web Statische Elemente dynamisieren Inhalte aus Datenbank anzeigen Clientseitige Benutzerinteraktionen Server- oder clientseitige Interpretation Interpretation im Webbrowser (JavaScript, ( ActionScript VBScript, Interpretation am Webserver (zumeist durch ( Plugins Integration eines 37

38 Serverseitige Skriptsprachen ( Interface CGI (Common Gateway Datenaustausch zwischen Webserver und Programmen, die auf diesem bereitstehen Interpretation des Codes innerhalb der Laufzeitumgebung der gewählten Skriptsprache CGI-Programme können keine Objekte im Webbrowser manipulieren (bspw. ( steuern Animationen Verbreitete Sprachen: Perl - Laufzeitumgebung muss am Server installiert werden. Performance gering, da für jeden Aufruf eine neue Instanz der Laufzeitumgebung gestartet wird 38

39 Serverseitige Skriptsprachen Modulsprachen Stehen innerhalb des Webservers als Modul (mod_*) zur Verfügung Werden innerhalb der Laufzeitumgebung des Webservers interpretiert PHP Einbettung in HTML Syntax ähnlich C, Java und Perl Features zur Anbindung von DB, , etc. 39

40 Frameworks zur Webprogrammierung Erweitern Programmiersprachen um spezifische Fähigkeiten Sind Klassenbibliotheken, die speziell für eine Klasse von Aufgaben erstellt wurden Webframeworks stellen spezielle Funktionen zur Verfügung, welche zur Erstellung umfangreicher Websites benötigt werden Erleichtern Datenbankzugriff Benutzerverwaltung (. etc Anbindung von Fremdsystemen (SAP, 40

41 Java-Webtechnologien Servlets Servlet steuert Kontrollfluß der Applikation Ausgabe von HTML-Code innerhalb des Servlets ( Pages JSP (Java Server HTML erweitert um Java-Tags Seiten werden intern in Servlets übersetzt Erweiterbar durch Tag-Libraries Weiterentwicklung ( JSF ) Java Server Faces J2EE Web-2.0 Unterstützung Komponentenunterstützung Kombination von Frontend und Backendtechnologien 41

42 Web-Container Erweiterung eines Web-Servers (auch ( genannt Servlet-Engine Laufzeitumgebung für Servlets, JSP und Server Faces. Leitet Requests (Anfragen) und Responses (Antworten) weiter. Verwaltet die Servletinstanzen. ( Lebenszyklus ) 42

43 Servlets/JSPs Web-Container Komponenten zur Erzeugung dynamischer HTML-Seiten. Servlet: Java-Klasse, welche im Response-Objekt einen HTML- Stream erzeugt. Keine Trennung von Content und Layout. JSP: Seitendefinition, die mit HTML und JSP-Tags eine Seite beschreibt. Wird vor der Ausführung in ein Servlet übersetzt und kompiliert. Trennung von Content und Layout. Implementierung: Apache Tomcat Ist Referenzimplementierung Open Source ( ) Verwendet JSP-Compiler Jasper Wird mit HTTP-Server (Web-Server) ausgeliefert. Wird in JBoss, Websphere, verwendet 43

44 Praxis Installation von Tomcat oder JBoss Installation Eclipse

45 Servlets Der 1. Schritt zur Webanwendung

46 Servlet Java-Klassen, die innerhalb eines Web-Containers ausgeführt werden. Übernehmen vom Web-Server die Anfragen des Clients und ( Response ) erstellen eine Antwort. Response kann aufgrund der Request-Parameter dynamisch erzeugt werden und kann aus unterschiedlichen Elementen (HTML, Bilder) bestehen. Der Servlet-Klasse steht der gesamte Sprachumfang (Objektorientierung, Libary) zur Verfügung. Die Servlet-Klasse kann auf sämtliche Java-APIs zugreifen. Z.B. JDBC, JNDI, Werden zumeist als Controller in MVC(2) Patterns verwendet. Die Servlet-Klasse muss vom Interface javax.servlet.servlet oder HttpServlet abgeleitet werden um vom Web-Container aufgerufen und verwaltet werden zu können. 46

47 Servlet Aufruf I 47

48 init(): Laden des Servlets. Zumeist beim ersten Request an das Servlet. destroy(): Entladen des Servlets. Wenn Web-Container gestoppt wird. Servlet Aufruf II 48

49 Servlet Aufruf III doget(): bei HTTP-GET Anforderung von Daten. Parameter im Query-String dopost(): bei HTTP-POST Senden von Daten. Parameter versteckt als Key/Value-Tupel im Request-Body. Wird darum auch als zum Daten holen zweckentfremdet. HTTPServletRequest Header Query String Session Cookies HTTPServletResponse Header Status Code Cookies 49

50 Praxis Eclipse-Projektstruktur Entwickeln eines einfachen Servlets Erzeugen eines Webarchives Installation der Anwendung im Web- Container Test der Anwendung

51 Webarchive

52 Servlet erstellen Ableitung der Klasse von javax.servlet.http.httpservlet Methoden Überschreiben der Methoden doget() und dopost()

53 Servlet erstellen Erstellen eines simplen Servlets public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { argresponse.setcontenttype("text/html"); PrintWriter out = argresponse.getwriter(); out.println("<!doctype HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<html>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.println(" Hallo "); out.println(" </BODY>"); out.println("</html>"); out.flush(); out.close(); }

54 Servlet registrieren web.xml <?xml version="1.0" encoding="utf-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee <servlet> <description>this is the description of my J2EE component</description> <display-name>this is the display name of my J2EE component</display-name> <servlet-name>masterservlet</servlet-name> <servlet-class>univie.webtest.servlet.masterservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>masterservlet</servlet-name> <url-pattern>/servlet/masterservlet</url-pattern> </servlet-mapping> </web-app>

55 Deployment Web-Archive (.war) ins Deploy-Directory kopieren. Aufruf des Servlets:

56 JSP's Der 2. Schritt zur Webanwendung

57 JSP Details JSP ist ein Text-Dokument. Besteht aus statischem Content (HTML) und JSP-Elementen, die den dynamischen Contenten beschreiben. Trennung Logik (Entwickler) von Design (Designer) Spezielle XML-Tags binden in Libraries vordefinierte ( Taglibs ) Funktionalität ein. Werden mit einem speziellem Compiler in Servlets übersetzt und vom Web-Container verwaltet und ausgeführt. Zwei Syntaxformen ( jsp.) HTML ( jspx.) XML 57

58 Statischer Inhalt Direktiven Skriptelemente Aktionen Tag Libraries JSP Syntax 58

59 JSP Statischer Inhalt Wird unverändert vom Container in die Response übernommen. <html> <head> <title>my JSP 'View1.jsp' starting page</title> </head> <body> <h1>view1</h1> <FORM name="frmview1" action="servlet/controllerservlet method="post"> <INPUT type="submit" name="btnview1" value="view1" /> <INPUT type="submit" name="btnview2" value="view2" /> <INPUT type="submit" name="btnview3" value="view3" /> </FORM> </body> </html> 59

60 JSP Direktiven Informationen für den JSP-Compiler Syntax: %> include include file= standard.html" %> Kopiert vollständigen Inhalt der angegebenen Datei. page page import="java.util.*" %> Beschreibt z. B. imports (java libraries, Error- und Thread- Handling. taglib taglib prefix= xo" uri="taglib/mytaglib.tld" %> Definiert die Verwendung einer Taglib. 60

61 JSP Skriptelemente Fügen Java-Code direkt in das Servlet ein Deklarationen <%! int counter = 0; %> Ausdrücke Wert des Zählers <%= counter %> Skriptlets <% Calendar rightnow = Calendar.getInstance(); String date = rightnow.gettime().tostring(); out.println(date); %> Kommentare <%-- Kommentar --%> 61

62 Praxis JSP erstellen Hello, world! Skriptlets, Schleifen, Variablen, etc. Deployment was passiert damit im Container? wie werden Direktiven umgesetzt?

63 JSP erstellen <!-- Aufruf mit "http://localhost:8080/webtest/viewtest.jsp" --> page language="java" import="java.util.*" pageencoding="utf-8"%> <% String path = request.getcontextpath(); String basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>my JSP 'ViewTest.jsp' starting page</title> </head> <body> <h1>viewtest</h1> <% Calendar rightnow = Calendar.getInstance(); String date = rightnow.gettime().tostring(); out.println(date + "<BR>"); %> <% StringBuffer requesturl = request.getrequesturl(); out.println("request URL: " + requesturl + "<BR>"); %> </body> </html>

64 ( Alternative ) JSP erstellen <!-- Aufruf mit "http://localhost:8080/webtest/viewtest.jsp" --> page language="java" import="java.util.*" pageencoding="utf-8"%> <% String path = request.getcontextpath(); String basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>my JSP 'ViewTest.jsp' starting page</title> </head> <body> <h1>viewtest</h1> <% Calendar rightnow = Calendar.getInstance(); %> <%=rightnow.gettime().tostring() %> <BR/> Request URL: <%=request.getrequesturl() %> <BR/> </body> </html>

65 Webarchive

66 JSP Aktionen I setproperty <jsp:setproperty name="mybean" property="lastchanged" value="<%= new Date()%>" /> Ein Feld einer JavaBean wird gesetzt. Das Feld muss dabei allerdings sog. Accessoren (Getter- Setter-Methoden) verfügen. getproperty Lesen eines Feldes usebean <jsp:usebean id="mybean" class="com.foo.mybean" scope="request"/> Verwendet eine JavaBean. Sollte die Bean noch nicht erzeugt worden sein, so wird dies durch diesen Aufruf getätigt. "scope" definiert die Lebensdauer der Bean. (Wann diese wieder (. wird entladen request, page, session, application 66

67 JSP 2.0 JSPs können auch in XML-Syntax erstellt werden. JSPX-Dokumente entsprechen valid und wellformed XML-Dokumenten. Beispiel: HTML: <%= expression%> XML: <jsp:expression>expression</jsp:expression> HTML: <% code%> XML: <jsp:scriptlet>code</jsp:scriptlet> HTML: <%! declarations%> XML: <jsp:declaration>declaration</jsp:declaration> 67

68 Buildsystem ANT Installation build.xml Praxis

69 Build-System ANT Beschreibung des Buildvorganges build.xml Vorgänge werden in targets zusammengefaßt Bsp. für Targets: build.all deploy.war compile Targets werden durch tasks beschrieben ähnlich, wie Batch-Dateien unter DOS / shell-skripts unter Unix core-tasks: <copy>, <war>, <compile>,...

70 ANT-build.xml-Vorlage <?xml version="1.0" encoding="utf-8"?> <project name="webtest"> <target name="deploy" depends="gen.war"> <property name="server.webapps" value="/users/chris/bin/tomcat/webapps"/> <copy todir="${server.webapps}"> <fileset dir="bin" includes="*.war" /> </copy> </target> <target name="gen.war"> <mkdir dir="bin" /> <war destfile="bin/webtest.war" webxml="webroot/web-inf/web.xml"> <fileset dir="webroot/" excludes="**/.svn" /> </war> </target> <target name="clean"> <delete> <fileset dir="." includes="**/*.war"/> </delete> </target> </project>

71 Einbindung von ANT in Eclipse build.xml im Editor öffnen in view outline sind targets aufgelistet öffnen des Context-Menüs durch Mausklick (rechte Maustaste) auf target run as - ANT build

72 ANT auf der Commandline Download von Entpacken in beliebiges Verzeichnis (bspw: ( c:\ant Definition der Umgebungsvariable ANT_HOME Erweiterung des Systempfades um ANT_HOME/bin Aufruf eines Standard-Targets bspw. über ant gen.war Wichtig! ANT benötigt auch Java im Systempfad

73 J2EE Die Königsklasse

74 Was ist J2EE lt. Sun? Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable and secure server-side Java applications. Building on the solid foundation of Java SE, Java EE provides web services, component model, management, and communications APIs that make it the industry standard for implementing enterprise class serviceoriented architecture(soa) and Web 2.0 applications. Seit 5/2006 lautet die neue Bezeichnung Java EE 74

75 Java EE-Überblick I ( Architecture SOA ( Service Oriented Spezifikation einer verteilten n-tier Applikationsumgebung. APIs beschreiben Programmiermodel Serverseitige Laufzeitumgebung in Form von Komponenten und Services. Web Browser ist primäres User Interface Programmiersprache Java 75

76 Java EE Überblick II Basiert auf standardisierten Technologien: Servlets, JSP, JDBC, JNDI, JMS, EJB, Applikation sind portabel. Geeignet für die Integration heterogener IT- Umgebungen. (Stichwort: gewachsene Strukturen, Anwendungsmodernisierung) Laufzeitumgebung bietet viele Dienste, welche nicht mehr implementiert werden müssen. (Verteilung, ( Balancing Transaktionsmanagement, Sicherheit, Skalierung, Load Zahlreiche erprobte J2EE-Patterns fördern robusten, wieder verwendbaren und lesbaren Code 76

77 Java EE Implementierungen 1. JBoss JOnAS - jonas.objectweb.org/ 3. Apache Geronimo - geronimo.apache.org/ 4. BEA Weblogic 5. IBM Websphere 6. Oracle Application Server 1-3) Open Source 77

78 J2EE-Architektur 78

79 Client-Container Client-Typen HTML-Browser Java Applet Java Applikationen Greifen Clients direkt auf EJBs zu, dann muss der Umgebung eine Library zur Kommunikation mit dem Application- Server beigefügt werden. 79

80 EJB-Container Laufzeitumgebung für EJBs (Enterprise Java ( Beans Bietet den EJB die Java EE Dienste an. Sichert Transparenz für den Benutzer (Anzahl der Beans, Status) Verwaltet den Lebenszyklus der EJBs. Namensdienst Ermöglicht Clustering und Lastverteilung EJB kommuniziert immer mit dem Container, nie mit dem Client oder den Serverdiensten (z.b. ( Datenbankzugriff 80

81 Technologien EJB Servlet JSP Java EE Komponenten 81

82 Java EE Service-Technologien I ( JDBC ) Java Database Connectivity Platform- und herstellerunabhängiger Datenbankzugriff. Über SQL Schnittstelle werden Queries abgesetzt und Daten manipuliert. Durch austauschbare Treiber kann die darunterliegende DB ohne weitere Programmierung ausgetauscht werden. (Sofern ( keine speziellen SQL-Erweiterungen verwendet werden Mehrere Klassen von Treibern. z.b. ob netzwerkfähig Liste der DB- bzw. Treiberanbieter unter x.html Für alle wesentlichen DBs werden Treiber angeboten. Details zu JDBC im Datenbankkapitel.. 82

83 Java EE Service-Technologien II Java Mail Unterstützt POP3, SMTP und IMAP4 ( JAF ) JavaBeans Activation Framework Benötigt für JavaMail. JavaMail kann verschiedene Daten aufgrund des MIME-Headers erkennen. Java Authentication and Authorization Service ( JAAS ) Plugin-Architectur um verschiedene AAA-Systeme einzubinden und ein einheitliches Interface anzubieten. 83

84 Java EE Service-Technologien III ( JNDI ) Java Naming and Directory Service Directory Services: LDAP. Auch ausserhalb von Java EE verwendbar Innerhalb von Java EE wird JNDI verwendet, um auf Komponenten zugreifen zu können. Z.B. EJB, JDBC-Connections Telefonbuch des Application Servers 84

85 EJBs Enterprise Java Beans I Enterprise Java Beans!= Java Beans Java Beans Konstruktion wiederverwendbarer (visueller) Komponenten Entsprechen der JavaBeans API Spec, um in GUI Buildern eingesetzt werden zu können. Default Constructor, Serializable, Accessoren Enterprise Java Beans Standardisierte Komponenten, welche in einem EJB- Container laufen können. Verteilte, transaktionsgesteuerte, skalierbare, portable Java Komponenten. 85

86 EJBs II Serverseitige Komponenten. Implementieren die Business-Logik Client-Zugriff ist über über (öffentliches) Interface geregelt. Werden mit deklarativen Information eingesetzt. (Deployment- ( Descriptor Können über Parameter parametriert werden. EJB Instanzen werden vom EJB-Container erzeugt und verwaltet. Viele Instanzen einer EJB können zur Performancesteigerung gleichzeitig laufen. Können remote oder lokal aufgerufen werden remote: Ausserhalb des Application-Servers lokal: Innerhalb. (Gilt auch für Web-Container.) 86

87 EJB Typen Session Beans stateless stateful EntityBeans ( Persistance CMP (Container Managed ( Persistence BMP (Bean Managed Message Driven Beans 87

88 Entity Beans Stellen die Daten eines Geschäftsprozesses dar. (Record einer Table, Entity-Objekt) Wandeln RDB-View (Normalisiert) in OO-View um. (O/R ( Mapping Wie Records werden auch Entity Beans durch einen Primary Key identifiziert. Lebensdauer der Bean entspricht der des Records. Überlebt auch Server-Stopps. Speicherung (Persistenz) kann vom Container bereitgestellt werden ( Container Managed Persistence, BMP) oder selbst implementiert werden ( Bean Managed ( Persistence 88

89 Session Beans Bilden Abläufe des Geschäftsprozesses ab. Können Entity-Beans für die Datenmanipulation verwenden. Eine Bean wird zu einem gegebenen Zeitpunkt nur von einem Client verwendet. Implementieren das Interface javax.ejb.sessionbean. setsessioncontext(): f. Interaktion mit Container ejbcreate(): Initialaufruf ( gelöscht ejbremove(): Bean wird freigegeben. (Nicht ejbpassivate(): Stateful Session Beans werden temporär auf das File-System ausgelagert. 89

90 Stateless Session Beans Speichern keinen Zustand. Geeignet für einmalige Aufrufe z.b. Preisberechnung, Abfrage eines Messwerts. Alle zur Verarbeitung notwendigen Daten müssen beim Aufruf übergeben werden. Mehrere Instanzen einer Stateless Session Bean können nicht von einander unterschieden werden. (? auch (Wozu Wenn ein Client mehrere Aufrufe einer Stateless Session Bean durchführt, ist nicht garantiert, dass der Client immer die selbe Bean vom Container erhält. 90

91 Stateful Session Beans Speichern Zustand. Zugriff auf Daten vorangegangener Aufrufe möglich. Benötigt wenn Informationen über mehrere Aufrufe gespeichert werden sollen. z.b. Warenkorb. Während einer Session (Verbindung Client-Appl.Server) wird einem Client immer die selbe Session Bean zugeteilt. Stateful Session Beans sind anhand ihrer Id voneinander unterscheidbar. Zustand wird temporär gespeichert. (Keine Aktivität, ( Ressourcen Server benötigt 91

92 Deployment von Enterprise Applications Deployment = Installieren von Applikationen im Application Server. Gesamte Applikation (HTML, JSP, Servlets, EJB) kann in einem Enterprise Archive (.ear) verpackt werden. Strukur des.ear ist vorgegeben, damit dieses in allen Application Servern verwendet werden kann. Teile des.ear EJB Application JAR: Enthält die EJBs und deren Deskriptoren ( Praxisteil Web Application WAR (siehe Client Application JAR: Client Klassen und Kommunikationslibrary für Application Server Resource Adapter RAR: JCA-Klassen 92

93 Praxis Sessions in einfachen Webanwendungen 93

94 Session serverseitige Identifikation eines Benutzers über mehrere Seitenanforderungen hinweg Speichern von Informationen zur Laufzeit Ergebnisse ( Login ) Benutzerinformationen... definierbare Gültigkeitsdauer Terminieren von Sessions

95 JSP-Bsp. Sessions page language="java" import="java.util.*" %> <% int cnt = 0; if ( session.isnew() ){ out.println( "Willkommen Neuling!\n" ); }else{ out.println( "Hallo, alter Freund!\n" ); String o = (String) session.getattribute( "cnt" ); if ( o!= null ) cnt = Integer.parseInt( o ); cnt++; } session.setattribute( "cnt", ""+cnt ); %>

96 Fortführung JSP-Bsp. Sessions <p> Session-ID: <%= session.getid() %> <p> Erzeugt am: <%= new Date(session.getCreationTime()) %> <p> Letzter Zugriff: <%= new Date(session.getLastAccessedTime()) %> <p> Ungültig in Minuten: <%= session.getmaxinactiveinterval()/60 %> <p> Anzahl Zugriffe: <%= cnt %>

97 Session-Handling Erzeugen einer Session ( HttpServlet::getSession(boolean true: Immer neue Session generieren, wenn noch keine für den Client vorhanden ist false: liefert aktive Session zurück, oder null, wen noch keine für den Client vorhanden ist Achtung! getsession(true) Angriffspunkt für Denial-ofservice -Attacks

98 Session-Handling DoS-Minimierung: Nur erzeugen, wenn Session noch nicht generiert HttpSession session = request.getsession(false); if (null == request.getrequestedsessionid()) { //create new session session = request.getsession(true); } alternativ: Umleitung auf Loginseite HttpSession session = request.getsession(false); if (null == request.getrequestedsessionid()) { //redirect to login page response.sendredirect(loginurl); }

99 Session-Handling Invalidierung einer Session Löschen Verlassen der Applikation Logout Timeout API () HttpSession::invalidate Abfrage des Session-Status boolean () HttpRequest::isSessionIdValid

100 Webservices Web ohne Frontend

101 Webservices - Architektur Einfachste Form: Client schickt Anfrage an Webservice Webservice antwortet mit gewünschter Information Bildlich: Webseiten sind für Menschen Webservices für Maschinen Webservices sind somit für verteilte Softwaresysteme gedacht, die automatisiert Daten austauschen oder Funktionen auf entfernten Rechnern aufrufen 101

102 Das frontendfreie Web Web-Services Software-Anwendung, die durch einen URI (Uniform Resource Identifier) eindeutig identifizierbar ist Schnittstellen existieren als XML-Artefakte unterstützen direkte Interaktion mit anderen Software-Agenten durch XML-basierter Nachrichten 102

103 Webservices echte Anwendungen Google: Bietet seit 2002 ein WebService zur Suche von Webseiten Programme können direkt nach Informationen im Internet suchen und erhalten über die Schnittstelle die Ergebnisdaten Interaktion zwischen Fluglinien und Reisebüros 103

104 Vorteile von Webservices Vorteile: Keine Lizenzkosten durch Verwendung offener Standards Durch HTTP selten Probleme mit Firewalls Protokoll jedoch nicht hauptsächlich auf HTTP beschränkt Anbindung auch durch SMTP, FTP, etc. Offene und flexible Architektur Unabhängig von Plattformen, Programmiersprachen und Protokollen Niedrige Einstiegsbarrieren 104

105 Nachteile von Webservices Nachteile: Sicherheitsaspekte Verschlüsselung essentiell bei sensiblen Daten HTTPS, XML Signature, XML-Encryption Performance XML, Parsing und Dateigröße Hoher Verwaltungsaufwand bei stark verteilten Systemen Know-How zur Programmierung Eigene Bibliotheken Definition der Schnittstellen 105

106 SOAP Einführung ( Protocol SOAP (Simple Object Access Protokoll für Zugriff auf Web-Services Kommunikation zwischen Applikationen Format für das Versenden von Messages TCP-basierend Plattform neutral Sprachenunabhängig XML-basierend W3C-standardisiert 106

Internetapplikationen

Internetapplikationen Internetapplikationen Praxis Eclipse Download von http://www.eclipse.org/downloads Entwicklungsoberfläche für Java Erweiterungsmöglichkeiten über Plugins im Rahmen dieser Übung werden jedoch keine Plugins

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

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

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

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

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

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

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

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

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm Beispiel Ein

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

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

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

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

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

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

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

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

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

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

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

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

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI Servlet II Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI 3-1 1. Grundlagen 2. Servlets 3. JSP 4 1.1. JAR Files 4 1.2. TCP/IP, Sockels 4 1.3.

Mehr

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann Sitzungszustand Gruppierung von Anfragen zu Sitzungen (Sessions) Klasse HttpServletRequest Methode HttpSession getsession (bool create) liefert aktuelle Sitzungsobjekt Zustand lokal zur Anwendung (ServletContext)

Mehr

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur Apache Tomcat Rechner und Netzarchitektur SS 2003 Johannes Jabornig Daniel Peintner Inhalt Einleitung Was sind Servlets und JSP Vorteile Architektur Catalina Jasper Konnektoren Installation / Konfiguration

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

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

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

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

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Middleware Versuch einer Einleitung Host dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Mainframe enthält vollständige Anwendung Typ. COBOL, C Mainframe contd.! Nachteile! Mainframe ist teuer

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

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

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

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

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

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

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

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt - Herzlich Willkommen! Mit Java ins Web - eine praxisnahe Übersicht 1 Wer bin ich? Michael Behrendt, 21, Nürnberg kurzer Lebenslauf: 1991 Erster Rechner: Commodore C128 1995 Ausbildung zum Datenverarbeitungskaufmann

Mehr

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

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2014 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

Dynamische Webseiten mit JavaServer Pages (JSP)

Dynamische Webseiten mit JavaServer Pages (JSP) Dynamische Webseiten mit JavaServer Pages (JSP) einige Links: java.sun.com/products/jsp JavaServer Pages java.sun.com/products/servlets Java Servlet Technologie www.micromata.de Schrödinger (Download)

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Oracle Application Server Oracle Application Server - 1 Gliederung Einführung Oracle Application Server (OAS) Praxis- und Diplomarbeitenverwaltung LiveHTML Kritik Becker,

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

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen MVC, JSP, Custom und Core Tags Darstellungsschicht Anwendungsschicht Datenschicht Architektur Browser Applikationsserver mit Servlet-Container DB-Server Web2-2

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

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

ORACLE Business Components for Java (BC4J) Marco Grawunder

ORACLE 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

Mehr

Clustering von Application Servern am Beispiel von JBoss 3.2

Clustering von Application Servern am Beispiel von JBoss 3.2 Clustering von Application Servern am Beispiel von JBoss 3.2 Cluster Workshop iternum GmbH Alexanderstraße 7 60489 Frankfurt/Main www.iternum.com Agenda Clustertechnik allgemein Was ist Clustering? Gründe

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 2015 Michael Theis, Lehrbeauftragter Sommersemester 2015 Michael Theis, Lehrbeauftragter 2 Werden als Web Application

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

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. WebSphere Application Server Teil 2. Schnittstellen

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

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

Datenbanken: Servlets und JSP

Datenbanken: Servlets und JSP Datenbanken: Servlets und JSP Datenbank-Anwendungen für das Web basieren auf der Client - Server - oder Client - Middleware - Datenbankserver - Architektur. Grundsätzlich zu unterscheiden sind: Client-basierte

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

Etablierung serviceorientierter Architekturen mit Web Services

Etablierung 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

Mehr

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Portlets Was sind Portale? Aufgaben von Portalsystemen Integration unterschiedlicher Anwendung Schwerpunkt liegt auf der Präsentationsebene Ermöglichung personalisierter

Mehr

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13 NEWpixi* API und die Umstellung auf REST Fakten NEWpixi* API Technik REST-basierend.NET Webservice IIS Webserver Release 31. August 2013, zusammen mit dem NEWpixi* ELI Release Legacy API und erste NEWpixi*

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

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

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Java-Servlets. Seminar Webtechnologien SS 2003 Hendrik Steller (steller@inf.fu-berlin.de)

Java-Servlets. Seminar Webtechnologien SS 2003 Hendrik Steller (steller@inf.fu-berlin.de) Java-Servlets Seminar Webtechnologien SS 2003 Hendrik Steller (steller@inf.fu-berlin.de) Inhalt Was sind Servlets? Architektur/Funktionsweise Wie schreibt man einfache Servlets ( CGI-like ), API-Einblicke

Mehr

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine

Mehr

Java Servlet Technology

Java Servlet Technology 0 Java Servlet Technology Seminar Medientechnik Christina Eicher 30. Juni 2003 1 Übersicht: 1. Was ist ein Servlet? 2. Cookies und Sessions 3. Die Servlet-Klassen und das Servlet-Interface 4. Der Servlet-Container

Mehr

Servlets und Java Server Pages

Servlets und Java Server Pages Java: Kapitel 10 Einführung in die Java Platform, Enterpri Edition (Java EE): Servlets und Java Server Pages Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick

Mehr

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

Mehr

Web-Services Implementierung

Web-Services Implementierung Web-Services Implementierung Praktikum Informationsintegration 8.11.2005 Agenda Aktueller Stand / Abgabe Implementierung Wie geht das mit Java und Tomcat? Service Client 2 Abgabe Teil 1 Ein paar Zahlen

Mehr

Ant - das Java Build-Tool

Ant - das Java Build-Tool Hauptseminar Ant - das Java Build-Tool Funktionalität, Mächtigkeit und Praxiserfahrungen Betreuer: Vortragender: Dipl.Inf. Thorsten Strufe Christoph Lühr Gliederung Build-Tools Aufgaben und Probleme Ant

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Beispiel Minibank nur: Kunde, Konto, Überweisung personen.person Attributes Name:String Vorname:String überweisungen.überweisung Attributes Verwendungszweck:String Datum:Date betrag:integer

Mehr

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de ANT Kurzvortrag von Manuel Schulze mschulze@inf.fu-berlin.de ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten

Mehr

Erfahrungen beim Bau einer Prototyp Anwendung auf Basis des JBoss

Erfahrungen beim Bau einer Prototyp Anwendung auf Basis des JBoss Erfahrungen beim Bau einer Prototyp Anwendung auf Basis des JBoss Klaus Richarz, Hamburger Berater Team GmbH 23.05.2003 Klaus Richarz, HBT Folie 1 Agenda Teil 1: J2EE Architekturbewertung Teil 2: JBoss

Mehr

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

Mehr

Security Technologien in Java EE 6

Security Technologien in Java EE 6 Security Technologien in Java EE 6 Java Forum Stuttgart 2010 Sebastian Glandien Acando GmbH sebastian.glandien@acando.de Agenda I. Einleitung II. Java Authentication SPI for Containers (JSR-196) I. Message

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme

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

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen IN-Q-My Title Company (Name) / 1 Agenda Firmenübersicht ebusiness Evolution InQMy Application Server Architektur Zusammenfassung

Mehr

Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland

Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland The following is intended to outline our general product direction. It is intended for information purposes

Mehr

Dynamische Webseiten

Dynamische Webseiten Dynamische Webseiten Seminar Medientechnik 30.06.2003 Dynamische Webseiten 1 Inhalt Allgemeine Funktionsweise eines Webservers Grundgedanke von dynamischen Webseiten Einschub: Dynamische Seitenerzeugung

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Mehmet-Oktay Tugan Gliederung Grundsätzliches und Begriffserklärung Einleitung Geschichte Architektur Funktionalitätsumfang Hauptunterstützungen Zusammenfassung Grundsätzliches WebSphere ist ein Entwicklungstool

Mehr

Sicherheit in Rich Internet Applications

Sicherheit in Rich Internet Applications Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Seite 2 Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Inhaltsverzeichnis Grundlagen Ajax und Mashups Adobe Flash-Player

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Beispiel Framework: Struts Was ist? Open Source Framework zum Bau von Web Applikationen Home Page http://jakarta.apache.org/struts Teil des Apache Jakarta Project Unterstützt

Mehr

AS 7 / EAP 6 - Clustering. heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de

AS 7 / EAP 6 - Clustering. heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de AS 7 / EAP 6 - Clustering heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de Was ist die EAP 6? EAP6!= EAP5 +1 JBoss Enterprise ApplicaBon PlaCorm 6 Stabile und unterstützte Pla>orm Basiert auf

Mehr

Sicherheit. letzten beiden Punkte typischerweise durch Verschlüsselung realisiert. Komponentenbasierte Software Entwicklung. Prof. Dr.

Sicherheit. letzten beiden Punkte typischerweise durch Verschlüsselung realisiert. Komponentenbasierte Software Entwicklung. Prof. Dr. Sicherheit Vier Aufgaben Authentifizierung: Nutzer erkennen; klassisch über Name und Passwort Autorisierung: Nutzer darf nur bestimmte Aktionen durchführen, klassisch über Rechte Rollen System Vertraulichkeit:

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

Enterprise Web-SSO mit CAS und OpenSSO

Enterprise Web-SSO mit CAS und OpenSSO Enterprise Web-SSO mit CAS und OpenSSO Agenda Gründe für SSO Web-SSO selbst gemacht Enterprise Web-SSO mit CAS Enterprise Web-SSO mit SUN OpenSSO Federation-Management Zusammenfassung Gründe für SSO Logins

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 7 Serverseitige Web-Technologien [WEB7] Rolf Dornberger 1 06-11-12 7 Serverseitige Web-Technologien 1. Begriffe Zusatz für Interessierte: 2. JSP erstellen 3. Servlet erstellen

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

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

:HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL

:HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL DNDGLD,QIRUPDWLRQ 7HFKQRORJ\ :HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL Authoren: Christoph Gächter / Martin Zahn Copyright 1999 Akadia AG All rights reserved $NDGLD$* Information

Mehr