Zum Inhalt springen

Javaland 2016 Schulungstag

10. März 2016

Alle Schulungen finden zwischen 9 und 17 Uhr statt. In welchem Raum? Das erfährst du im Konferenzplaner

Git kompakt

Für nachhaltige Softwareentwicklung ist eine Lösung für Versionsverwaltung von Quellcode (SCM - Source Code Management) unerlässlich. In großen Open Source Projekten mit verteilter Entwicklung wie Linux oder Eclipse sieht man, dass hierbei eine verteilte Versionsverwaltung (DVCS - distributed version control system) längst im realen Einsatz angekommen ist. Git gehört hierbei zu den weit verbreiteten Vertretern dieser Gattung.

Im Rahmen der Schulung werden dem Teilnehmer systematisch und kompakt sowohl die Philosophie einer dezentralen Softwareentwicklung als auch der Entwicklungszyklus mit diesem modernen Versionsverwaltungstool näher gebracht. Vertieft wird das erworbene Wissen mit praxisnahen Übungen. Hierbei werden auch die Unterschiede von Git im Vergleich zu einem zentralen Versionsverwaltungssystem wie Subversion (SVN) aufgezeigt sowie die Vorteile und Möglichkeiten im Arbeitsalltag verdeutlicht.

Zielgruppe:

PC Grundkenntnisse. Erfahrungen mit anderen Werkzeugen zur Versionsverwaltung wie z.B. Versionsverwaltung mit SVN oder CVS sind von Vorteil aber keine Voraussetzung.

Thorsten Maier Orientation in Objects GmbH

Vert.x 3

Vert.x Basics: Eventbus, I/O und Modularisierung
Deployment: FatJars und Vert.x-Runtime
HTTP, Websocket und Integration mit ETCD
Unit- und Integration-Testing

Jochen Mader codecentric AG

Using the Power of JSF 2.X, HTML5, WebSocket, and JSON

HTML5 is now a well-established platform for delivering rich applications to a wide variety of networked devices. With HTML5 it is possible to achieve a very high degree of polish and responsiveness, but care must still be taken for browser incompatibilities and individual device characteristics. Java EE is the perfect back end to an HTML5 front end. This course covers the foundations of HTML5 application development in its own right, and then shows how these techniques can be utilized in concert with several related pieces of the Java EE family of
technologies: JavaServer Faces (JSF), JAX-RS, JSON, and WebSocket.

Zielgruppe:

Entwickler, students need not be fluent in JavaScript

Ed Burns
Oliver Szymanski

Reite das Nashorn: JavaScript Programmierung auf der Java Virtual Machine

Nashorn ist mehr als „nur“ JavaScript auf der JVM. Nashorn bietet eine nahtlose Integration von Java und JavaScript an und erweitert hier und dort wo es sinnvoll ist, die allgemein bekannte Sprach-API. Wie man damit sinnvoll und vernünftig (Web-) Anwendungen programmiert, auch unter Zuhilfenahme von Maven-Dependencies und NPM-Modulen, wird den Teilnehmern vermittelt.
Ein weiterer Schwerpunkt wird der Einsatz von Isomorphem JavaScript sein, also die Verwendung des selben Codes auf der Client- wie auch auf der Serverseite im Zusammenspiel mit aktuellen JavaScript Web-Frameworks wie React von Facebook.
Dass JavaScript aber auch für die Kommandozeilen-Programmierung (CLI) eingesetzt werden kann, erlernen die Teilnehmer genauso wie die Programmierung von JavaFX-Anwendungen mit JavaScript. Aber auch das Debuggen von JavaScript geht mit Nashorn einfacher als viele denken.

Zielgruppe:

Intermediate Java developers and architects

Niko Köbler

Performancetesting & -optimierung mit JPA/Hibernate - AUSGEBUCHT

Hibernate stellt das wohl beliebteste Framework für objektrelationale Mappings dar. Es implementiert die Java Persistence API (JPA), wird in unzähligen Projekten produktiv eingesetzt und steigert die Produktivität bei der Umsetzung von Datenzugriffsschichten in Java-Anwendungen.
Durch die Abstraktion über dem konkreten Datenbankschema, die solche JPA
basierte ORM Frameworks herstellen, ist es in vielen Fällen für Entwickler schwierig zu erkennen, welcher Java Code welche SQL Queries an die Datenbank nach sich zieht. Insbesondere die Verwendung von sogenannten Eager und Lazy Referenzen stellt in diesem Zusammenhang oft ein Problem dar, weil die ORM Frameworks "automatisch" Datenbankabfragen an Stellen absetzen an denen Entwickler damit nicht rechnen. Ein bekanntes Problem in diesem Kontext sind beispielsweise sogenannte n+1 Queries, bei denen pro Entität in der Datenbank eine Abfrage gestellt wird.

Aus der großen Anzahl der Datenbankabfragen ergeben sich zwangsläufig Performanceprobleme, die oft erst spät (z.B. im Produktiveinsatz der Anwendung) erkannt werden. Darüber hinaus kommt es regelmäßig vor, dass Datenbankabfragen langsam sind, weil geeignete Indices im Schema fehlen. Auch dies ist für Entwickler ohne geeignete Hilfsmittel nur schwer zu erkennen.
Ziel der Schulung ist es, Methoden und technische Möglichkeiten zu vermitteln, um die o.g. Probleme frühzeitig zu erkennen und zu beheben. Dazu werden konkret die verschiedenen möglichen Ursachen der Performanceprobleme erläutert, das technische Vorgehen zum Erkennen und Vermeiden solcher Probleme gezeigt sowie Möglichkeiten zum Beheben der Probleme aufgezeigt. Anhand von praxisnahen Beispielen lernen die Teilnehmer, wie sie zukünftig schon bei der Entwicklung von ORM-basierten Applikationen sicherstellen können, dass diese keine der o.g. Probleme enthalten.

Zielgruppe:

Die Schulung richtet sich an Software‐Architekten, ‐Modellierer und -Entwickler mit ersten Vorerfahrungen zu JPA-basierten ORM Frameworks (e.g., EclipseLink, Hibernate)

Jan Reimann DevBoost GmbH
Dr. Mirko Seifert DevBoost GmbH

ElasticSearch: From Zero to Hero - AUSGEBUCHT

This workshop gives an introduction into ElasticSearch, which can be used as a search engine for your application's data as well as it can easily be a primary data source for your application due to its extremely good performance characteristics. One important use case, that is also show-cased in the second part of the workshop, is a combination of ElasticSearch, Logstash and Kibana - ELK stack - that can help making your application log aggregation and analysis a breeze.

  • Installing ElasticSearch
  • Using ElasticSearch in your application:
    •   API overview
    • Query construction
    • Index data manipulation
    • Advanced use cases
  • Configuring ELK stack
    • Component overview
    • Configure log parsing with Logstash
    • Build Kibana dashboards
  • Operations concerns
    • Monitoring
    • Plugins
    • Scaling your cluster
    • Data backup

Zielgruppe:

Intermediate Java developers and architects

Andrey Adamovich Aestas IT

Java Web Security Workshop - AUSGEBUCHT

Erfahrene Java-(Web-) Entwickler, Security-Vorkenntnisse sind keine notwendig

 

Der Java Web Security Workshop will der unsicheren Entwicklung von Java-Webanwendungen ein Ende setzen und stellt dazu zunächst zahlreiche aktuelle und verbreitete Sicherheitsprobleme in Webanwendungen detailliert vor. Die OWASP Top 10 schaffen so ein erstes Verständnis von möglichen Schwachstellen. Neben deren theoretischen Ursachen zeigen Demos, wie verschiedene Sicherheitsprobleme von Angreifern ausgenutzt werden können und welche Auswirkungen diese für die eigene Webanwendung haben können. Anhand der OWASP Top 10 Proactive Controls und weiteren für Entwickler direkt einsetzbaren Gegenmaßnahmen gilt es dann für jeden Teilnehmer, diese Sicherheitsprobleme in zahlreichen Übungen selbst zu beheben und den eigenen Code sicherer zu machen.

Zielgruppe:

Erfahrene Java-(Web-) Entwickler, Security-Vorkenntnisse sind keine notwendig

Dominik Schadow BridgingIT GmbH