ORDIX News. Datenkompression unter Oracle S. 24. XEN ein neuer Stern am Himmel? Open Source Virtualisierungslösung S. 13

Größe: px
Ab Seite anzeigen:

Download "ORDIX News. Datenkompression unter Oracle S. 24. XEN ein neuer Stern am Himmel? Open Source Virtualisierungslösung S. 13"

Transkript

1 ORDIX News Das IT-Magazin der ORDIX AG Ausgabe 3/2006 2,20 Datenkompression unter Oracle S. 24 XEN ein neuer Stern am Himmel? Open Source Virtualisierungslösung S. 13 EJB 3.0: Annotations versus XDoclet Teil I dieser Artikelserie stellt EJB 3.0 aus konzeptioneller Sicht vor. S. 5 Lucene unter Last beim Deutschen Rundfunkarchiv S. 30 Oracle Objekttypen Die neue Reihe bringt Licht in die zahlreichen von Oracle unterstützten Objekttypen S. 28

2 Besuchen Sie ORDIX auf der 19. Deutschen Oracle Anwenderkonferenz am 15./ in Mannheim... Auf der Konferenz präsentieren wir Oracle Know-how an der ORDIX Infoinsel und in diversen Vorträgen: Umstieg auf RMAN mit Oracle Secure Backup Rechnet sich das? Herr Andreas Kother, ORDIX AG, Paderborn Tracing - Im Geheimdienst Ihrer Majestät Herr Martin Hoermann, ORDIX AG, Münster PL/SQL-Debugging und Tuning Frau Beate Künneke, ORDIX AG, Paderborn Auditing - Sinn, Einsatzmöglichkeiten & Performance Herr Klaus Reimers, ORDIX AG, Köln... und auf dem DOAG Schulungstag am Schnuppern Sie das ORDIX Know-how in dem Workshop Advanced PL/SQL im Rahmen des DOAG Schulungstags. Advanced PL/SQL Workshop PL/SQL wird als Sprache im Datenbank-Kern immer wichtiger. Die Verarbeitung und Bereitstellung der Daten an zentraler Stelle ermöglicht damit den Zugriff von unterschiedlichen Anwendungen aus verschiedenen Systemen auf eine gemeinsame Basis. Große Bedeutung hat nach wie vor eine sehr gute Performance, die in der Datenbank optimal erzielt werden kann. Wir gehen in diesem Workshop auf wichtige Erweiterungen ein und zeigen Möglichkeiten zum Tracen auf. Darüber hinaus behandeln wir das Thema Performance. Zielgruppe: Dieser Workshop richtet sich an fortgeschrittene Entwickler und Datenbankprogrammierer, die ihre PL/SQL-Kenntnisse erweitern möchten. Inhalte: PL/SQL-Designkonstrukte: Cursor Variablen, Subtypen, Objekttypen Kollektionen (SQL, PL/SQL): Assoziative Arrays, Nested Tables, Varrays, Vorteile von Kollektionen Fine Grained Access Control (FGAC): Prozessbetrachtung, Anwendungskontexte einrichten, Policies implementieren Externe Prozeduren: Vorteile, Komponenten, Aufruf PL/SQL Server Pages: Verwendungszweck, Aufbau und Aufruf LOBs: Definition von Datentypen, LOB in der Datenbank, die Nutzung des DBMS_LOB Packages, Vorteile von LOBs Analyse und Performance Tricks Infos zu den ORDIX Vorträgen und zur Anmeldung finden Sie unter Infos zum kompletten ORDIX Trainingsprogramm finden Sie unter Wir freuen uns auf Ihren Besuch!

3 Editorial Paderborn, September 2006 An dieser Stelle erwarten Sie normalerweise offene, kritische und manchmal auch amüsante Worte von mir. Als ich das letzte Editorial geschrieben hatte und noch nicht einmal die Drucklegung der Zeitung beendet war, erreichte die Eltern zweier junger Männer und unser Unternehmen eine unbegreifliche Nachricht. Ein Schicksalsschlag, von dem ich mir immer, seitdem ich dieses Unternehmen gegründet hatte, wünschte, dass er uns nie treffen würde. Daniel Hellinge und Christoph Voss Im Mai 2006 erlagen unsere beiden Auszubildenden Daniel Hellinge und Christoph Voss ihren schweren Verletzungen, die sie sich bei einem unverschuldeten Autounfall zugezogen hatten. Diese Seite ist deshalb ihnen und ihrem leider viel zu kurzen Schaffen innerhalb der ORDIX gewidmet. Wir werden sie nicht vergessen. Daniel Hellinge * Christoph Voss * Diese abrupte Trennung hat uns schwer getroffen. Und dennoch haben in alter Tradition am 1. August zwei neue Auszubildende ihre Arbeit in unseren Reihen aufgenommen. Wir wünschen uns und ihnen, dass sie würdige Nachfolger von Christoph und Daniel werden. Trotz dieser sehr ernsten und traurigen Einleitung lassen Sie sich nicht davon abhalten, auch in dieser ORDIX News unsere interessanten Artikel rund um Java, Oracle, Informix, Linux... zu lesen. Ich wünsche Ihnen nach der WM-Euphorie viel Erfolg für die restlichen Monate des Jahres. Wolfgang Kögler 3

4 Inhaltsverzeichnis Training Standards 09...Seminar EJB Programmierung 12...Seminar Informix Backup & Recovery mit ON-Bar 22...Seminarübersicht: Oktober 2006 bis März Editorial 04...Inhalt 34...Impressum Unix/Linux/Open Source Aktuell Titelthema 13...XEN Ein neuer Stern am Himmel? Überblick über die Open Source Lösung XEN im Vergleich zu den Produkten Virtual Server und VMware DOAG Konferenz 2006 ORDIX auf der Anwenderkonferenz und dem Schulungstag 15...Betty, Tina, Lilli und Rosi sind pensioniert Bericht über die Planung und Migration eines (Betriebs-) Systems inklusive untersc 40...Tiefe Einblicke in Solaris 10 mit Dtrace (Teil III): Geisterhafte Technik oder Technik, die begeistert? Betrachtung von Dtrace auf der Grundlage des Skriptes dexplorer aus dem DtraceToolkit Rückblick ORDIX Open Neue Rekord-Teilnehmerzahlen 27...Larry Ratlos Zugriffsrechte unter Unix 43...Messe-Rückblick ORDIX diesjährig erstmals auf der JAX Java/XML 05...EJB 3.0 (Teil I): Annotations versus XDoclet Der Artikel stellt EJB 3.0 aus konzeptioneller Sicht vor. Es wird ein kurzer Quellcodevergleich zu EJB 2.x mit XDoclet auf Ebene von Auszeichnungen und EJB-Artefakten durchgeführt Lucene unter Last beim Deutschen Rundfunkarchiv Durch einen Lasttest werden Einflussgrößen für die Antwortzeiten der Suchmaschine Lucene ermittelt. Titelthema Titelthema Titelthema 18...Web-Entwicklung mit den Ajax-Tags Kurze Einführung in die Ajax-Programmierung und Verwendung der Ajax Tag Library an einem konkreten Beispiel Hibernate (Teil III): Caching in Hibernate Einführung in die Grundlagen und die Konfiguration des Caching von Objekten in Hibernate. Datenbanken 10...IBM IDS 10.0 Neuheiten (Teil III): Informix 10 Table Level Restore Mit dem Table Level Restore kann man einzelne Tabellen aus einem Backup extrahieren und in der Datenbank wieder herstellen. Titelthema 24...Datenkompression unter Oracle Wir stellen die Komprimierung von Tabellen unter Oracle mit Hilfe von DATA Segment Compression vor Oracle Objekttypen (Teil I): Von Cluster bis XML Mehrteilige Übersicht zu den von Oracle unterstützten Objekttypen Auditing für die Datenbank Die Möglichkeiten des Auditing unter Oracle bieten eine erhöhte Sicherheit für die Datenbankadministration. 4

5 Java/XML - Titelthema Java/XML Neue Reihe EJB 3.0 (Teil I): Annotations versus XDoclet Der EJB-Entwickler musste bislang für eine einzelne Enterprise Java Bean sieben Dateien und mehr erstellen und pflegen, um seine Businesslogik an den Server zu bringen. Eine große Arbeitserleichterung war da die Einführung von XDoclet als Hilfsmittel zur Code-Erzeugung. Mit EJB 3.0 Annotationen wird nun alles anders... oder doch nicht?! EJB-Entwicklung und ihre Tücken Kritiker von Enterprise Java Beans (EJB) gibt es viele - wohl manchmal auch zu recht. Dabei ist einer der erstgenannten Kritikpunkte, dass für die Implementierung einer simplen EJB 2.0 Anwendung sieben Dateien und mehr erstellt und gepflegt werden müssen (siehe Abbildung 1). Neben der eigentlichen Bean verlangen bis zu vier Java-Interfaces sowie zwei Deployment- Deskriptoren die Aufmerksamkeit des Programmierers. Diese Artefakte der EJB-Spezifikation sind anfällig für Fehler und Unachtsamkeiten. Zudem treten viele damit verbundenen Fehler erst beim Deployment in den Applikationsserver auf. Für den Java-Compiler ist es zudem noch kein Grund, beim Übersetzungsvorgang einen Fehler anzuzeigen, wenn sich die throws-klauseln einer Methode der eigentlichen Bean von denen des EJB Remote Interfaces unterscheiden. Wurde hier in der eigentlichen Bean ein Exception-Wurf verzeichnet, jedoch nicht im EJB Remote Interface, wird dieser Verstoß gegen die J2EE-Spezifikation meist erst beim Deployment in den Applikationsserver als Fehler erkannt. Eine neu implementierte Methode, zu der in den Deployment-Deskriptoren die Angaben für das Verhalten zu Datenbanktransaktionen nicht korrekt definiert sind, zeigt meist erst bei kontrollierten Fehlerfällen ihre fatalen Auswir- Home Interface Remote Interface Local Interface Local Home Interface Deployment-Deskriptor ejb-jar.xml Container-abhängiger Deployment- Deskriptor (z. B. jboss.xml) Anwendungs-Deskriptor des EARs (application.xml) Abb. 1: Mögliche Artefakte von EJB 2.0. Der Artikel richtet sich vor allem an Java-Entwickler, die bereits mit EJB Erfahrung haben. kungen auf die Konsistenz der Datenbestände. Eine halb durchgeführte Kontobuchung wäre sicher ein mögliches Worst-Case- Szenario. Gerne wird bei der Implementierung von neuer Geschäftslogik auch die korrekte Definition der JAAS-Einstellungen der EJB vergessen. Auswirkungen können sein, dass z. B. ein in der Software abgebildeter Geschäftsvorfall nicht für alle beteiligten Nutzer zur Verfügung steht und der Container das Ansprechen der Schnittstelle mit einer java.lang.securityexception verweigert. Für den Programmierer sind die EJB-Artefakte einer einzigen, zu implementierenden EJB-Methode (z. B. einer Stateless Session Bean) nicht alle auf einen Blick verfügbar. Sie müssen an diversen Stellen in XML und in separatem Java-Code gepflegt werden. In den letzten Jahren haben sich in der Softwareentwicklung diverse Verfahren herausgebildet, um diese Hindernisse bei der EJB 2.0 Entwicklung zu reduzieren. Alle modernen, integrierten Entwicklungsumgebungen unterstützen den Entwickler bereits bei der Einhaltung diverser J2EE-Spezifikationen. So werden mit Eclipse oder IDEA IntelliJ bei Refactorings der EJB- Methoden auch die jeweiligen Stellen in den EJB-Interfaces angepasst, obwohl diese nicht in direkter Implementierungsbeziehung zu dieser Bean stehen. Anstatt die Einstellungen der Deployment- Deskriptoren umständlich über XML zu regeln, lassen sie sich zudem auch zentral über eine GUI steuern. Jenseits einer IDE hat sich im Open Source Bereich XDoclet als ungeschriebener Standard zur Pflege von EJB-Artefakten durchgesetzt. XDoclet als Wegbegleiter XDoclet ist ein Code-Generierungstool, das als Plugin für Java- Doc mit Hilfe von ant ausgeführt werden kann. Mit XDoclet hatte man ursprünglich genau jene EJB-Artefakte im Visier, die eine EJB-Entwicklung bislang unnötig erschwerte: XDoclet generiert die oben erwähnten, ungeliebten Artefakte (in Form von Text, XML- und Java-Quellcode) mit Hilfe von Auszeichnungen (Tags) innerhalb von Java-Kommentaren zu Klassen und Methoden. 5

6 Java/XML Annotationen / Anmerkungen / Auszeichnungen / Tags Die Anwendung von XDoclet folgt dabei dem gleichen Prinzip, wie es zur Erstellung einer aussagekräftigen API-Dokumentation notwendig ist: Es werden im Java-Kommentar von Klassen, Methoden und Attributen spezielle Anmerkungen (Tags) vorgenommen, die das jeweilige Element speziell auszeichnen. Soll in der API-Dokumentation beispielsweise für eine Klasse ein Autor benannt sein, lässt sich im Java-Kommentar der Klasse das Autorname einfügen, um die Information über einen Autor der Klasse in die Dokumentation einfließen zu lassen. Auf XDoclet übertragen fügt man so im Kommentar einer Klasse z. B. die type="stateless" ein, um XDoclet mitzuteilen, dass bei der javadoc-prozessierung dieser Klasse die EJB-Artefakte einer Stateless Session EJB generiert werden sollen. Über Tags lassen sich so alle benötigten Zusatzinformationen angeben, die zur Erstellung von gültigen EJB-Artefakten notwendig sind. Innerhalb der Steuerskripte für die Laufzeitumgebung ant oder über die Java-Umgebungsvariablen lassen sich zusätzlich Einstellungen für den Generierungsvorgang von XDoclet vorgeben. Sie definieren, was alles von XDoclet generiert werden soll. Hier lässt sich festlegen, ob definierte XDoclet-Tags ausgewertet und wo z. B. generierte Quellen abgelegt werden sollen. XDoclet folgt den Ansprüchen zur Generierung von Quellen und Metadaten unterschiedlichen Typs. So können neben dem EJB- Umfeld auch Quellen und Metadaten für JMX, Spring, Tapestry, Hibernate oder JDO erzeugt werden. Selbst in komplexeren Code-Generierungsszenarien, die einem modellzentrierten Software-Entwicklungsansatz folgen, findet XDoclet seinen Einsatz. Mit Tools wie AndroMDA oder Middlegen lassen sich auf der Grundlage eines Datenmodells Quelldateien erzeugen, die um XDoclet-Tags angereichert sind. Mit XDoclet lassen sich über diese Quelldateien fertige Software-Bausteine generieren [1]. Zu XDoclet gibt es auch eine alternative, erweiterte Implementierung: XDoclet2. Im Wesentlichen unterscheidet sie sich von der Vorversion durch diverse Verbesserungen bei der Unterstützung von Hibernate. Es gibt aber auch Verschlechterungen: In einigen Bereichen fehlen XDoclet2 einige Funktionalitäten der früheren Version. Zudem unterstützt auch XDoclet2 noch nicht die neuen Features von Java 5. JSR 175 Metadata Annotationen Mit Java 5 wird das Prinzip der Auszeichnungen von Xdoclet im Standard JSR 175 Metadata Annotations auf die elementare Sprachebene von Java gebracht. Annotationen liegen nicht mehr innerhalb von Kommentaren als Bestandteil der Dokumentation, sondern sind nun echte Metadaten als Bestandteil des Quelltextes. Im Gegensatz zu den rein textbasierten JavaDoc-Kommentaren, deren Verhalten in den JavaDoc-Plugins bzw. in XDoclet implementiert ist, kommt mit den JSR-175-Annotationen ein stark typisiertes Verfahren daher. Jede Annotation wird durch ein eigenes Sprachelement, den Annotation-Typ, beschrieben. Dieser steht auf einer sprachlichen Stufe mit den anderen, syntaktischen Elementen, wie Interface, Klasse etc. Damit einher gehen der Vorteil der Syntaxprüfung beim Übersetzungsvorgang und die Möglichkeit der Erweiterbarkeit um eigene, z. B. projektspezifische, Annotationen. Im Gegensatz zu XDoclet-Annotationen können Java- Annotationen direkt in die Java-Klasse mit einkompiliert werden. Sie sind anschließend derart mit der Klasse verbunden, dass sie auch noch zur Laufzeit per Reflection abgefragt werden können. EJB 3.0 Annotationen was ist neu? Im (künftigen) Standard EJB 3.0 (JSR-220) wird von den Java-Annotationen rege Gebrauch gemacht. Alle Metadaten lassen sich mit Hilfe der neu eingeführten Java-Annotationen beschreiben. Wurde ein bestimmter Wert nicht definiert, greift ein Standard. Bei der Entwicklung kann nun prinzipiell komplett auf XML- Deployment-Deskriptoren verzichtet werden. Der Verzicht ist jedoch nicht zwingend erforderlich. Jede EJB 3.0-Metainformation kann immer noch in gesonderten Deployment-Deskriptoren definiert werden und überschreibt somit die am Quellcode vorgenommene Auszeichnung. Die althergebrachten, von Sun definierten, EJB- Zuständigkeitsbereiche wie z. B. Application Component Provider, Application Assembler und Application Deployer sind damit immer noch gültig. Gerade dies wurde ja vor einigen Jahren als großer Vorteil der EJB-Komponentenentwicklung gefeiert. Eine Software- Komponente, die eigene JAAS-Rollen verwendet, kann nun z. B. immer noch über die Anpassung der Deployment-Deskriptoren in die JAAS-Umgebung einer bestehenden EJB-Anwendung integriert werden. Es sollte gut überlegt sein, welche Metainformationen direkt mit dem Quellcode verbunden werden. Von der Laufzeitumgebung abhängige Eigenschaften, wie der JNDI-Name einer Datenbank-Ressource, werden sicher besser immer in einem XML-Deployment-Deskriptor definiert. Hierzu siehe auch den empfehlenswerten Artikel unter [2]. Dem Entwickler wird die hohe Ähnlichkeit von EJB 3.0 Annotationen mit XDoclet Annotationen für Hibernate auffallen. Kein Wunder, denn die Entwickler von Hibernate sind doch an der Definition des Standards beteiligt und die Erfahrungen aus den Open Source Tools 6

7 Java/XML Hibernate und XDoclet in die Spezifikation eingeflossen. So ist ein Vergleich dieser Tools mit dem neuen Standard nicht abwegig. Im Folgenden sei ein näherer Blick auf die Implementierungsunterschiede der beiden Technologien im Quellcode gewagt. Ein kleiner Vergleich Auf Grundlage der aktuellen JBoss-Version (4.0.4.GA) und der dafür verfügbaren, vorläufigen EJB 3.0 Implementierung soll ein kleiner Vergleich mit einer einfachen Stateless Session Bean unter EJB 2.x mit XDoclet und EJB 3.0 gezeigt werden. Das Augenmerk liegt hier besonders auf dem Prinzip der Annotationen sowie auf den Artefakten, die in den unterschiedlichen EJB-Versionen benötigt werden. Im Folgenden wird dazu der Quellcode einer einfachen Stateless Session EJB gezeigt, die die beiden im EJB-Interface zu veröffentlichenden Methoden String dosomeaction() und int get- Count() enthält. Die Implementierung dieser Methoden enthält keine Logik. Für den Vergleich mit Blick auf Annotationen und Artefakte ist dies auch nicht nötig. Für das Beispiel wird die Bean um die jeweiligen Metainformationen zu Transaktions- und Sicherheitseinstellungen erweitert. Es fallen die großen Ähnlichkeiten der beiden Auszeichnungsvarianten auf (siehe Abbildung 2), wenngleich die zugrundeliegenden, technischen Unterschiede immens sind. Der EJB 2.x Entwickler bemerkt, dass die SessionBean des XDoclet-Beispiels abstrakt deklariert ist und nicht die für EJB 2.x obligatorischen Methoden des SessionBean Interfaces implementiert. Um XDoclet-Tags angereicherter Quellcode package ordix.xdoclet.ejb; import javax.ejb.sessionbean; import javax.ejb.sessioncontext; import javax.ejb.createexception; import javax.ejb.ejbexception; import java.rmi.remoteexception; /** * Diese Klasse ist ein Beispiel für die * XDoclet-Nutzung * * name="foofacadebean" * type="stateless" * view-type="both" * transaction-type="container" */ public abstract class FooFacadeBean implements SessionBean { } /** unchecked="true" type="required" */ public String dosomeaction() { return "I made it."; } /** * type="requiresnew" * role-name="administrator" */ public int getcount() { return 68; } Um EJB 3.0 Annotationen angereicherter Quellcode (in aktueller JBoss EJB 3.0 Implementierung) package ordix.ejb 3.0.ejb; import org.jboss.aspects.security.unchecked; import org.jboss.annotation.security.securitydomain; import java.rmi.remoteexception; import javax.ejb.*; import javax.annotation.security.rolesallowed; /** * Diese Klasse ist ein Beispiel für die EJB 3.0-Nutzung public class FooFacadeBean implements FooFacade public String dosomeaction() { return "I made it."; public int getcount() { return 68; } } Abb. 2: Die Implementierungsunterschiede im Quellcode der beiden Technologien im Vergleich. 7

8 Java/XML Erst beim Generierungsvorgang von XDoclet wird eine konkrete Implementierung erzeugt, die auch die Servicemethoden wie ejb- Start(), ejbstop() oder setsessioncontext() enthält. Auf die erzeugte Bean-Implementierung wird dann in den generierten Deployment-Deskriptoren verwiesen. Betrachtet man die verwendeten Auszeichnungen, fallen Ähnlichkeiten auf. XDoclet erwartet als Auszeichnung einer zu prozessierenden EJB das bei dem als Attribut definiert ist, um welchen Typ von EJB (hier Stateless Session Bean) es sich handelt. +---META_INF ejb-jar.xml jboss.xml \---ordix \---xdoclet +---ejb FooFacadeBean.java FooFacadeSession.java +---interfaces FooFacade.java FooFacadeHome.java FooFacadeLocal.java FooFacadeLocalHome.java \---util FooFacadeUtil.java Abb. 3: Verzeichnisbaum mit Quelldateien nach der Generierung durch XDoclet. Überblick über die Neuerungen von EJB 3.0 Deployment-Deskriptoren sind nicht nötig, können aber Standard- Verhalten überschreiben. Viele vordefinierte Einstellungen. Man spezifiziert nur die Ausnahmen von den Regeln. Es sind keine Schnittstellen wie Remote, EntityBean, Session- Bean sowie Callback Interfaces nötig, die oft gar nicht benötigt werden. (Etwa bei Stateless Session Beans und Passivierung.) Falls es zum Beispiel eine remove-methode geben muss, wird diese annotiert. Für eine Methode wie setsessioncontext() wird setter injection genutzt. Exceptions müssen nicht mehr deklariert werden. (Ein Ärgernis mit Business Interfaces für den lokalen und remote Fall). Die Objekte sind viel leichter zu testen und ein First-Test-Ansatz ist damit viel leichter. Home Interfaces sind nicht mehr nötig. Es lassen sich EntityBeans objektorientiert modellieren, denn Vererbung ist möglich. EntityBeans müssen nicht mehr abstrakt sein und lassen sich so besser testen. Während EJBs unter der 2.x Spezifikation diverse Schnittstellen implementieren, sind sie unter EJB 3.0 viel mehr Plain Old Java Objects (POJOs). EJB-QL wird mit Projektion, Inner und Outer Join, Bulk Updates, Bulk-Deletes, Sub-Queries und GROUP BY vervollständigt. Nutzt die in Java 5 eingeführten Annotationen, um Metadaten zu beschreiben. Abb. 4: Zusammenfassung der Neuerungen von EJB 3.0. (Quelle: Unter EJB 3.0 wird das Gleiche durch die erreicht. Sofern hier nichts weiter definiert wurde, greifen Standardwerte, die im JBoss z. B. die EJB unter dem JNDI- Pfad mit dem Namen der Klasse ablegt. In unserem Vergleich in Abbildung 2 lautet der JN- DI-Pfad /FooFacadeBean. Unter XDoclet muss jede Methode, die in den EJB-Interfaces publiziert werden soll, durch das ausgezeichnet werden. In EJB 3.0 passiert das Gleiche durch die Deklaration in dem implementierten Interface. Hier werden standardmäßig alle Methoden-Interfaces als zu veröffentlichende EJB-Methoden verwendet. Auch bei den Sicherheitseinstellungen und bei der Transaktionssteuerung entdeckt man Ähnlichkeiten. Verwendet XDoclet das permission mit dem Attribut unchecked, um eine Methode als ungeprüft im Sicherheitskontext zu kennzeichnen, macht es in EJB 3.0 die Das EJB 3.0 Äquivalent zum XDoclet type="required" ist in der (Transaction- AttributeType.REQUIRED) zu finden. Vereinfachungen Betrachtet man die beiden Technologien nach der XDoclet-Generierung, werden die großen Vereinfachungen deutlich, die EJB 3.0 mit sich bringt. In EJB 3.0 reicht es aus, die Klassen in einen JAR zu verpacken und dann dem Applikationsserver bereitzustellen. Bei EJB 2.x gibt es eine Reihe von Artefakten, die XDoclet generiert hat (siehe Abbildung 3). Neben den Deployment-Deskriptoren ejb-jar.xml und jboss.xml werden alle EJB-Interfaces generiert. Ebenso werden die konkrete Implementierung von javax.ejb. SessionBean und die Erweiterung von Foo- FacadeBean mit dem Namen FooFacade- Session generiert. Die ebenfalls generierte Util-Klasse stellt eine Implementierung eines J2EE-Patterns zum Caching der EJB Home Interfaces zur Verfügung, die dem Client unnötige JNDI-Lookups erspart. Ausblicke Auch wenn sich die Technologien EJB 2.x und EJB 3.0 in der Praxis in den Grundsätzen stark unterscheiden, dürfte für den XDoclet-erfahrenen Entwickler ein Umstieg auf EJB 3.0 relativ einfach sein. Die verschiedenen Auszeichnungen sind in beiden Fällen ähnlich und lassen ein Gefühl der Vertrautheit mit dem Verfahren aufkommen. 8

9 Java/XML Glossar Java Specification Request (JSR) Doclet JSR kennzeichnet eine Anforderung für eine Änderung der Programmiersprache Java, die vom Standardisierungskomitee, dem Java Community Process, eingebracht wird. Als Doclet bezeichnet man - in Anlehnung an Applet - Module, die von Dokumentationswerkzeugen zur Verarbeitung und automatischen Erzeugung von Dokumentationen und eventuell auch Code eingesetzt werden. Bekannt sind Doclets insbesondere im Umfeld der Programmiersprache Java, wo sie als Module im Dokumentationswerkzeug JavaDoc eingesetzt werden. Mit XDoclet und EJB 2.x hat sich in der Entwicklergemeinde bereits ein hohes Erfahrungspotential aufgebaut, das in Grundzügen dem Verständnis von EJB 3.0 dienlich sein kann. Nichtsdestotrotz ist EJB 3.0 eine komplexe, neue Technologie, die weit über die Fähigkeiten von XDoclet/EJB 2.x hinausgeht (siehe Abbildung 4). Lassen Sie sich überraschen und begeistern von den neuen Möglichkeiten, die sich mit EJB 3.0 bieten. Mit den Artikeln aus den Literaturhinweisen kommen Sie vielleicht auf den Geschmack. Holger Bartnick Literaturhinweise [1] Fertige Software-Bausteine generieren (engl.) [2] Wann setzt man Java-/Xdoclet-Annotationen ein und wann besser nicht?! (engl.) [3] Was ist MDA und wie steht das im Zusammenhang zu Code-Generatoren wie XDoclet? (dt.) [4] Wo finde ich Generalkritik an EJB? (engl.) [5] Was bezeichnet Annotation in der Programmierung? (dt.) [6] Wo finde ich eine Zusammenfassung der Neuerungen von EJB 3.0 und begleitende Web-Verweise? (dt.) [7] Was versteht man unter Java-Annotationen? (dt.) [8] Wo finde ich eine Einführung zu Java-Annotationen von Sun? /annotations.html (engl.) [9] Wo finde ich die eigentliche Spezifikation der Java-Annotationen (JSR 175)? (engl.) [10] Wo bekomme ich XDoclet her? (engl.) [11] Wo finde ich XDoclet2? (engl.) [12] Wo bekomme ich eine praktische XDoclet-Einführung mit Vergleichen zu MDA? (dt.) [13] Kurze EJB 3.0 Einführung von Oracle /simplifying_ejb3.html (engl.) Seminar: EJB Programmierung Der Teilnehmer erlernt die Programmierung von fortgeschrittenen Java-Enterprise-Anwendungen mittels Enterprise Java Beans (EJB). Mit Hilfe ausführlicher Übungen kann das Erlernte sofort in die Praxis umgesetzt werden. Voraussetzungen Gute Java-Kenntnisse oder Teilnahme am Seminar Java Programmierung Grundlagen. Grundkenntnisse der J(2)EE-Architektur oder Teilnahme am Seminar Einführung in J(2)EE. Zielgruppe Software-Ingenieure, Internet- und Intranet-Entwickler, die effizient J(2)EE-Anwendungen mit Java (insbesondere EJB) entwickeln möchten. Java-Enterprise-Entwickler, die Geschäftsobjekte auf der Serverseite entwickeln wollen. Seminarinhalte J(2)EE-Architektur im Überblick Übersicht Enterprise Java Beans Container: Session Beans, Entity Beans, Message Driven Beans Session Bean Details: Stateful/-less Session Beans Persistenz und Entity Bean Details: CMP, BMP, Benutzung von Transaktionen Message Driven Beans Ausführliche Übungen zu allen Themen Kursgebühr/Teilnehmer: 1590,00 Euro zzgl. MwSt. Dauer: 5 Tage Termine in Wiesbaden in Wiesbaden in Wiesbaden in Wiesbaden in Wiesbaden 9

10 Datenbanken IBM Informix Dynamic Server 10.0 Neuheiten (Teil III): Informix 10 Table Level Restore - Problemlose Wiederherstellung auf Tabellenebene In Ausgabe 2/2006 stellten wir die Features Renamed Restore und ONTAPE auf STDIO vor. Neben diesen beiden Neuerungen gibt es ein weiteres Feature aus dem Bereich Backup und Recovery, dessen Vorzüge wir Ihnen gerne aufzeigen möchten. Es handelt sich um den Table Level Restore. Dieser Artikel richtet sich an Datenbankadministratoren, Systemadministratoren und Entscheider. Was ist Table Level Restore? Bisher war es so, dass im Falle einer inkonsistenten Datenbanktabelle oder beim Verlust von Daten eine komplette Datenbanksicherung zurückgespielt werden musste. Eine Alternativlösung bestand darin, die komplette Datenbanksicherung auf einem anderen Referenzsystem zurückzuspielen und die entsprechenden Daten von diesem System aus auf das Produktionssystem zu übertragen. Diese Maßnahme konnte, je nach Größe der Datenbank, unter Umständen sehr lange dauern. Der Table Level Restore (TLR) kann an dieser Stelle Abhilfe schaffen. Durch den TLR können einzelne Tabellen aus einem Backup extrahiert und in der Datenbank wieder hergestellt werden. Es ist also kein kompletter Restore des ganzen Datenbanksystems mehr notwendig, um an die Daten einer einzelnen Tabelle zu gelangen. Die Grundlage des TLR bildet das Informix Tool archecker. Das Tool archecker Mit dem Tool archecker können Datenbanksicherungen, die mit Hilfe von ONTAPE oder ONBAR erstellt wurden, auf ihre Konsistenz und Vollständigkeit überprüft werden. Jedoch sollte trotz dieses Tools auf einen Testrestore nicht verzichtet werden, um zum einen die Abläufe zu trainieren und zum anderen die 100%ige Sicherheit zu haben, dass ein Restore fehlerfrei funktioniert. Ab Informix Release 10.0 kann das Tool archecker zusätzlich für den TLR genutzt werden. Dabei kann auch hier sowohl auf ONBARals auch auf ONTAPE-Sicherungen zurückgegriffen werden. Voraussetzungen Um einen TLR durchzuführen, müssen folgende Voraussetzungen erfüllt sein: Es muss eine Sicherung (ONTAPE oder ONBAR) existieren, die auch die entsprechende(n) Tabelle(n) beinhaltet, die herausgezogen und wieder hergestellt werden soll(en). Von den wieder herzustellenden Tabellen muss eine so genannte Schemadatei vorhanden sein, die das Data Definition Language (DDL)-Statement für die Tabelle enthält. Mit dem Tool dbschema existiert eine komfortable Möglichkeit, eine solche Schemadatei zu erstellen (siehe Abbildung 1). Natürlich kann diese auch von Hand geschrieben werden. Zusätzlich muss in dieser Schemadatei eine Verbindung zur Datenbank hergestellt werden, in welche die Tabelle zurück geschrieben werden soll. Weiterhin muss sie das entsprechende Insert-Statement enthalten, um die Datensätze der Tabelle hinzuzufügen (siehe Abbildung 2). In der SQLHOSTS-Datei muss mindestens ein Eintrag für eine TCP/IP Verbindung zum Online Server vorhanden sein, über die der TLR durchgeführt werden kann. Während des Restores werden über eine Verbindung mehrere Sessions innerhalb der Datenbank geöffnet. Eine Shared Memory-Verbindung kann im Gegensatz zu einer TCP/IP-Verbindung immer nur eine Session pro Verbindung bereitstellen und ist deshalb für den TLR ungeeignet. Befehlssyntax Syntaktisch sieht der Befehl für einen TLR folgendermaßen aus: archecker { -t -b } X f <Schema-Datei> Die Optionen t oder -b legen fest, um welchen Archive-Typ es sich handelt. Für die Benutzung einer ONTAPE-Sicherung wird direkt 10

11 Datenbanken nach dem Kommando die Option t angegeben. Für eine ONBAR-Sicherung wird die Option b angegeben. Die Option X teilt dem Kommando mit, dass ein TLR durchgeführt werden soll. Alle weiteren Informationen werden anhand der zuvor konfigurierten Schemadatei ermittelt, die über die Option f angegeben wird. Beispiel Für eine Schemadatei einer Tabelle kunde würden die Befehle für ONTAPE bzw. ONBAR Sicherungen folgendermaßen aussehen: ONTAPE-Sicherung: archecker t X f kunde.sql ONBAR-Sicherung: archecker b X f kunde.sql Die Schemadatei Die Schemadatei ist ein wichtiger Bestandteil des TLRs. Mit ihr kann der Datenbankadministrator (DBA) einen direkten Einfluss auf den Namen der Tabelle und auf die Datenbank, in der die Tabelle wieder hergestellt werden soll, nehmen. Folgende Informationen und Befehle sind in der Schemadatei anzugeben: Datenbankname der Quelldatenbank DDL Statements der Tabelle(n) DML Befehle Ein Beispiel zeigt Abbildung 2. Der TLR bietet somit auch die Möglichkeit, eine Tabelle aus einer Sicherung zu extrahieren und unter einem anderen Tabellennamen in einer anderen Datenbank wieder herzustellen (siehe Abbildung 3). Point-In-Time Durch die Ergänzung restore to... kann eine Tabelle auch bis zu einem bestimmten Zeitpunkt (Point-In-Time) wieder hergestellt werden. Das Kommando erwartet dazu die Angabe eines Zeitstempels, der sich aus dem Datum und der Uhrzeit zusammensetzt. Die Syntax eines Table Level Point in Time Restores (TLPITR) ist in Abbildung 4 dargestellt. External Table Neben der Wiederherstellung einer Tabelle in einer Datenbank bietet der TLR auch die Möglichkeit, die Daten direkt in eine Datei im File- $ dbschema t kunde d DB1 kunde.sql $ cat kunde.sql create table "informix".kunde ( kundennr serial not null, kundenname char(15), kundenanschrift char(45), primary key(kundennr) ); Abb. 1: Beispiel zur Erstellung einer Schemadatei mit Hilfe des Befehls dbschema. database DB1; create table "informix".kunde ( kundennr serial not null, kundenname char(15), kundenanschrift char(45), primary key(kundennr) ); insert into kunde select * from "informix".kunde; Abb. 2: Beispiel einer einfachen Schemadatei für den Table Level Restore. database DB1; create table "informix".kunde ( kundennr serial not null, kundenname char(15), kundenanschrift char(45), primary key(kundennr) ); database DB2; create table "informix".kunde_newdb ( kundennr serial not null, kundenname char(15), kundenanschrift char(45), primary key(kundennr) ); insert into DB2:kunde_newDB select * from DB1:kunde; Abb. 3: Beispiel eines datenbankübergreifenden Table Level Restores. database DB1; create table "informix".kunde ( kundennr serial not null, kundenname char(15), kundenanschrift char(45), primary key(kundennr) ); insert into kunde select * from "informix".kunde; restore to " :43:29" Abb. 4: Beispiel eines Table Level Point in Time Restores (TLPITR). 11

12 Datenbanken database DB1; create table "informix".kunde ( kundennr serial not null, kundenname char(15), kundenanschrift char(45), primary key(kundennr) ); create external table external_kunde ( kundennr serial not null, kundenname char(15), kundenanschrift char(45), primary key(kundennr) ) USING ('external_table.unl','delimited'); insert into external_kunde select * from "informix".kunde; Abb. 5: Verwendung von externen Tabellen mit Hilfe des Table Level Restores. System zu schreiben. Hierbei nimmt jeder Datensatz der Tabelle eine Zeile in der Datei ein. Die einzelnen Spalten werden durch ein Trennzeichen voneinander abgegrenzt, welches bei Informix standardmäßig das Pipe-Zeichen ( ) ist. Über die Umgebungsvariable DBDELIMITER kann dieser Wert jedoch nach Belieben verändert werden. Die Steuerung erfolgt auch hier anhand der Schemadatei. Im oberen Teil werden die Datenbank und die Tabelle ausgewählt, von der die Daten ermittelt werden sollen. Im unteren Teil wird dann zusätzlich eine externe Tabelle angelegt, durch die mittels der USING-Anweisung die Datei deklariert wird (siehe Abbildung 5). Abschließend folgt das insert-statement, das die Daten der Quelltabelle in die externe Tabelle und somit in die Datei schreibt. Fazit Der Table Level Restore kann im Bereich des Backup und Recovery von sehr großem Nutzen sein. Insbesondere dann, wenn von einer Datenbank nur einzelne Tabellen inkonsistente Daten aufweisen oder durch Anwenderfehler verloren gegangen sind und somit wieder hergestellt werden müssen. Für den DBA kann der TLR eine enorme Zeitersparnis bedeuten, da nicht erst eine komplette Datenbank wieder hergestellt werden muss, aus der dann die benötigten Daten der betroffenen Tabellen zusammengesucht werden müssen. Jedoch sollte man nicht nur den Bereich der Wiederherstellung der Daten nach einem Datenverlust betrachten. Auch bei der Erstellung einer Testumgebung zum Beispiel, in der nur bestimmte Tabellen benötigten werden, kann man mit diesem Feature viel Zeit und Ressourcen sparen. Somit stellt TLR auch eine Alternative zu den bestehenden Import- und Export Tools dar. Haben Sie Fragen? Dann fordern Sie uns! Thorsten Schuhmacher Seminar: Informix Backup & Recovery mit ON-Bar Der Teilnehmer lernt, Sicherungen und Restaurierungen des Informix Dynamic Servers (IDS) mit ON-Bar und einem Storage Manager zu erstellen. Voraussetzungen Tiefgehende Kenntnisse des Betriebssystems Unix oder Windows. Tiefgehende Kenntnisse des Datenbanksystems Informix Dynamic Server oder Teilnahme am Seminar Informix Dynamic Server Administration. Kenntnisse über Storage Manager. Zielgruppe Datenbankadministratoren, Softwareentwickler, Systembetreuer. Kursgebühr/Teilnehmer: 1090,00 Euro zzgl. MwSt. Dauer: 3 Tage Seminarinhalte Informix Werkzeuge zum Sichern des IDS Sicherungskonzepte: Vollsicherung, Logsicherung, Online-/Offline Sicherung Restaurierung unter Vermeidung von Datenverlust (Was tue ich, wenn...?) Sicherung von IDS mit ON-Bar Erstellung von Sicherungsplänen für den IDS mit Storage Manager Systemen (z. B. NetWorker, Hiback, ISM) Restaurierung eines IDS Ausführliche Übungen zu allen Punkten Termine in Wiesbaden in Wiesbaden in Wiesbaden in Wiesbaden 12

13 Unix/Linux/Open Unix/Linux/Open Source - Titelthema Source Vergleich der Open Souce Lösung XEN mit anderen Virtualisierungslösungen XEN Ein neuer Stern am Himmel? In früheren ORDIX News berichteten wir des Öfteren über die Virtualisierungslösung ESX-Server von VMware. Das Thema Virtualisierung wird aber nicht nur durch VMware bedient. Mittlerweile gibt es auch von anderen, kommerziellen Anbietern vergleichbare Lösungen sowie auch Lösungen aus dem Open Source Umfeld. Wir geben Ihnen einen Überblick über die Open Source Lösung XEN im Vergleich zu anderen Virtualisierungslösungen. Virtualisierung in aller Munde Die Firma VMware [1] bietet Produkte aus dem Virtualisierungsbereich an, die für verschiedene Bereiche eingesetzt und genutzt werden können. Diese Art der gleichzeitigen Nutzung einer Hardware durch mehrere Betriebssysteme ist erst in den letzten Jahren aktuell geworden. Grund hierfür ist unter anderem, dass die aktuell zur Verfügung stehenden Prozessoren wesentlich leistungsfähiger und Arbeitsspeicher deutlich günstiger geworden sind. Neben VMware hat auch Microsoft mit dem Virtual PC 2004 und Virtual Server 2005 [2] Produkte für den Heim- und Enterprise-Bereich ins Rennen geschickt. Auch im Open Source Bereich verschläft man die Aktualität dieses Themas nicht und schickt mit XEN [3] Kernelpatch und Verwaltungstools in Richtung Zielgerade. Kann XEN den kommerziellen Produkten Paroli bieten? Ein tabellarischer Vergleich zu anderen Virtualisierungslösungen gibt Abbildung 2. Hallo! Mein Name ist XEN, der Neue im Bunde XEN ist eine Open Source Virtualisierungslösung, die unter der General Public License (GPL) steht und von der Universität Cambridge entwickelt wird. XEN läuft auf 32 und 64 Bit Intelund AMD-Prozessoren (siehe Abbildung 1). Diese werden für die darauf laufenden Gastsysteme paravirtualisiert. Was bietet XEN in der aktuellen Version? Dieser Artikel richtet sich an Berater, Systemadministratoren und Entscheider, die sich mit dem Thema Virtualisierung auseinandersetzen. Unterstützung virtualisierender Intel- und AMD-Prozessoren Unterstützung von Symmetric Multiprocessing (SMP) im Gastbetriebssystem Unterstützung von 64 Bit CPUs Dynamische Verteilung der Gastsysteme auf die vorhandenen CPUs Verwaltung von bis zu 100 Betriebssystemen Sichere Trennung der Gastsysteme untereinander Online-Ressourcenzuweisungen (RAM, Prozessoren, etc.) Online-Migration von Gastsystemen auf andere XEN-Server Was fehlt XEN momentan (noch)? XEN arbeitet in der aktuellen Version kommandozeilenorientiert. Es fehlen die GUIs zur Administration. Die Emulation ist noch auf bestimmte Betriebssysteme als Gast beschränkt. XEN ist standardmäßig noch nicht im Linux-Kernel enthalten. Der Kernel erfordert einen entsprechenden Patch. Das wahrscheinlich größte Manko Da XEN nicht mit kommerziellem Hintergrund entwickelt wird, fehlen aktuell noch Tools, die die administrative Arbeit erleichtern. Dabei wird eine sehr hohe Performance erzielt, weil die Hardware nicht emuliert werden muss. Diese wird den Gastsystemen mit einem sehr kleinen Overhead zur Verfügung gestellt. Als Gastsysteme (Domains) können momentan Linux, FreeBSD, NetBSD und OpenSolaris eingesetzt werden. Im Zuge der neuen Prozessorgenerationen Vanderpool (Intel) und Pacifica (AMD) werden auch Microsoft Windows Betriebssysteme in den Genuss des Gastes kommen. Abb. 1: Vier virtuelle Maschinen in Aktion. 13

14 Unix/Linux/Open Source Produkt ESX-Server Virtual Server XEN Hersteller / Version VMware / 3 Microsoft / 2005 R2 / 3.0 Wirtsbetriebssystem Redhat Linux Windows Linux Wirtsbetriebssystem ist im ESX Server enthalten. Gastsystem Windows, Linux, Novell, Solaris Windows (Linux inoffiziell) Windows, Linux, BSD, OpenSolaris Virtuelle Hardware NIC, SCSI, IDE, Parallel, Seriell NIC, SCSI, IDE, Parallel, Seriell NIC, SCSI, IDE, Parallel, Seriell, USB Leistungsverlust Gast 3 18 % % bis 5 % Support für Vanderpool, Pacifica Ja Nein Ja Kommandozeilenunterstützung Ja Ja Ja GUI Administration Ja Ja Nein / in Entwicklung Sicherung der Gäste Imagebasiert Imagebasiert Imagebasiert Snapshots Ja Ja Nein Max. Anzahl Prozessoren Max. virtuelle Prozessoren / Gast 4 1 / momentan kein SMP max. 32 der Gäste möglich Max. virtueller RAM 16 GB 3 GB Wie Host-OS NICs / Gast 4 4 >4 Installation Gast CDrom CDrom CDrom, Templates Onlinemigration auf andere Ja Nein Ja Wirtsbetriebssysteme Vervielfältigung der Gastbetriebssysteme Manuell, Manuell, Manuell (Cloning) Drittanbieterprodukte Drittanbieterprodukte Ressourcenüberwachung der Gäste Ja Ja Ja Lizensierung Pro CPU 199 $ / je Virtual Server GPL / Open Source Abb. 2: Übersicht über die aktuellen Virtualisierungslösungen. XEN wird ohne grafisches Managementtool ausgeliefert, so dass die Verwaltung und Installation der Gastbetriebssysteme auf die Kommandozeilenebene beschränkt ist. Zum Beispiel kann man mit dem Befehl xentop Informationen über die verwendeten Ressourcen anzeigen lassen (siehe Abbildung 3). Die Open Source Gemeinde ist dabei, Lösungen zu entwickeln, die eine grafische Administration und Überwachung der virtuellen Gäste ermöglichen. Auch der Distributor Novell liefert in der aktuellen SUSE Linux Version eine Möglichkeit, XEN-Gäste mit Hilfe von YaST zu installieren. Einstiegsschwierigkeiten Momentan befindet sich XEN noch nicht im Vanillakernel. Dadurch ist man auf die Hilfe der Distributoren oder auf eigenes Geschick angewiesen. Der Kernel muss gepatcht und kompiliert werden. Abb. 3: Ressourcenmanagement mit XEN. Links [1] [2] /virtualserver/default.mspx [3] Es ist aber in naher Zukunft abzusehen, dass XEN Teil des stabilen Kernels wird. Auch die Installation eines Gastbetriebssystems ist nicht trivial und benötigt tiefgreifende Linux-Kenntnisse. Ein Linux muss beispielsweise entweder in einer Chroot-Umgebung installiert oder ein vorhandenes Linux geclont und verändert werden. Fazit XEN muss sich im Vergleich zu den kommerziellen Produkten nicht verstecken. Dafür, dass es im Vergleich zu den bekannten Produkten noch ein recht junges Produkt ist, leistet es Erstaunliches. Viele Internetanbieter stellen momentan auf XEN um, um so genannte Root- Server anzubieten. Und die ersten Distributoren bringen Linux-Komplettpakete mit XEN- Unterstützung heraus. Auch die kommerziellen Hersteller sind durch den Neuling alarmiert und reagieren mit kostenlosen Download-Varianten ihrer Produkte auf die Open Source Lösung XEN. Viel wird davon abhängen, wie sich die Qualität und Flexibilität der Lösung zukünftig entwickelt. In einer der nächsten Ausgaben werden wir die Lösung XEN näher beleuchten. Christian Fertsch 14

15 Java/XML Vorstellung der Ajax JSP Tag Library Web-Entwicklung mit den Ajax-Tags Mit Hilfe von Ajax können Web-Anwendungen so programmiert werden, dass die Bedienbarkeit ähnlich komfortabel wie bei klassischen Desktop-Anwendungen wird. Dies liegt daran, dass der Browser in der Lage ist, mit dem Server zu kommunizieren, ohne dass die Web-Seite vollständig neu geladen werden muss. Das Ergebnis kann eine in der Handhabung beschleunigte und intuitivere Web-Anwendung sein. Dieser Artikel richtet sich an Java-Entwickler, die ihre Web-Anwendungen mit Ajax-Funktionalität ausstatten möchten. Wo finde ich Ajax-Anwendungen im Web? Eines der bekanntesten und umfangreichsten Beispiele einer Ajax- Anwendung ist wohl Google Maps [1]. Weitere Google-Beispiele, wie z. B. Google Suggest, lassen sich über [2] aufrufen. Aber auch in kleinerem Rahmen lässt sich Ajax einsetzen, um die Bedienung von Webseiten komfortabler zu gestalten. Einige solcher Beispiele sind unter [3] oder auf der Ajax-Tags-Seite [4] zu finden. Ajax in Form von Tags Um Web-Anwendungen mit Ajax umzusetzen, benötigt man ein fundiertes JavaScript-Wissen. Möchte der Entwickler die clientseitige JavaScript-Programmierung vermeiden und seine Webseiten trotzdem mit Hilfe von Ajax dynamisieren, lohnt sich ein Blick auf das AjaxTags-Projekt [5]. Mit Hilfe der dort bereitgestellten Tag Library lassen sich Java Server Pages um einige interessante Ajax-Funktionalitäten erweitern. Dieser Artikel zeigt beispielhaft die Verwendung der Ajax-Tags und macht auf Probleme bei der Umsetzung aufmerksam. Welche Vorbereitungen muss ich treffen? Sämtliche Dateien, die zur Verwendung der Ajax-Tags benötigt werden, sind unter [6] erhältlich. Die eigentliche Taglib muss in Form eines jar-archivs eingebunden werden. Des Weiteren muss Was ist Ajax? bei Verwendung von JSP 1.x der Tag Library Descriptor in der web.xml der Anwendung bekannt gegeben werden. Schließlich werden noch (mindestens) zwei JavaScript-Dateien benötigt: prototype.js, da die Ajax-Tags auf dem Prototype Framework [7] basieren. ajaxtags.js, die eine Reihe von Ajax-Funktionalitäten bereitstellt. Im Folgenden wird beispielhaft gezeigt, wie die Ajax-Tags in eine JSP-Seite integriert werden, um eine automatische Vervollständigung zu realisieren. Ein Beispiel: Automatische Vervollständigung Oft ist es wünschenswert, dass auf Basis einer Eingabe, z. B. in ein Textfeld, verschiedene Auswahlmöglichkeiten angezeigt werden. Folgender Ablauf findet in diesem Fall bei Implementierung mit Hilfe von Ajax statt: Der Benutzer gibt die gewünschten Buchstaben ein. Anschließend wird ein XMLHTTP-Request an den Server geschickt. Der Server verarbeitet den Request, ermittelt die notwendigen Daten und schickt diese an den Client zurück. Anschließend bekommt der Benutzer die Auswahlmöglichkeiten vom Server zu Gesicht, ohne dass die Webseite neu geladen werden muss. Ajax steht für Asynchronous JavaScript and XML. Kern von Ajax ist das XMLHTTP-Request Objekt (beziehungsweise das XMLHTTP-Objekt beim Internet Explorer), welches von aktuellen Browsern unterstützt wird. XMLHTTP-Requests können gesendet werden, ohne dass die Webseite neu aufgebaut werden muss. Die Daten werden üblicherweise in Form von XML übermittelt. Auf der Clientseite wird JavaScript benötigt, um zu entscheiden, wann und mit welchen Daten ein XMLHTTP-Request abgeschickt wird und auf welche Weise die angeforderten Daten aus dem Response dann in die Webseite eingebaut werden. Abb. 1: Automatische Vervollständigung mit Hilfe der Ajax-Tags. 18

16 Java/XML Als Beispiel soll nun ein Textfeld dienen, welches in einem HTML-Formular platziert wird. Gibt der Benutzer in das Textfeld einen Buchstaben ein, z. B. ein J (siehe Abbildung 1), werden alle Seminare angezeigt, die mit diesem Buchstaben beginnen. Das HTML-Formular wird, wie in Abbildung 2 zu sehen ist, definiert. Um die automatische Vervollständigung mit Hilfe der Ajax-Tags zu realisieren, wird das Tag <ajax:autocomplete> verwendet (siehe Abbildung 3). Bedeutung der einzelnen Attribute In dem Beispiel in Abbildung 3, Zeilen 2 und 3, sind das source - und target -Attribut auf dasselbe Textfeld innerhalb des HTML-Formulars gesetzt. D. h. der Benutzer bekommt die Auswahl und das Ergebnis im selben Feld angezeigt. Das Attribut baseurl (Zeile 4) definiert, welche URL zur serverseitigen Verarbeitung des Requests aufgerufen wird. In diesem Fall kümmert sich das AjaxServlet um die Verarbeitung. Über classname (Zeile 5) wird eine CSS-Klasse zur Generierung der Auswahlliste angegeben. In der mitgelieferten Datei ajaxtags.css befindet sich neben einer Reihe weiterer Stylesheets die entsprechende Klasse autocomplete. Mit Hilfe von indicator (Zeile 6) kann optional ein Bild festgelegt werden. Dieses signalisiert dem Benutzer, dass die Auswahlliste aufgebaut wird, bzw. der Response vom Server erwartet wird. Solche Hinweise sollten dem Benutzer generell gegeben werden, da Ajax wie der Name schon sagt asynchron arbeitet. Der Anwender würde sonst nicht mitbekommen, dass eine Verarbeitung stattfindet. Über minimumcharacters=1 (Zeile 7) wird festgelegt, dass die Auswahlliste schon bei Eingabe eines Buchstabens aufgebaut wird. Schließlich wird noch mitgeteilt, dass der Response des Servers im XML-Format vorliegt (Zeile 8). Die Verarbeitung auf dem Server Nachdem die JSP auf diese Weise mit Ajax-Funktionalität ausgestattet wurde, muss sich der Entwickler um die serverseitige Komponente kümmern. Welche Technologie er dort einsetzt, ist ihm überlassen. Abbildung 4 zeigt kurz auf, wie ein Servlet aussehen kann, das die Verarbeitung auf dem Server vornimmt. Die Klasse erbt von der Klasse BaseAjaxServlet, welche Teil der Ajax Tag Bibliothek ist (Zeile 1). Die Methode getxmlcontent() (Zeile 3) ermittelt zunächst den übergebenen Parameter. In unserem Beispiel das vom Benutzer eingegebene J. Dann werden alle Seminare, die mit dem Buchstaben J beginnen, in einer Liste gespeichert. Schließlich wird aus dieser Liste ein XMLkonformer String generiert und zurückgegeben (Zeile 7). 1 <form action="."> 2 <fieldset> 3 <legend>seminarauswahl</legend> 4 <p>bitte wählen Sie ein Seminar aus</p> 5 <label for="seminar">seminar:</label> 6 <input id="seminar" name="seminar" type="text" size="30" /> 7 <span id="indicator" style="display:none;"> 8 <img src="${contextpath}/img/indicator.gif" /> 9 </span> 10 </fieldset> 11 </form> Abb. 2: Definition des HTML-Formulars. 1 <ajax:autocomplete 2 source="seminar" 3 target="seminar" 4 baseurl="${contextpath}/ajaxservlet" 5 classname="autocomplete" 6 indicator="indicator" 7 minimumcharacters="1" 8 parser="new ResponseXmlParser()" /> Abb. 3: Verwendung des Ajax-Tags <ajax:autocomplete> zur automatischen Vervollständigung. 1 public class AjaxServlet extends BaseAjaxServlet { 2 3 public String getxmlcontent(httpservletrequest request, HttpServletResponse response) 4 throws Exception { 5 6 String seminar = request.getparameter("seminar"); 7 Service service = new Service(); 8 List list = service.getseminarebyname(seminar); 8 10 return new AjaxXmlBuilder().addItems(list, "seminar", "result").tostring(); 11 } 12 } Abb. 4: Beispiel eines Servlets, das die Verarbeitung des Requests auf dem Server vornimmt. 19

17 Java/XML Links [1] [2] [3] [4] [5] [6] /showfiles.php?group_id= [7] [8] Die zweite Möglichkeit besteht darin, eine Version bereitzustellen, die auch ohne JavaScript und damit auch ohne Ajax auskommt. Zusätzlich ist zu bedenken, dass JavaScript unter Umständen von unterschiedlichen Browsern verschieden interpretiert wird. Deshalb sollte die Web-Anwendung auf mehreren Browsern getestet werden. Performance Glossar Ajax Tag Library JSP XML JavaScript Asynchronous JavaScript and XML. Ajax ist ein Konzept, das den asynchronen Austausch von XML- Nachrichten zwischen Client und Server erlaubt, ohne dass eine Webseite komplett neu geladen werden muss. Bestandteil der JSP-Spezifikation zur Erstellung dynamischer Webseiten. Java Server Pages; Technologie von Sun Microsystems zur Erstellung dynamischer Webseiten. Extensible Markup Language; Standard zur Gliederung von Daten in einer Baumstruktur. Clientseitig vom Browser interpretierte Skriptsprache. Ein Entscheidungskriterium zum Einsatz von Ajax können auch Performance-Überlegungen sein. Generell lässt sich festhalten, dass bei der Verwendung von Ajax eine größere Anzahl von (XMLHTTP)-Requests an den Server gesendet werden als bei klassischen Web-Anwendungen. Dies führt zu einer höheren Beanspruchung des Servers. Andererseits können über XML- HTTP-Requests Daten gezielter angefordert werden, sodass sich das zu übertragene Datenvolumen unter Umständen deutlich reduzieren lässt. Fazit Grenzen und Möglichkeiten der Ajax-Tags Das Beispiel zeigt, dass eine Funktion wie die Autovervollständigung mit wenig Aufwand zu erstellen ist. Problematisch kann jedoch die Fehlersuche werden. Ist zum Beispiel das Attribut baseurl falsch gesetzt und die Serverkomponente kann nicht gefunden werden, wird kein JavaScript-Fehler generiert. Da bleibt dann nur die Möglichkeit, sich dem Fehler mit entsprechenden alert() -Ausgaben in der Prototype-Bibliothek zu nähern oder einen JavaScript-Debugger zu verwenden. Für den Mozilla und Firefox gibt es z. B. den Venkman JavaScript- Debugger. [8] Des Weiteren ist es schwierig, die Funktionalitäten der Tags auf spezielle Bedürfnisse anzupassen. So lässt sich z. B. das <ajax: callout> Tag dazu verwenden, ein Pop-Up zu generieren, welches mit Daten vom Server versorgt wird. Hat man sich einmal mit den Ajax-Tags vertraut gemacht, lassen sich diese zügig auf andere Anwendungsfälle übertragen. An den passenden Stellen eingesetzt, führt die asynchrone, im Hintergrund ablaufende Kommunikation mit dem Server zu mehr Komfort bei der Bedienung. Das zu übertragende Datenvolumen lässt sich in bestimmten Fällen stark reduzieren, was zu schnelleren Antwortzeiten führt. Ob dies die höhere Last durch eine größere Anzahl von Server-Requests wert ist, muss sicher im Einzelfall entschieden werden. Die Dokumentation der Tags ist wie häufig bei Open Source Projekten sehr knapp gehalten. Es lohnt sich ein Blick auf die vorhandenen Beispiele der Ajax-Tags-Seite, da diese gut nachvollziehbar und umzusetzen sind. Ein Blick in die ajaxtags.js Bibliothek verrät, dass dieses Pop-Up über den JavaScript Eventhandler OnMouseOver erstellt wird. Soll dieses Verhalten geändert werden und das Pop-Up z. B. bei einem OnClick erscheinen, muss die Bibliothek verändert werden. Das hat zur Folge, dass sie bei jedem Update auf eine neue Version neu angepasst werden muss. Ein weiterer Aspekt, den der Entwickler bedenken sollte, ist, dass JavaScript im Browser abgeschaltet werden kann. In diesem Fall wäre es vorteilhaft, dem Benutzer mitzuteilen, dass die Webseite JavaScript benötigt. Jens Stahl 20

18 Aktuell Rekorde, Rekorde, Rekorde: ORDIX Open mit neuen Höchstleistungen Rekorde sind zum Brechen da so Organisator Hans-Walter Schmitt zufrieden zu dem ORDIX Open, dem offenen Turnier im Rahmen des diesjährigen Schnellschach-Festivals in Mainz. Vom fanden in der Rheingoldhalle in Mainz die so genannten Chess Classic statt ein Schachturnier der ungewöhnlichen Art, das von Jahr zu Jahr eine größere Pilgerschaft anzieht. ORDIX Open: Hol dir den Titel! Das ORDIX Open hat sich als Meltingpott von Deutschlands vielseitigstem und teilnehmerstärksten Schachfestival auch in diesem Jahr hervorgetan. Neben dem traditionellen Stelldichein der Spitzengrößen des Weltschachs fanden sich zahlreiche Nachwuchsschachspieler ein. Abb. 1: Tilo Knott (2. v. l.) im Simultan gegen Weltranglistendritten Levon Aronjan. Im Vordergrund Prof. Eckhard Freise, der durch die Günter Jauch Show als erster Millionengewinner Bekanntheit erlangte. Damit avanciert das ORDIX Open als traditionelles, offenes Schnellschachturnier zum Schmelztiegel der Begegnungen in der Schachwelt. Die Teilnehmerzahl kletterte auf 632 Personen, davon 58 Großmeister, 10 Großmeisterinnen, 44 Internationale Meister und 9 weibliche Internationale Meister. Unter dem Motto Hol dir den Titel! verloste ORDIX zwei Plätze gegen den Weltranglistenzweiten Anand und den Weltranglistendritten Aronjan (Armenien). Wir gratulieren den Gewinnern der ORDIX Verlosungen, Herrn Tilo Knott (Schachclub Brett vor m Kopp, Frankfurt) und Herrn Andreas Maatz aus Frankfurt, die sich kühn ihren Gegnern stellten. 11 Runden dominierend Abb. 2: Jung und Alt boten sich Paroli, hier Dr. Doris Lübbers gegen Vlada Boyarchenko. Foto: Harald Fietz, Berlin Als Gewinner des ORDIX Open ging letztlich kein geringerer als der Ex-Weltmeister Rustam Kasimdschanow hervor. In elf Runden gab der gebürtige Usbeke nur drei Remis ab. Summa Summarum fand sich eine illustre Gesellschaft zusammen. Weitere Informationen und Links finden Sie im Internet unter Die Redaktion Abb. 3: Siegerehrung des ORDIX Open (v. l.): Chef-Organisator Hans-Walter Schmitt und ORDIX Marketingleiterin Helma Jenniches gratulierten dem ORDIX Open Gewinner und Ex-Weltmeister Rustam Kasimdschanow, der den Weltranglistenzwölften Schachrijar Mamedjarow hauchdünn besiegte. Die Plätze 3, 4 und 5 gingen an den favorisierten Weltranglistenneunten GM Alexander Morosewitsch, GM Pentela Harikrishna und GM Mikhail Mchedlishvili. Foto: Harald Fietz, Berlin 21

19 Aus- Seminartermine & Weiterbildung - herausnehmbare Übersicht - Preis in EURO*)**) Datenbanken Oracle SQL 1790,00 Oracle SQL für Experten 1190,00 Oracle SQL für Umsteiger 790,00 Oracle Datenbankprogrammierung mit PL/SQL 1790,00 Oracle PL/SQL Aufbau mit LOB Programmierung 1190,00 Oracle Datenbankadministration Grundlagen 1890,00 Oracle Datenbankadministration Aufbau 1890,00 Oracle Backup und Recovery 1890,00 Oracle Tuning und Monitoring 1890,00 Oracle Troubleshooting Workshop 1890,00 Oracle Real Application Cluster RAC 1490,00 Oracle 10g Neuheiten 1890,00 Oracle Security Workshop 1190,00 Oracle Data Guard Workshop 1490,00 Oracle RMAN Workshop 1490,00 Oracle Grid Control Workshop 1090,00 Oracle Replikation Workshop 790,00 Oracle Advanced Queuing Workshop 1090,00 Informix SQL 1590,00 Informix Dynamic Server Administration 1790,00 Informix Tuning und Monitoring 1890,00 Informix Backup und Recovery mit ON-Bar 1090,00 IBM DB2 UDB für Unix/Windows SQL Grundlagen 1790,00 IBM DB2 UDB für Unix/Windows Administration Grundlagen 1890,00 IBM DB2 UDB für Unix/Windows Version 9.1 Neuheiten 790,00 MySQL Administration 1090,00 Microsoft SQL Server Administration 1790,00 Microsoft SQL Server 2005 Neuheiten 790,00 Microsoft SQL Server Hochverfügbarkeits-Workshop 790,00 Programmierung Einführung in die objektorientierte Programmierung 1090,00 Perl Programmierung Grundlagen 1590,00 Perl Programmierung Aufbau 1590,00 Einführung in XML 1090,00 XML Programmierung unter Java mit DOM und SAX 790,00 PHP Programmierung Grundlagen 1590,00 PHP Programmierung Aufbau 1090,00 Shell, Awk und Sed 1590,00 Java-J2EE Java Programmierung Grundlagen 1590,00 Java Programmierung Aufbau 1590,00 Java GUI Entwicklung mit Swing 1590,00 J2EE für Entscheider 450,00 Einführung in J2EE 1090,00 JSP und Servlet Programmierung 1590,00 EJB Programmierung 1590,00 Webanwendungen mit Java Server Faces (JSF) 1590,00 Java Web Services 1090,00 Entwicklung mit Hibernate 1090,00 Systemmanagement BMC PATROL/Performance Manager Basics 1890,00 BMC PATROL/Performance Manager Customizing and Development 1490,00 Web- und Applikations-Server Apache Web-Server Installation und Administration 1090,00 Tomcat Konfiguration und Administration 1090,00 WebSphere Application Server Installation und Administration 1290,00 Administration und Konfiguration für JBoss 1090,00 Betriebssysteme Unix/Linux Grundlagen für Einsteiger 1590,00 Linux Systemadministration 1590,00 Linux Netzwerkadministration 1590,00 Server-Virtualisierung mit XEN 1090,00 Linux Hochverfügbarkeits-Cluster 1190,00 Unix/Linux Security 1590,00 Solaris Systemadministration Grundlagen 1890,00 Solaris Systemadministration Aufbau 1890,00 Solaris 10 für erfahrene Systemadministratoren 1890,00 Solaris Containers 790,00 Solaris für Unix Umsteiger 1890,00 Multivendor-Systemadministration 1890,00 Projektmanagement IT-Projektmanagement 1890,00 Grundlagen des IT-Controlling 1190,00 KW 40 Oktober November Dezember KW 41 KW 42 KW 43 KW 44 KW 45 KW 46 KW 47 KW 48 KW 49 KW 50 KW 51 KW 52 Wiesbaden Saarbrücken Lippstadt *) Preise pro Seminar pro Teilnehmer in Euro. Alle Preise gelten zzgl. ges. MwSt. **) Inhousepreise auf Anfrage. Einige der hier aufgeführten Bezeichnungen sind eingetragene Warenzeichen ihrer jeweiligen Inhaber. Irrtümer vorbehalten. Für weitere Informationen und Fragen zu individuell zugeschnittenen Seminaren, Ausbildungsreihen oder Inhouse Schulungen stehen wir jederzeit gerne zur Verfügung. Auf Wunsch senden wir Ihnen auch unser komplettes Seminarprogramm zu. 22

20 Online-Anmeldung und stets aktuelle Seminarinhalte und Termine! Aus- Oktober & Weiterbildung März 2007 KW 1 KW 2 Januar Februar März KW 3 KW 4 KW 5 KW 6 KW 7 KW 8 KW 9 KW 10 KW 11 KW 12 KW 13 Preis in EURO*)**) Datenbanken 1790,00 Oracle SQL 1190,00 Oracle SQL für Experten 790,00 Oracle SQL für Umsteiger 1790,00 Oracle Datenbankprogrammierung mit PL/SQL 1190,00 Oracle PL/SQL Aufbau mit LOB Programmierung 1890,00 Oracle Datenbankadministration Grundlagen 1890,00 Oracle Datenbankadministration Aufbau 1890,00 Oracle Backup und Recovery 1890,00 Oracle Tuning und Monitoring 1890,00 Oracle Troubleshooting Workshop 1490,00 Oracle Real Application Cluster RAC 1890,00 Oracle 10g Neuheiten 1190,00 Oracle Security Workshop 1490,00 Oracle Data Guard Workshop 1490,00 Oracle RMAN Workshop 1090,00 Oracle Grid Control Workshop 790,00 Oracle Replikation Workshop 1090,00 Oracle Advanced Queuing Workshop 1590,00 Informix SQL 1790,00 Informix Dynamic Server Administration 1890,00 Informix Tuning und Monitoring 1090,00 Informix Backup und Recovery mit ON-Bar 1790,00 IBM DB2 UDB für Unix/Windows SQL Grundlagen 1890,00 IBM DB2 UDB für Unix/Windows Administration Grundlagen 790,00 IBM DB2 UDB für Unix/Windows Version 9.1 Neuheiten 1090,00 MySQL Administration 1790,00 Microsoft SQL Server Administration 790,00 Microsoft SQL Server 2005 Neuheiten 790,00 Microsoft SQL Server Hochverfügbarkeits-Workshop Programmierung 1090,00 Einführung in die objektorientierte Programmierung 1590,00 Perl Programmierung Grundlagen 1590,00 Perl Programmierung Aufbau 1090,00 Einführung in XML 790,00 XML Programmierung unter Java mit DOM und SAX 1590,00 PHP Programmierung Grundlagen 1090,00 PHP Programmierung Aufbau 1590,00 Shell, Awk und Sed Java-J2EE 1590,00 Java Programmierung Grundlagen 1590,00 Java Programmierung Aufbau 1590,00 Java GUI Entwicklung mit Swing 450,00 J2EE für Entscheider 1090,00 Einführung in J2EE 1590,00 JSP und Servlet Programmierung 1590,00 EJB Programmierung 1590,00 Webanwendungen mit Java Server Faces (JSF) 1090,00 Java Web Services 1090,00 Entwicklung mit Hibernate Systemmanagement 1890,00 BMC PATROL/Performance Manager Basics 1490,00 BMC PATROL/Performance Manager Customizing and Development Web- und Applikations-Server 1090,00 Apache Web-Server Installation und Administration 1090,00 Tomcat Konfiguration und Administration 1290,00 WebSphere Application Server Installation und Administration 1090,00 Administration und Konfiguration für JBoss Betriebssysteme 1590,00 Unix/Linux Grundlagen für Einsteiger 1590,00 Linux Systemadministration 1590,00 Linux Netzwerkadministration 1090,00 Server-Virtualisierung mit XEN 1190,00 Linux Hochverfügbarkeits-Cluster 1590,00 Unix/Linux Security 1890,00 Solaris Systemadministration Grundlagen 1890,00 Solaris Systemadministration Aufbau 1890,00 Solaris 10 für erfahrene Systemadministratoren 790,00 Solaris Containers 1890,00 Solaris für Unix Umsteiger 1890,00 Multivendor-Systemadministration Projektmanagement 1890,00 IT-Projektmanagement 1190,00 Grundlagen des IT-Controlling Informationen und Anmeldung: ORDIX AG Westernmauer Paderborn Tel.: ORDIX AG Kreuzberger Ring Wiesbaden Tel.: zentrales Fax: ORDIX 0 bzw Online-Anmeldung: 23

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

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

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

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

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

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

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

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

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

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

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

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

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

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

Xen Enterprise Virtualisierung

Xen Enterprise Virtualisierung , Möglichkeiten, Ausblicke Silpion IT Solutions GmbH/ LSP 2008-04-09 / LISOG Virtualisierungs-Pitch Über den Redner Vorschau Über den Redner - Mit-Autor von Xen - Virtualisierung unter Linux Berater, Free

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

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

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

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

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

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

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

Oracle Enterprise Manager Cloud Control 12c: Installation von Ralf Durben, ORACLE Deutschland B.V. & Co. KG

Oracle Enterprise Manager Cloud Control 12c: Installation von Ralf Durben, ORACLE Deutschland B.V. & Co. KG Nach Abschluß der Softwareinstallation konfigurieren Sie den Listener (mit netca) und erzeugen eine Datenbank. Der einfachste Weg zur Erzeugung der Datenbank ist die Nutzung des Database Config Assistants

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

... Einleitung... 15 1... Grundlagen der Virtualisierung... 23 2... Konzeption virtualisierter SAP-Systeme... 87

... Einleitung... 15 1... Grundlagen der Virtualisierung... 23 2... Konzeption virtualisierter SAP-Systeme... 87 ... Einleitung... 15 1... Grundlagen der Virtualisierung... 23 1.1... Einführung in die Virtualisierung... 23 1.2... Ursprünge der Virtualisierung... 25 1.2.1... Anfänge der Virtualisierung... 25 1.2.2...

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Uberlegungen Einsatzgebiete Virtualisierungslosungen Fazit Hardwarevirtualisierung. Virtualisierung. Christian Voshage. 11.

Uberlegungen Einsatzgebiete Virtualisierungslosungen Fazit Hardwarevirtualisierung. Virtualisierung. Christian Voshage. 11. slosungen 11. Mai 2009 Inhaltsverzeichnis Uberlegungen slosungen 1 Uberlegungen Grunduberlegungen Vorteile Hardware-Emulation Nachteile 2 Servervirtualisierung Clientvirtualisierung 3 slosungen 4 5 Uberlegungen

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

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

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

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

Apparo Fast Edit Datenmanagement mit der Standalone Version Technische Übersicht

Apparo Fast Edit Datenmanagement mit der Standalone Version Technische Übersicht Apparo Fast Edit Datenmanagement mit der Standalone Version Technische Übersicht 2 Apparo Fast Edit ist die das Standardprogramm für unternehmensweite Dateneingabe, mit der Sie Daten ändern, importieren

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

Ü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

Hyper-V Grundlagen der Virtualisierung

Hyper-V Grundlagen der Virtualisierung Grundlagen der Virtualisierung Was ist Virtualisierung? Eine Software-Technik, die mehrere Betriebssysteme gleichzeitig auf dem Rechner unabhängig voneinander betreibt. Eine Software-Technik, die Software

Mehr

SmartExporter 2013 R1

SmartExporter 2013 R1 Die aktuelle Version wartet mit zahlreichen neuen Features und umfangreichen Erweiterungen auf. So können mit SmartExporter 2013 R1 nun auch archivierte Daten extrahiert und das Herunterladen der Daten

Mehr

Systemvoraussetzungen

Systemvoraussetzungen [Stand: 10.02.2014 Version: 37.0] Hier erhalten Sie eine Übersicht zu den für alle Software-Produkte von ELO Digital Office GmbH. Inhalt 1 ELOprofessional 2011... 5 1.1 Server 2011... 5 1.1.1 Windows...

Mehr

M i t a r b e i t e r p r o f i l (Stand: August 09)

M i t a r b e i t e r p r o f i l (Stand: August 09) M i t a r b e i t e r p r o f i l (Stand: August 09) KB-M1-Java134 Schwerpunkte / Spezialisierung: Softwareentwickler Java / J2EE Swing JSF JavaScript Verfügbarkeit (skalierbar): Ab sofort Ausbildung:

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

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

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Virtualisierung. Zinching Dang. 12. August 2015

Virtualisierung. Zinching Dang. 12. August 2015 Virtualisierung Zinching Dang 12. August 2015 1 Einführung Virtualisierung: Aufteilung physikalischer Ressourcen in mehrere virtuelle Beispiel: CPUs, Festplatten, RAM, Netzwerkkarten effizientere Nutzung

Mehr

Bridging the Gap between the Enterprise and You. Who s the JBoss now?

Bridging the Gap between the Enterprise and You. Who s the JBoss now? or Who s the JBoss now? Patrick Hof (patrick.hof@redteam-pentesting.de) Jens Liebchen (jens.liebchen@redteam-pentesting.de) RedTeam Pentesting GmbH http://www.redteam-pentesting.de FrOSCon 2009 22./23.

Mehr

Systemvoraussetzungen

Systemvoraussetzungen [Stand: 06.08.2014 Version: 44] Hier erhalten Sie eine Übersicht zu den für alle Software-Produkte von ELO Digital Office GmbH. Inhalt 1 ELOprofessional Server 9... 4 1.1 Windows... 4 1.1.1 Betriebssystem...

Mehr

Unternehmenspräsentation

Unternehmenspräsentation IT-Services & Consulting Unternehmenspräsentation Eberhard Oesterling solutions & more PIXEL Group Marketing, HR, Finanzen und Verwaltung Embedded Systems & Software IT-Development & Consulting IT-Services

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

Virtualisierung mit Xen

Virtualisierung mit Xen Virtualisierung mit Xen Hardware minimal halten und optimal ausnutzen Was genau ist Virtualisierung? Woher kommt diese Technik, was ist deren Geschichte? Welche Arten von Virtualisierung existieren auf

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...

Mehr

4 EJBs & J2EE: Schnelleinstieg *

4 EJBs & J2EE: Schnelleinstieg * 19 4 EJBs & J2EE: Schnelleinstieg * Auch ohne bereits umfassende Kenntnisse über den Aufbau verteilter Anwendungen und die Feinheiten der J2EE-Architektur zu besitzen, soll an dieser Stelle ein erster

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

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

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

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Virtuelle Infrastrukturen mit Linux...

Virtuelle Infrastrukturen mit Linux... Virtuelle Infrastrukturen mit Linux...... und deren Integration in OSL SC Christian Schmidt Systemingenieur Virtualisierung "Aufteilung oder Zusammenfassung von Ressourcen" Unterschiedliche Bereiche für

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Architekturübersicht. April 2005. IBM Rational Portfolio Manager. Architekturübersicht

Architekturübersicht. April 2005. IBM Rational Portfolio Manager. Architekturübersicht April 2005 IBM Rational Portfolio Manager Architekturübersicht Seite 2 Inhalt 3 Architekturübersicht 3 Datenbankschicht 3 Anwendungsschicht 4 Darstellungsschicht 6 Systemanforderungen 7 Beispielkonfigurationen

Mehr

Administration und Konfiguration für JBOSS

Administration und Konfiguration für JBOSS Administration und Konfiguration für JBOSS Seminarunterlage Version: 2.03 Version 2.03 vom 7. Mai 2012 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Entwicklung eines Infotyps (Planung)

Entwicklung eines Infotyps (Planung) Entwicklung eines Infotyps (Planung) HELP.PAXX Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind,

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

Archive / Backup System für OpenVMS

Archive / Backup System für OpenVMS Archive / Backup System für OpenVMS DECUS Symposium 2002 Bonn Vortrag-Nr. 3C04 Günther Fröhlin Compaq Computer Corporation Colorado Springs, USA 1 Highlights V4.0 Auslieferung Januar 2002 Hauptversion

Mehr

Virtual Machines. Peter Schmid 21.12.2007. Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Virtual Machines. Peter Schmid 21.12.2007. Hochschule für Technik Zürich Master of Advanced Studies, Informatik Hochschule für Technik Zürich Master of Advanced Studies, Informatik 21.12.2007 Outline Einführung 1 Einführung Definition, Abgrenzung Geschichtlicher Rückblick 2 Virtualisierungstechnologien Terminologie

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

SPARC LDom Performance optimieren

SPARC LDom Performance optimieren SPARC LDom Performance optimieren Marcel Hofstetter hofstetter@jomasoft.ch http://www.jomasoftmarcel.blogspot.ch Mitgründer, Geschäftsführer, Enterprise Consultant JomaSoft GmbH 1 Inhalt Wer ist JomaSoft?

Mehr

Mehr Dynamik in Apex mit Javascript und JQuery. Alexander Scholz its-people

Mehr Dynamik in Apex mit Javascript und JQuery. Alexander Scholz its-people Vortrag zur DOAG Konferenz 2011 Mehr Dynamik in Apex mit und Alexander Scholz its-people 1 Ablauf Thema des Vortragsthemas Motivation Besonderheit des Referenten Alexander Scholz its-people Wie kann in

Mehr

Windows Server 2008 Virtualisierung. Referent: Marc Grote

Windows Server 2008 Virtualisierung. Referent: Marc Grote Windows Server 2008 Virtualisierung Referent: Marc Grote Inhalt Microsoft und Virtualisierung Viridian und Hyper-V Hyper-V Technologie Virtual Server 2005 versus Hyper-V System Center Virtual Machine Manager

Mehr

Calogero Fontana Fachseminar WS09/10. calogero.b.fontana@student.hs-rm.de. Virtualisierung

Calogero Fontana Fachseminar WS09/10. calogero.b.fontana@student.hs-rm.de. Virtualisierung Calogero Fontana Fachseminar WS09/10 calogero.b.fontana@student.hs-rm.de Virtualisierung Was ist Virtualisierung? Definition Virtualisierung ist das zur Verfügung stellen von Hardware-Ressourcen für ein

Mehr

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring Dennis Schulte / Tobias Flohre Enterprise Java Batch mit Spring Dennis Schulte Düsseldorf @denschu www.github.com/denschu blog.codecentric.de/author/dsc tel +49 (0) 1515 _ 288 2395 dennis.schulte@codecentric.de

Mehr

Java-IDE-Vergleich Seite 1 / 5

Java-IDE-Vergleich Seite 1 / 5 Java-IDE-Vergleich Seite 1 / 5 Java-IDEs im Vergleich 1. Getestete IDEs: Borland JBuilder 3 Professional Edition IBM Visual Age 3 Entry Edition Sun Forte 1.01 Community Edition Microsoft Visual J++ 6.0

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration

Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration Studiengang Informatik Anwendung-Rechnernetze Übersicht Virtualisierungstechniken Virtualisierungsmodelle in Xen Netzwerkkonzepte und

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

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

Effiziente Java Programmierung

Effiziente Java Programmierung Effiziente Java Programmierung Seminar Implementierung moderner virtueller Maschinen am Beispiel von Java SS 2009 von Reinhard Klaus Losse 20. Mai 2009 Gliederung Definition Effizienz Werkzeuge zum Messen

Mehr

2 Virtualisierung mit Hyper-V

2 Virtualisierung mit Hyper-V Virtualisierung mit Hyper-V 2 Virtualisierung mit Hyper-V 2.1 Übersicht: Virtualisierungstechnologien von Microsoft Virtualisierung bezieht sich nicht nur auf Hardware-Virtualisierung, wie folgende Darstellung

Mehr

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick rk@aformatik.de aformatik Training & Consulting GmbH & Co. KG

Mehr

WhitePaper. Mai 2012. BIA Business Intelligence Accelerator. Markus Krenn Geschäftsführer Mail: m.krenn@biaccelerator.com

WhitePaper. Mai 2012. BIA Business Intelligence Accelerator. Markus Krenn Geschäftsführer Mail: m.krenn@biaccelerator.com WhitePaper BIA Business Intelligence Accelerator Mai 2012 Markus Krenn Geschäftsführer Mail: m.krenn@biaccelerator.com BIA Business Intelligence Accelerator GmbH Softwarepark 26 A-4232 Hagenberg Mail:

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

KM - Knowledge Management. SAP ERP Central Component

KM - Knowledge Management. SAP ERP Central Component KM - Knowledge Management SAP ERP Central Component Release 5.0 Release-Informationen Copyright 2004 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen

Mehr

Disaster Recovery/Daily Backup auf Basis der Netapp-SnapManager. interface:systems

Disaster Recovery/Daily Backup auf Basis der Netapp-SnapManager. interface:systems Disaster Recovery/Daily Backup auf Basis der Netapp-SnapManager interface:systems Frank Friebe Consultant Microsoft frank.friebe@interface-systems.de Agenda Warum Backup mit NetApp? SnapManager für Wie

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

IT Storage Cluster Lösung

IT Storage Cluster Lösung @ EDV - Solution IT Storage Cluster Lösung Leistbar, Hochverfügbar, erprobtes System, Hersteller unabhängig @ EDV - Solution Kontakt Tel.: +43 (0)7612 / 62208-0 Fax: +43 (0)7612 / 62208-15 4810 Gmunden

Mehr

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

Darüber hinaus wird das Training dazu beitragen, das Verständnis für die neuen Möglichkeiten zu erlangen.

Darüber hinaus wird das Training dazu beitragen, das Verständnis für die neuen Möglichkeiten zu erlangen. Ora Education GmbH www.oraeducation.de info@oraeducation.de Lehrgang: Oracle 11g: New Features für Administratoren Beschreibung: Der Kurs über fünf Tage gibt Ihnen die Möglichkeit die Praxis mit der neuen

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

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

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

Bridging the Gap between the Enterprise and You. Who s the JBoss now?

Bridging the Gap between the Enterprise and You. Who s the JBoss now? or Who s the JBoss now? Patrick Hof (patrick.hof@redteam-pentesting.de) Jens Liebchen (jens.liebchen@redteam-pentesting.de) RedTeam Pentesting GmbH http://www.redteam-pentesting.de 16. DFN-Cert Workshop

Mehr

27. 03. 2007 IT-Frühstück IT Trend Virtualisierung Hype oder Nutzen? Praxisaspekte

27. 03. 2007 IT-Frühstück IT Trend Virtualisierung Hype oder Nutzen? Praxisaspekte Ole Raether raether@oraservices.de 27. 03. 2007 IT-Frühstück IT Trend Virtualisierung Hype oder Nutzen? Praxisaspekte Inhalt oraservices.de Probleme: Failover Cluster, RAC 24*7 Fazit Was tun? oraservices.de

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

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

Virtualisierung: Neues aus 2010 und Trends 2011

Virtualisierung: Neues aus 2010 und Trends 2011 Virtualisierung: Neues aus 2010 und Trends 2011 Werner Fischer, Technology Specialist Thomas-Krenn.AG Thomas Krenn Herbstworkshop 2010 Freyung, 24. September 2010 Agenda 1) Virtualisierungs-Software VMware

Mehr

Access und OpenOffice.org

Access und OpenOffice.org Access-Datenbanken in OpenOffice.org 1.1 einbinden Herausgegeben durch das OpenOffice.org Germanophone-Projekt Autoren Autoren vorhergehender Versionen Timo Kozlowski Alle in diesem Dokument erwähnten

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Enterprise JavaBeans Basics Enterprise JavaBeans (EJB) Enterprise JavaBeans (EJB) Komponenten sind wohl definiert verteilt (MI-based) serverseitig Sie dienen

Mehr

Virtual Machines. Peter Schmid 21.12.2007. Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Virtual Machines. Peter Schmid 21.12.2007. Hochschule für Technik Zürich Master of Advanced Studies, Informatik Hochschule für Technik Zürich Master of Advanced Studies, Informatik 21.12.2007 Outline Einführung 1 Einführung Definition, Abgrenzung Geschichtlicher Rückblick 2 Virtualisierungstechnologien Terminologie

Mehr

EJB3.0 Unit-Testing Reloaded

EJB3.0 Unit-Testing Reloaded EJB3.0 Unit-Testing Reloaded Werner Eberling werner.eberling@mathema.de www.mathema.de Werner Eberling, MATHEMA Software GmbH - EJB3.0 - Unit-Testing Reloaded (G4 - Folie 1) Java Forum Stuttgart 2007 Automatisiertes

Mehr

Hyper-V Server 2008 R2

Hyper-V Server 2008 R2 Hyper-V Server 2008 R2 1 Einrichtung und Installation des Hyper-V-Servers 1.1 Download und Installation 4 1.2 Die Administration auf dem Client 9 1.3 Eine VM aufsetzen 16 1.4 Weiterführende Hinweise 22

Mehr