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.
JSF-Komponenten im Überblick Überblick über verschiedene JSF-Komponenten und speziell den Einsatzbereich von RichFaces.RichFaces Grundlagen Aufbau und Einsatz von RichFaces.RichFaces UI Components Überblick über verschiedene Komponenten, beispielsweise Kalender, Datei-Uploads,...Datensammlungen Der Umgang mit Mengen von Daten in Tabellen und Listen.Weitere Komponenten und Eingenschaften Zusätzliche Effekte durch JavaScript Bibliotheken, der Einsatz von Landkarten und mehr.RichFaces Skins Erstellung und Verwendung verschiedener Skins für Interfaces und Elemente mit RichFaces.
JBoss RichFaces ist eine kostenlose und quelloffene Komponentenbibliothek für JSF, die eine Vielzahl von Anwendungsfällen abdeckt - beispielsweise Ajax-Funktionalitäten, Oberflächen mit Drag-and-Drop, Menüs und vieles mehr. Das Seminar stellt die Konzepte und Möglichkeiten von RichFaces vor und zeigt, wie JSF-Applikationen Schritt für Schritt erweitert werden können, um Rich Internet Applications (RIA) bzw. Web 2.0 Oberflächen zu entwickeln.
FelderEffektiver Einsatz von ArraysAufbau der Collection-APIGenerelle Funktionen der Collection-API und ihr praktischer EinsatzListen und MengenArbeiten mit Listen und Mengen in JavaQueuesVerwendung von blockierenden und nicht-blockierenden WarteschlangenAssoziativspeicherIn-Memory Datenstrukturen mit Assoziationen und ihre VerwaltungAlgorithmen und DatenstrukturenHashing und andere Utility KlassenThread-sichere DatenstrukturenEinfaches und sicheres Arbeiten mit ThreadsWeitere BibliothekenWeitere Libraries von Google und Apache, die verbreitete Aufgaben übernehmen 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.
Java Persistence API (JPA) Objekt-relationale Mapper allgemein und die Java Persistency API im SpeziellenEntity-Manager-API Verwaltung von Entities und der Gebrauch der verfügbaren SchnittstellenJPA Annotationen Die von JPA zur Verfügung gestellten Annotationen im DetailJava Persistence Query Language (JPA-QL) Abfragen mit der JPA-QL entwickelnListener und Callbacks Listener und Callbackmethoden in der Applikations-EntwicklungIn-Container und Out-of-Container Persistence Persistenz im JEE UmfeldTransaktionen und Locking Der Einsatz von Transaktionen und Locking im ORM UmfeldPerformance Strategien um die Performance von ORM Anbindungen zu verbessern, zum Beispiel mit CachingJPA 2.0 Änderungen durch den aktuellen JPA 2.0 Standard
Sun hat mit der Java Persistence API (JPA) einen Standard (JSR317) für Objekt Relationales Mapping (ORM) entwickelt. Dadurch kann die Business Logik objektorientiert entwickelt werden, die Persistierung in einer relationalen Datenbank erfolgt völlig automatisch.In diesem Kurs wird vermittelt, wie einfache Java-Objekte (POJOs) mitsamt ihren Beziehungen abgebildet und innerhalb von Applikationsservern bereitgestellt werden können. Außerdem werden Transaktionen, Listener, Performance-Überlegungen und vieles mehr behandelt.
Java GUI-Bibliotheken im Überblick Allgemeine Übersicht über GUI Standards, ihre Unterschiede und Gemeinsamkeiten,...SWT Einführung Aufbau und Funktionsumfang von SWT und seinen Basis-Komponenten.Ereignisverarbeitung Events und Listener als Werkzeug für die Interaktion von GUIs.SWT-Widgets und -Events GUIs interaktiver und interessanter machen mit Widgets.Grafiken mit SWT zeichnen Erstellen von zweidimensionalen Grafiken, Farben, Formen und Texten.JFace Erweiterungen von SWT durch JFace wie Zelleneditoren, Table Views,...Menüs, Symbolleisten und Aktionen Erstellen von Menüs, Statuszeilen, Symbolleisten und Aktionen.SWT- und JFace-Dialoge Der Einsatz von Dialogen für Datei- und Farbauswahl, etc.
Textkomponenten Text- und Passwortfelder, Suchen und Ersetzen von Zeichenketten, und mehr.
Die virtuelle Maschine von Java Virtuelle Maschinen allgemein und die JVM im Speziellen im Hinblick auf Performance.Performance messen Grundlage aller Performance-Optimierungen ist das laufende Messen der aktuellen Leistung.Allgemeine Compiler-Optimierungen Generelle Überlegungen zur Performance-Verbesserung von Programmcode.Objekte anlegen, weiterverwenden und entfernen Lebenszyklus, Pooling, Garbage Collection,... von Objekten.Java Optimierungen im Speziellen Java-spezifische Überlegungen wie der Umgang mit Zeichenketten, konkreten Datenstrukturen,...Vor- und Nachteile von Threads Möglichkeiten und Probleme die Threads erzeugen bzw. die es zu beachten gilt.
Grundlagen zu JSP und Servlets Beschreibung der Umgebung, der Grundprinzipien und des EinsatzgebietesArbeiten mit Formularen Interaktion auf Webseiten passiert primär über Formulare, hier werden sie im Detail behandeltJavaServer Pages Standard Tag Library (JSTL) und weitere Tag-Libraries Einfacher Einsatz von Logik in HTML Templates mit JSTL und weiteren Tag-LibrariesHTTP Header Der Umgang mit HTTP Headern in JSP ApplikationenEinbinden, Weiterleiten und URL-Rewriting Die Verwendung von URLs in JSPGültigkeitsbereiche und Sessions mit Cookies HTTP an sich ist zustandslos, hier wird die Behandlung in einem konkreten Kontext gezeigtDatenbankanbindung Einbindung von relationalen Datenbanken zum Abrufen und Speichern von DatenSecurity Sichere Entwicklung, Authentifizierung, Autorisierung
Das JSP / Servlet-Seminar vermittelt den Aufbau dynamischer Webseiten. JavaServer Pages (JSP) übernehmen bei der Schichtentrennung die Darstellung, JavaBeans die Daten und Logik. Tag-Libraries und Grundlagen zu den verwendeten Protokollen erweitern Ihr Wissen im Entwurf von Web-Applikationen mit Java.Mit der Expression-Language (EL) und der standardisierten Tag-Library JSTL lassen sich leichter Webseiten von Script-Code freihalten und in der Programmierung weniger erfahrene Web-Designer können Front-Ends mit Java-Integration entwickeln.
Management und Monitoring von Applikationen Verschiedene Standards im Überblick mit Fokus auf JMX.Architektur der Java Management Extensions Detaillierte Beschreibung und praktischer Einsatz von JMX.MBeans Der Umgang mit MBeans - Standard, Dynamic, Model und Open MBeans.Monitoring, Timer und Notifications Einsatz der Service-Monitors und ihrer spezifischen Eigenschaften.Protokoll-Adpater und Connectors Überblick und praktischer Einsatz verschiedener Kommunikationswerkzeuge.Fortgeschrittene JMX Themen Arbeiten mit Apache Tomcat und JBoss AS, Security
Mit der Java Management Extensions (JMX) ist umfassendes und gleichzeitig einfaches Monitoring und Management von Java-Anwendungen möglich. Im Kurs werden die verschiedenen MBeans behandelt, außerdem wird die JConsole vorgestellt, sowie mittles des HTTP- und RMI-Adapters Ressourcen zugänglich gemacht. Neben der Möglichkeit, Java-Applikationen mit JMX zu überwachen und verwalten, lernen die Teilnehmer die JMX-Services Monitor (Counter, Gauge, String), Timer und M-Let kennen.
GenericsGrundlagen zu Generics und ihr praktischer EinsatzDynamische DatenstrukturenEinsatz fortgeschrittener Datenstrukturen zur Laufzeit einer ApplikationInternationalisierung und LokalisierungÜbersetzungen und Umsetzung sprachspezifischer EigenschaftenParallelisierung mit ThreadsAusführung mehrerer gleichzeitiger Aufgaben, ihrer Möglichkeiten und ProblemeDateien und OrdnerVerwendung und Zugriff auf Dateien und OrdnerSecuritySicherheitsmodell von Java, Verschlüsselung und Limitierung der ZugriffeNetzwerk-ProgrammierungKommunikation auf NetzwerkebeneEntfernte Methodenaufrufe und Web-ServicesEinsatz verteilter Applikationen jenseits der Netzwerk-ProgrammierungDatenbankzugriffe mit JDBCArbeiten mit relationalen Datenbanken
Der fortgeschrittene Java-Kurs vertieft die Kenntnisse des Einführungskurses, sodass Teilnehmer komplexe Java-Anwendungen mit der Java Standard Edition umsetzen können.Sie lernen parallelisierbare Programme zu entwickeln, relationale Datenbanken anzusprechen, dynamische Datenstrukturen zu verwenden, Internationalisierung einzusetzen und mehr.
Übersicht und EntwicklungEntwicklung von Eclipse und grundlegende Elemente der EntwicklungsumgebungEclipse-WorkbenchAlle grundlegenden Funktionen und ihr praktischer EinsatzJava-ProjekteJava-spezifische Features in Eclipse, beispielsweise der Einsatz mit Apache TomcatDebuggerUntersuchen und Analysieren von CodeQuellcodebearbeitung und ScrapbookFunktionen für das effiziente Bearbeiten und Testen von CodeVersionierungs-SystemeVersionierter Code in Eclipse für die Zusammenarbeit von TeamsToolsArbeiten mit Tests, Building-Tools und mehrPluginsDas Plugin Konzept in Eclipse und ausgewählte Plugins, beispielsweise für UML
Die Entwicklungsumgebung Eclipse gehört zu den populärsten und leistungsfähigsten Programmen für die Entwicklung von Applikationen, insbesondere im Java Umfeld, aber auch in C, C++, PHP und vielen mehr. Viele Entwickler profitieren von den schnelle Fehlermeldungen und automatischer Korrektur, durchdachtem Debugging, Arbeiten im Team sowie den leistungsfähigen Refactoring-Möglichkeiten. Der Kurs vermittelt praxisnah wie sich Eclipse optimal für Java SE- oder Java EE-Projekte verwenden lässt und welche zusätzlichen Werkzeuge verfügbar sind.
Struts Architektur Grundlegende Technologien und ihr Zusammenspiel, sowie die Vorteile von Struts.Struts Grundlagen Installation, Konfiguration, erste Applikationen und mehr.Formulare erstellen und validieren Definition von Formularen sowie die server- und clientseitige Validierung.Struts Tag-Libraries und API Verfügbare Tags, Internationalisierung, verschiedene Aktionen und mehr.Tiles Framework Der Einsatz des HTML Templating Frameworks Tiles mit Struts.Best-Practices und Einsatz in der Praxis Diverse Tipps und Tricks für den täglichen Einsatz, wie Logging, Debugging, Security
Für Web-Anwendungen ist Apache Struts eines der bewährtesten und gängigsten Frameworks für die Präsentationsschicht. Das quelloffene und kostenlose Framework ist trotz modernerer Technologien (wie JavaServer Faces) weiterhin stark vertreten und hilft Entwicklern beim Zusammenspiel von JavaServer Pages (JSP), Geschäftslogik und Ablaufsteuerung. Das Seminar beschäftigt sich sowohl mit der weit verbreiteten Version 1 als auch dem aktuellen Struts 2.Inhaltlich wird die generelle Architektur, Konfigurationsmöglichkeiten, Erstellung und Validierung von Formularen, Ablaufsteuerung und mehr behandelt. Zum Abschluss werden Themen wie Logging, Debugging, Security und mehr für den täglichen Einsatz erprobt.
Analyse von Java-Applikationen Grundlagen der Code Analyse, Kennzahlen, Metriken und mehr.FindBugs FindBugs ist ein quelloffenes Programm, das in Java-Programmen nach Fehlermustern sucht.PMD PMD ist ein statisches Analyse Werkzeug für Java, das keine echten Fehler, sondern ineffizienten Code sucht.Checkstyle Checkstyle ist ein statisches Analyse-Tool für Java, das die Einhaltung gewisser Coding Regeln prüft.JDepend JDepend prüft die Code-Qualität auf Erweiterbarkeit, Wiederverwendbarkeit und Wartbarkeit.Weiterführende Tools Vorstellung weiterer Tools wie XRadar, SonarJ
Statische Analysetools wie FindBugs, PMD, Checkstyle und JDepend erkennen Fehler, Schwachstellen und Konventionsverstöße in Java-Programmen. Anders als dynamische Tests auf Korrektheit, wie JUnit- oder Performance-Tests, finden diese Werkzeuge sowohl unbenutzte Codeblöcke, öffentliche Methoden ohne API-Dokumentation, inkonsistente Namensgebungen, leere Catch-Blöcke, falsche Synchronisation und Performance-Fallen.Teilnehmer des Seminars lernen die Programme praxisorientiert kennen, so dass Regeln präzise ausgewählt und im Build-Management etwa über Ant and Maven eingebunden werden können. Da sich die Tools in ihrer Funktion überschneiden, geht das Seminar speziell auf die jeweiligen Besonderheiten ein. Ein weiteres wichtiges Thema ist die Konfiguration der Fehlermeldungen, damit False-Positives und False-Negatives möglichst vermieden werden können.
Message Oriented Middleware (MOM) im Überblick Überblick über verschiedene Standards, Implementierungen und ihre Anwendungsbereiche.JMS-API Details zur konkreten Verwendung von JMS in Applikationen.JMS-Message Genaue Behandlung aller möglicher Elemente in JMS Messages.Publish-Subscribe Messaging An- und Abmeldung zu einem bestimmten Thema (Topic).Point-to-Point Messaging Der Umgang mit Message Queues und der Unterschied zu Topics.Verlässlichkeit der Nachrichtenübertragung Mechanismen zur zuverlässigen Zustellung von Nachrichten.Fortgeschrittene JMS Anwendungen Eigenschaften für die Anwendung im Business Umfeld, wie Authentifizierung, Skalierbarkeit
Das Java Message Service (JMS) ist eine standardisierte API für den Austausch von asynchronen Nachrichten zwischen lose gekoppelten Systemen. Das Seminar beschreibt detailliert die beiden Kommunikations-Modelle Publish-Subscribe und Point-to-Point, zeigt wie sie praktisch eingesetzt werden und welche Implementierungen bzw. alternative Technologien zur Verfügung stehen.
Java EE-Technologien im Überblick Überblick über die wichtigsten JEE Technologien - je nach Vorkenntnissen und Bedürfnissen.GlassFish 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.
Der GlassFish Applikations-Server gehört zu den aufstrebenden Java EE-Servern, der sich durch geringen Ressourcenverbrauch und schnelle Implementierung aktueller Standards auszeichnet. Detailliert geht das Seminar auf Architektur und Konfigurationsmöglichkeiten ein und vermittelt sowohl Administratoren als auch Entwicklern umfangreiche Kenntnisse in Installation, Deployment und Wartung, so dass ein geregelter und sicherer Betrieb jederzeit gewährleistet ist. Teilnehmer der Schulung lernen außerdem den GlassFish Application-Server zu optimieren sowie einen Cluster für hochverfügbare und hochperformante Systemumgebungen aufzubauen.
Spring Framework Architektur Generelle Eigenschaften und Architektur des Spring Frameworks.Dependency Injection mit dem Spring Container Vorstellung eines der Grundprinzipien des Frameworks im Detail.Spring Aspect Oriented Programming (AOP) Grundlagen zu AOP und der konkrete Einsatz in Spring.Komponenten für die Web-Entwicklung Module speziell für Web-Applikationen wie MVC, WebFlow, Listener und mehr.Security Behandlung von Themen wie Authentifizierung, Authorisierung, sicherer Entwicklung,...Datenbankanbindung, Messaging und Batch Processing Anbindung an relationale Datenbanken, Transaktionen, Messaging mit JMS, etc.Testen Automatisches Testen entwickelter Applikationen - effizient und sinnvoll.Spring und weitere Java Standards Vergleich und Kombinationsmöglichkeiten mit EJB3, JSF und mehr.
Das kostenlose und quelloffene Spring Framework kann für die Entwicklung beliebiger Java Applikationen eingesetzt werden, häufig wird es jedoch im Kontext der Java Enterprise Edition verwendet. Es ist sehr modular aufgebaut und kann damit leicht an die jeweiligen Bedürfnisse angepasst werden.Das Seminar beschreibt die grundlegende Architektur und stellt die wichtigsten Module im Detail vor - von Dependency Injection über Aspektorientierte Programmierung (AOP) bis Batch Processing.
Das Java Native Interface (JNI) Einführung in das JNI, seine Features und grundlegende Anwendungsbereiche.Zugriff auf Java Applikationen Der Zugriff auf Java Anwendungen, der Handhabung von Strings, und mehr.Referenzen Informationen oder Ressourcen referenzieren (global oder lokal) und abschließend freigeben.Fehlerbehandlung Das Auslösen und Auffangen von Ausnahmen und der Umgang mit Fehlern allgemein.Invocation Interface und Threads Das Aufrufen von (Teil-) Funktionalitäten mit besonderem Schwerpunkt auf Threads.Debugging und Performance Herangehensweisen für das Debugging und Profiling von Applikationen.JNI-Wrapper und Alternativen Verschiedene Alternativen zu JNI, ihre Vor- und Nachteile im Überblick.
Das Java Native Interface (JNI) erlaubt Informationen zwischen Java- und Nicht-Java-Programmen zu teilen und Funktionen in beiden Richtungen aufzurufen. Die Schulung zeigt, wie Java in C-geschriebene Funktionen aufruft und aus einer nativen Anwendung heraus eine JVM über das Invocation Interface gestartet und gesteuert wird. Die Teilnehmer lernen alle Aspekte der JNI-Entwicklung anhand von Beispielen kennen und werden auf die Probleme bei der Integration im Alltag vorbereitet, wie etwa dem Exception-Handling, Threading, Sicherheitsproblemen, der expliziten Deallokation aufgrund fehlender Garbage-Collections des nativen Codes bis zur Vermeidung von JVM-Crashs.
Java Persistence API (JPA)Objekt-relationale Mapper allgemein und die Java Persistency API im SpeziellenJPA und HibernateZusammenspiel und gemeinsamer Einsatz von JPA und HibernateHibernate-APIDetails zu Hibernate und die praktische Umsetzung, wie die Hibernate Query LanguageEJB3 Persistence APIDer Einsatz von EJB3 im DetailJava Persistence Query Language (JPA-QL)Abfragen mit der JPA-QL entwickelnListener und CallbacksListener und Callbackmethoden in der Applikations-EntwicklungTransaktionen und LockingDer Einsatz von Transaktionen und Locking im ORM UmfeldHibernate PerformanceStrategien um die Performance von ORM Anbindungen zu verbessern, zum Beispiel mit CachingWeitere ThemenbereicheAusblick auf zukünftige Entwicklungen und weitere Punkte, um das Thema zu vervollständigen
Das Seminar baut auf die Standardisierung der Entity-Beans nach der Java Persistence API (JPA) auf, ein wesentlicher Teil der neuen EJB 3 Spezifikation. Gemeinsam mit dem Quasi-Standard für Persistenz-Frameworks Hibernate lassen sich die modellierten Geschäftsobjekte effizient entwickeln, warten und in beliebigen Java Applikationsservern betreiben.Java-Objekte (POJOs), Relationen, Annotationen, Transaktionen, Caching und vieles mehr wird detailliert behandelt und zeigt wie ORM effektiv genutzt werden kann.
Überblick Generelle Konzepte, Begriffe und ihr EinsatzDie Java Sandbox Grundlegende Umgebung in der Java ausgeführt wird und die Auswirkungen davonJava Sprachkonzepte Sprachkonzepte die die Sicherheit betreffen, wie Typing, Memory Management,...Zugriffsbeschränkung und Class LoaderProtection Domains, das Laden von Klassen und mehrSecurity Providers Die Architektur von Security Providern und die nützlichsten APIs in diesem UmfeldSchlüssel, Zertifikate und ihr Management Die Erstellung und Speicherung von Keys und Zertifikaten mit JavaHashfunktionen und digitale Signaturen Hashes und Signaturen erstellen, prüfen und verwaltenVerschlüsselung Überblick und Einsatz symmetrischer und asymmetrischer VerschlüsselungAuthentifizierung und Autorisierung Das Java Authentication and Authorization Service
Sicherheit, besonders im Business Umfeld, ist ein extrem wichtiges aber oft vernachlässigtes Thema. Es kann nicht nachträglich auf bestehenden Code aufgesetzt werden, sondern muss bereits in der grundlegenden Planung bedacht werden, um effizient und effektiv eingesetzt werden zu können.Der Kurs veranschaulicht Security im Bereich der Applikations-Entwicklung (Spracheigenschaften, diverse APIs,...), Administration (grundsätzliche Umgebung und ihre Wartung), Kommunikation (Verschlüsselung, Signaturen, Hashes) und mehr, wobei der Fokus auf Java SE liegt.