Einführung in das Build Management Grundlagen von Build Tools, Alternativen zu Ant und der Einsatz in IDEs.Ant Core Tasks Grundfunktionen des Build Prozesses.Ant Optionale Tasks Erweiterte Funktionen für automatische Tests, den Umgang mit JEE Anwendungen,...Weitere Konzepte und Third Party Tasks Continuous Integration, statische Analyse des Quelltextes und mehr.
Apache Ant ist ein bewährtes, quelloffenes und kostenloses Tool, das den Bau (Build) und die Bereitstellung (Deployment) von Java-Anwendungen vereinfacht.Dieses Seminar vermittelt durch seine praxisnahen Beispiele den Aufbau der XML-basierten Build-Skripte und beschreibt die wichtigsten Ant Tasks mit allen benötigten Attributen bzw. Konfigurationsdateien für plattformunabhängiges Erstellen von Java-Anwendungen.
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.6 (Helios) verwendet.Als Servlet-Container wird Apache Tomcat 6 eingesetzt.
Apache Wicket ist ein komponentenbasiertes Open Source Web-Framework für Java. Ziel war eine einfache und intuitive Herangehensweise zur Entwicklung robuster Web-Anwendungen. Das Seminar stellt die Architektur vor und führt mithilfe komfortabler Tools in die Entwicklung Web-basierterInterfaces ein. Die Teilnehmer lernen den Umgang mit Lebenszyklus, Validierung und Konvertierung, Ereignis- und Fehlerbehandlung, Internationalisierung und den Einsatz von Ajax durch praktische Beispiele kennen und können die Darstellungsschicht einer mehrschichtigen Java EE-Anwendung programmieren.
Einführung in die Java Enterprise Edition Überblick über den Technologie-Stack und seinen EinsatzVerzeichnisdienste und Zugriff auf Datenbanken über JDBC Beschreibung der Datenschicht und der Zugriff auf sieEnterprise JavaBeans (EJB) EJB3 ist der aktuelle Standard für die Abbildung der Applikations-Logik und Dreh und Angelpunkt der JEE InfrastrukturJava Transaction API (JTA) Behandlung von Transaktionen in der ApplikationJava Message Service (JMS) und Message Driven Beans Komplexe Systeme bauen auf eine Vielzahl von (verteilten) Komponenten auf, JMS übernimmt die Verteilung der Nachrichten zwischen ihnenDynamische Webseiten mit JSP und JSF Zur Darstellung der Anwendung wird auf JSP und insbesondere JSF eingegangenWebServices und Java Connector Architecture (JCA) Anbindung an andere (interne oder externe) ApplikationenJava Authentication and Authorization Service (JAAS) Authentifizierung, Autorisierung und Sicherheit allgemein in JEE ApplikationenJavaMail Überblick über die effiziente Verwendung von Emails
Die Java Enterprise Edition (Java EE) ist eine Spezifikation für die Entwicklung von mehrschichtigen, verteilten Anwendungen, die in einem Applikationsserver (JBoss AS) betrieben werden. Das Seminar stellt alle Bestandteile des aktuellen Java EE Standards vor.Zum Aufbau wiederverwendbarer, verteilter Komponenten dienen die EJBs (Enterprise JavaBeans), die sich um Transaktionsmanagement, Sicherheitskontrolle, Verzeichnisdienst, Persistierung und weitere Services kümmern. Bei der Präsentationsschicht für den Aufbau dynamischer Webseiten werden die Technologien Servlets, JSP, JSTL und JSF komprimiert vorgestellt. Außerdem wird die Behandlung von Sicherheit (JAAS), Emails (JavaMail) und die Anbindung an andere Applikationen (SOA-Konzept, WebServices und JCA) behandelt.
Einführung in XML und die XML-APIs Grundlagen zu XML und dem Einsatz in Java.XML Push Parser Umgang mit SAX2 und seinen speziellen Eigenschaften.XML Pull Parser Überblick über weitere XML Pull Parser, insbesondere StAX.XML Bäume Umgang mit DOM sowie alternativen Implementierungen (JDOM, dom4j und XOM).Validierung Validierung von XML Dokumenten nach DTDs und SchemasXPath Navigation in XML Dokumenten, Selektion von Informationen.XSL und XSLT Transformation von XML Dokumenten, sowie Vorteile und Grenzen von XSLT.Java XML Binding Binding von XML und Serialisierung mit Java im Überblick.Entfernte Methodenaufrufe und Nachrichtenübermittlung mit XML Weitere Einsatzbereiche von XML in verteilten Systemen.Performance Optimierung Ansätze zur Verbesserung der Performance beim Einsatz von XML.XML-Datenbanken Überblick XML-Datenbanken und Vergleich zu relationalen und nicht-relationalen Alternativen.
XML ist momentan das unumgängliche Universal-Format in der IT. In diesem Seminar lernen die Teilnehmer die wichtigsten Java-Bibliotheken für den Umgang mit XML kennen. Zum Einlesen von XML-Dokumenten stellt das Seminar Push-Parser über StAX, Pull-Parser über SAX und unterschiedliche Baummodelle wie W3C DOM oder JDOM gegenüber. Dabei wird besonders die Anwendung nach Performanz und Speicherbedarf betrachtet.Die Teilnehmer lernen verschiedenen Java-APIs kennen, um Anfragen an XML-Strukturen mit XPath zu stellen, mit Hilfe von XSLT XML zu transformieren und vieles mehr.
Einführung in Maven Buildmanagement allgemein, Eigenschaften und Aufbau von Maven im Speziellen.Build-Management Erstellung von Projekten mit Maven, Umgang mit Repositories und dem Project Object Model.Plugins Module für Qualitätssicherung oder Report-Generierung verwenden und eigene entwickeln.Maven in der Praxis Migration von Ant zu Maven, Refactoring, Continuous Integration.
Apache Maven ist ein populäres, quelloffenes und kostenloses Build-Management-Tool, das die automatische Erstellung von Java-Anwendungen, das Testen, Verteilen, die Erzeugung der Dokumentation und die Ausgabe von Reports ermöglicht.Das praxisnahe Seminar zeigt, wie Maven auf der Basis des Project Object Model (POM) das Projektmanagement automatisiert, den Umgang mit Repositories und die Qualitätssicherung. Teilnehmer lernen mit der Plugin-Architektur die Entwicklungsinfrastruktur kennen und können mit Maven die kontinuierliche Integration automatisieren.
Grundlagen der Continuous Integration (CI) mit Hudson Überblick über Themen der CI allgemein und Hudson im Speziellen.Projekte mit Hudson überwachen Projekte anlegen, builden und überwachen.Hudson-Plugins Builds anstoßen, Reports generieren, automatische Benachrichtigungen und mehr.Fortgeschrittene Hudson-Techniken Hudson absichern, in Eclipse integrieren, parallelisieren
Hudson ist ein erweiterbares, Web-basiertes Continuous Integration (CI) System, das sich um die Release-Erstellung, das Testen und die Überwachung von Projekten kümmert. Seine Vorteile liegen in der einfachen Installation, minimalem Konfigurationsaufwand und einer großen Anzahl verfügbarer Plugins.Teilnehmer der Schulung lernen die Vorteile zu nutzen und Hudson für eine automatische und überwachte Infrastruktur einzurichten. Praktische Beispiele zeigen, wie ein kompletter Build mit Hudson konfiguriert wird: Checkout der Quellen aus der Quellcodeverwaltung, das Build über Ant oder Maven anstoßen, Build-Meldungen verteilen, mit statischen Analysetools die Qualität der Quellen dokumentieren und mehr.
Datenbanken (RDBMS) Übersicht Einführung in Datenbanken allgemein, ihre Stärken und Schwächen,...JDBC JDBC - der Standard um relationale Datenbanken ohne zusätzliches Mapping anzusprechenVerbindung zur Datenbank Aufbau der Verbindung zu relationalen Datenbanken mit JDBCDaten auslesen Informationen aus der Datenbank auslesen, Umwandlung in Java Datentypen,...Daten bearbeiten Bestehende Daten ändern, Neue einfügen, Veraltete löschen und mehrPrepared Statements und Stored Procedures Der Einsatz von weiteren Zugriffsmöglichkeiten auf relationale DatenbankenStream, BLOB, CLOB, Array Die Verwendung spezieller Datentypen - sowohl aus Datenbank- als auch aus Java-SichtAusnahmen Behandlung im Fehlerfall oder speziellen SituationenMetadaten und RowSet Die Verwaltung von Metadaten und einzelner DatensätzeTransaktionen und Savepoints Arbeiten mit TransaktionenPerformance Überlegungen zur Performance-OptimierungArchitektur der Datenschicht Überlegungen zum Design der Datenschicht und ihrer Rolle im GesamtsystemObjekte in der Datenbank und ORM im Überblick Zusammenführung von objektorientiertem Code und relational gespeicherten Daten
Durch die Verbreitung von ORM ist JDBC zwar in den Hintergrund gedrängt worden, für spezielle Abfragen oder aus Performancegründen kann auf JDBC aber nicht vollständig verzichtet werden. Die Teilnehmer lernen Architektur und Arbeitsweise der JDBC-Schnittstelle kennen und SQL über die Java-Bibliotheken gezielt einsetzen. Das Seminar vermittelt außerdem die verschiedenen Treibertypen und deren Geschwindigkeit, Wissen über Transaktionen und vieles mehr für den realen Einsatz von JDBC.
Einführung in EJB3 und Java EE Allgemeiner überblick über JEE allgemein und EJB3 im SpeziellenSession Beans Der Begriff Session Beans, ihr Leistungsumfang und die konkrete VerwendungMessage Driven Beans und Java Message Service (JMS) Wie Nachrichten im Umfeld von JEE effizient und sicher ausgetauscht werden könnenInjections und Callbacks Die Verwendung von Injections und Callbacks für die effiziente Applikations-EntwicklungDatenbankanbindung mit JPA und Entity Beans Die Anbindung von relationalen Datenbanken über die JPA und das Zusammenspiel mit BeansMappings Das Mappen zwischen Objekten auf Code-Ebene und relationalen Datenbanken
Die Java Enterprise Edition (Java EE) ist eine Spezifikation für die Entwicklung von mehrschichtigen, verteilten Anwendungen, die in einem Applikationsserver (JBoss AS) betrieben werden. Zum Aufbau wiederverwendbarer, verteilter Komponenten dienen die EJBs (Enterprise JavaBeans), die sich um Transaktionsmanagement, Sicherheitskontrolle, Verzeichnisdienst, Persistierung und weitere Services kümmern. Mit dem neuen, vereinfachten EJB3 Standard (JSR 220) stehen einfache Plain Old Java Objects (POJO) wieder im Mittelpunkt und werden mit Annotationen zu wiederverwendbaren Komponenten. Im ersten Teil des Seminars bilden die Teilnehmer die Geschäftslogik mit zustandslosen und zustandsbehafteten Session Beans und Message Driven Beans ab. Im zweiten Teil werden unter anderem mit der Java Persistence API (JPA) Entity Beans modelliert und mit dem Entity-Manager CRUD-Operationen (Anlegen, Lesen, Aktualisieren, Löschen) durchgeführt.
Entscheidungsträger, Administratoren,... die einen Überblick von JEE erhalten möchten.
Java Enterprise Edition ist ein äußerst mächtiger und gleichzeitig komplexer Standard. Kursteilnehmer erhalten einen theoretischen Überblick über die wichtigsten Komponenten, Stärken des Systems und wie JEE im eigenen effektiv Umfeld eingesetzt werden kann.
Java GUI-Bibliotheken im Überblick Allgemeine Übersicht über GUI Standards, ihre Unterschiede und Gemeinsamkeiten,...Swing Einführung Generelle Konzepte und grundlegende Eigenschaften von Swing.Panels und Panes Der Einstieg in die Entwicklung von Panels und Panes.Fenster und Dialoge Das Erstellen von Fenstern und Dialogen, ihre Farbe und Anordnung,...Menüs und Werkzeugleisten Neben Menüs und Werkzeugleisten werden auch noch Fortschrittsbalken und mehr vorgestellt.Look and Feel (LaF) Der Einsatz von LaFeel um Applikationen ein bestimmtes Aussehen und Verhalten zuzuweisen.Listen, Tabellen und Bäume Der Umgang mit Listen, Tabellen und Bäumen.Textelemente Einsatz diverser Text- und Passwortfelder.Weitere Anwendungsbereiche Drag-and-Drop, Internationalisierung, Drucken,
Das Java-Seminar führt in die Programmierung komplexer grafischer Oberflächen mit Swing ein. Neben den elementaren Swing-Komponenten vermittelt der Kurs ebenso die komplexeren Elemente wie Listen, Tabellen, Bäume und Textfelder sowie das zugrundeliegende Pattern Model-View-Controller (MVC).Die Teilnehmer lernen wie mit Hilfe eines GUI-Builders schnell grafische Oberflächen entstehen und größere Masken effektiv aufzubauen sind. Ein weiteres Element des Kurses bilden Design-Fragen, etwa wie die grafische Oberfläche von den Geschäftsobjekten losgelöst wird und dem GUI-Design, also der Frage welche Prinzipien hinter der Gestaltung von grafischen Oberflächen stehen. Swing ist der wichtigste Bestandteil der Java Foundation Classes (JFC), damit erlernen die Teilnehmer erweiterte Techniken wie die Java 2D-Bibliothek, Zwischenablage, Drucken und Drag-and-Drop.
Java EE-Technologien im Überblick Überblick über die wichtigsten JEE Technologien - je nach Vorkenntnissen und Bedürfnissen.JBoss AS Architektur Grundlegende Module und Aufbau des Application-Servers.Deployment und Packaging Optimale Aufteilung und Verteilung von JEE Applikationen.Konfiguration und Connectors Konfiguration im Detail und Anbindung an weitere Dienste (Datenbanken, Active Directory,...)Security Authentifizierung, Authorisierung, sichere Entwicklung, etc.Performance Optimierung Konfigurationseinstellungen rund um die Optimierung der Performance (AS, System,...).Praxiseinsatz Logging, Monitoring, Einsatz als Service und mehr.Hochverfügbarkeit und Clustering Ausfallssicherheit und horizontale Skalierung für mehr Leistungsfähigkeit.
Entwurfsstrategien für mehrschichtige Anwendungen Allgemeine Überlegungen und Überblick im Architektur UmfeldMuster der Präsentationsschicht Design Patterns bei der Darstellung von JEE AnwendungenMuster der Geschäftsschicht Effiziente Umsetzung der Business Logik durch die richtigen StrategienMuster der Integrationsschicht Gezielte und strukturierte Einbindung heterogener Systeme in ein GesamtkonzeptPerformance von Enterprise-Anwendungen Caching, Clustering und mehr für verbesserte Performance
Die Spezifikation von Java Enterprise Edition umfasst nicht nur eine die Entwicklung wiederverwendbarer, verteilter, mehrschichtiger Anwendungen, sondern auch eine Sammlung von Best Practices bzw. sogenannten Blueprints. Diese bewährten Designstrategien sind Hauptthema im Kurs, wenn Teilnehmer in den Schichten einer üblichen Web-Anwendung Konzepte wie MVC-II, Fassaden, Datenzugriffsobjekte (DTOs) und dergleichen praktisch anwenden.Einen besonderen Stellenwert nehmen aber auch Performance-Überlegungen ein, wobei konkret auf Transaktionssteuerung, Caching, Clustering und noch mehr eingegangen wird.
Grundlagen zu JSF Grundlagen zu Architektur, Entwicklung und Abgrenzung zu anderen Technologien.Installation und Konfiguration Einsatz unter Apache Tomcat mit Eclipse.Implementierungen und Tag-Libraries Detaillierter Überblick über die verfügbaren Implementierungen und Tag-Libraries.Navigation Die Erstellung von Navigationsregeln und dynamischer Navigation.Managed Beans / Backing Beans Anbindung des Interfaces an die Business Logik.JSF-Lebenszyklus Ein mächtiges Werkzeug dessen richtiger Einsatz praktisch vorgestellt wird.Validierung und Konvertierung Arbeiten mit Eingaben mit vorhandenen oder selbstgeschriebenen Komponenten.
JavaServer Faces (JSF) ist ein standardisiertes komponentenorientiertes Web-Framework zur Entwicklung robuster Web-Anwendungen. Das Seminar stellt die Architektur vor und führt mithilfe komfortabler Tools in die Entwicklung Web-basierter JSF Interfaces ein. Die Teilnehmer lernen den Umgang mit Tag-Libraries, Navigation, Managed Beans / Backing Beans, JSF-Lebenszyklus, Validierung und Konvertierung, Ereignis- und Fehlerbehandlung, Internationalisierung und den Einsatz von Ajax durch praktische Beispiele kennen und können die Darstellungsschicht einer mehrschichtigen Java EE-Anwendung programmieren.
GrundlagenGrundlegende Konzepte und die Implementierung in JavaDas Paket java.util.concurrentZentrales Paket für das Arbeiten mit Locks und ZeitExecutor und SchedulingAusführung und Planung von ThreadsRunnable und CallableArbeiten mit den Interfaces für das Ausführen von Threads und ihre UnterschiedeKomfortable Thread-KoordinationBlockierende und nicht-blockierende, priorisierte und verzögerte QueuesAnwendung von Threads in der Java-Bibliothek Der praktische Einsatz in Java zum besseren allgemeinen VerständnisTestingHerausforderungen beim Testen mit Threads
Java erlaubt das einfache Programmieren von multithreaded Applikationen. Das Kompaktseminar wiederholt zunächst die Grundlagen paralleler Anwendungen und die Teilnehmer lernen die seit Java 5.0 eingeführten neuen Klassen und Schnittstellen aus dem Paket java.util.concurrent und Unterpaketen kennen, mit denen die Thread-Koordination nunmehr komfortabel und effektiv möglich ist.
Google Web Toolkit (GWT) Grundlagen Genereller Aufbau und Eigenschaften von GWT.GWT Widgets und Ereignisse Standardmäßig vorhandene Widgets und der Umgang mit Ereignissen.Remote Procedure Call (RPC) mit GWT Entwicklung von verteilten und mehrschichtigen Anwendungen mit GWT.Formulare und Datenaustausch Umgang mit Formularen und Informationsaustausch, insbesondere mit JSON.Java Script Native Interface (JSNI) in GWT Ein mächtiges Werkzeug um nicht nur generierten JavaScript Code verwenden zu müssen.Anwendungen modularisieren Definition und Einsatz von Modulen für die effektive Applikations-Entwicklung.Weitere GWT Widgets und Widget-Sammlungen Komplexere und kommerzielle Widgets.Fortgeschrittene GWT Themen Ob Caching oder Security - hier werden Fragen aus dem Alltag beantwortet.
Mit dem Google Web Toolkit (GWT) kam 2006 ein entwicklerfreundliches und freies Framework zur Programmierung von Rich Internet Applikationen auf den Markt. Eine Besonderheit ist der Java-zu-JavaScript-Compiler, der Java-Entwicklern das Arbeiten in ihrer gewohnten Entwicklungsumgebung ermöglicht, die Ausgabe erfolgt allerdings in übersetzten HTML-Seite mit CSS und JavaScript-Funktionen. Die Teilnehmer lernen praxisnah Ajax-Applikationen mit GWT zu entwickeln, welche Entwicklungs-Tools geboten und wie effektive mehrschichtige GWT-Anwendungen entworfen werden. Das Seminar stellt außerdem das Debugging und zusätzliche freie und kommerzielle Komponenten vor.
Einführung in JavaGrundlegende Eigenschaften, die Java Umgebung, Hintergrundwissen, EntwicklungsumgebungGrundlegende SpracheigenschaftenAufbau der Sprache und essentielle Konzepte und Erstellung der ersten ProgrammeObjektorientierungGrundlagen der Objektorientierung und die praktische Umsetzung in JavaWeiterführende SpracheigenschaftenLebensdauer von Objekten, Strukturen von Informationen und weitere fortgeschrittene ThemenZeichenkettenDer Einsatz von einzelnen Zeichen und ZeichenkettenDie Java-APIWichtige Pakete und das Arbeiten mit SchnittstellenWiederverwendung in der ObjektorientierungVererbung, Assoziationen und Zugriff auf ObjekteAusnahmebehandlungFehler und Spezialfälle erkennen und effizient behandelnWeitere Java-Bibliotheken und ToolsDie Behandlung von Zeit in Java und das Arbeiten mit fertigen Paketen
In diesem Seminar lernen die Teilnehmer die objektorientierte Sprache Java anhand der aktuellen Version kennen und praktisch einzusetzen.Die Schulung vermittelt einen guten Überblick über Grundlagen und wichtige Pakete, die es ermöglichen plattformunabhängige Anwendungen zu entwickeln. Einen besonderen Schwerpunkt im Kurs legen wir auf objektorientierte Konzepte und Praxisbezug.
Grundlagen des Software-Testens Allgemeine Überlegungen, Ansätze und Herangehensweisen an Software-Tests.JUnit im DetailJUnit verwenden - Fixtures, Rules, Integration in Eclipse, Timeouts,...Anwendungen mit JUnit testen Einsatz in realen Applikationen und wie die Testbarkeit verbessert werden kann.EMMA - Code CoverageAnalyse der Code Coverage mit EMMA, einem quelloffenen Java Tool.Web-Applikationen testen Ansätze und Tools für das Testen von JEE Anwendungen.Verteilte Applikationen testen Tools für das Testen von WebServices, RMI Systemen und mehr.GUI Applikationen testen Umgang mit GUI Applikationen, Sinnhaftigkeit und Möglichkeiten für Tests.Weitere Test-Tools Vorstellung weiterer Tools für Performance Tests, Continuous Integration
Teilnehmer lernen in diesem Seminar JUnit, Test-NG und weitere Open-Source-Werkzeuge zum einfachen und automatisiertem Testen von Java-Applikationen kennen.Mit JUnit lassen sich Fehler durch Abweichungen von festgelegten Anforderungen schnell finden und stabile Versionen ausliefern, um die Qualität der Software dauerhaft sicherzustellen. Praktisch wenden Teilnehmer die testgetriebene Entwicklung an, in der sie zunächst über JUnit-Testfälle ausreichend Wissen über das Verhalten einer Komponente erlangen, um diese anschließend implementieren zu können.
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.6 (Helios) verwendet.Als Servlet-Container kommt Apache Tomcat 6 gemeinsam mit dem gewünschten WebService Framework zum Einsatz.
Es gibt eine Reihe verbreiteter WebService-Frameworks die eine Vielzahl moderner WS-* Standards unterstützen. Sie können zwischen JAX-WS, Apache CXF oder Apache Axis2 wählen, damit Sie genau die für Sie passenden Inhalte geliefert bekommen.Der Kurs zeigt wie SOAP aufgebaut ist und die konkrete Verwendung in Java mit dem Framework Ihrer Wahl. Dabei werden unter anderem Konfiguration, Attachments und Optimierung vom Java SOAP-Stack demonstriert, um optimal abgesicherte, geschäftskritische Anwendungen entwickeln zu können.
Einführung in Design Patterns Genereller Überblick von Entwurfsmustern und ihr AnwendungFundamentale Muster in Java Grundlegende Konzepte und ihr konkreter Einsatz in JavaErzeugende Muster (Creational Patterns) Erzeugung von Objekten wie sie die jeweilige Situation erfordertStrukturmuster (Structural Patterns) Behandlung von Beziehungen zwischen EntitiesVerhaltensmuster (Behavioral Patterns) Kommunikation verschiedener ObjekteMuster in der Java-Bibliothek Einsatz von Design Patterns in diversen Libraries wie RMI, Observer und mehrÜberblick über weitere Design Patterns Ausblick auf weitere Patterns, beispielsweise im Umfeld von Software Architekturen, JEE,...
Design Patterns (Entwurfsmuster) ermöglichen es bekannte, wiederkehrende Probleme der Software-Entwicklung zu erkennen und lösen. Aufbauend auf die grundsätzlichen Beherrschung einer Programmiersprache ermöglichen sie eine wesentliche Qualitätssteigerung des Codes.Der Kurs wird die "Klassiker" der Design Patterns von der Gang of Four (GoF) im Detail behandeln. Jeder Software-Entwickler wird mit dem dokumentierten Wissen über die Entwicklungserfahrung ermuntert, nicht mehr nur in einzelnen Klassen, sondern in ganzen Lösungsstrukturen zu denken und zu modellieren. Übungen mit Fallbeispielen vertiefen das Verständnis für die zu Grunde liegenden Konzepte, um sie im Projekt intuitiv einsetzen zu können. Das verkürzt später die Entwicklungszeit und erhöht die Wartbarkeit.