Java Vortragsabend im März


Hallo zusammen,

auch wenn in den letzten Monaten wenig bei uns los war wollen wir natürlich auch in diesem Jahr wieder einen Vortragsabend mit mehreren top Vorträgen direkt nach dem JavaLand veranstalten. Wie auch im letzten Jahr wird das ganze wieder kostenlos sein und allen Java-Entwicklern der Region die leider nicht zum JavaLand können einen kleinen Teil der Konferenz nach Dortmund bringen.

Fest zugesagt haben bisher folgende Speaker mit ihren Talks:

From laptop to the world: multi-region container deployment with Kubernetes

Kubernetes, the open source, container orchestration and cluster management tool draws on lessons learned from a near-decade of using containers at Google. It handles deployment and provisioning of application architecture, and handles a number of critical failure scenarios gracefully – from a crashed process to a failure of cluster nodes.
We will develop, run and test a Java application locally, and deploy it into a cluster of machines with Kubernetes and container orchestration. But we won’t stop there: we’ll see how we can use Kubernetes Cluster Federation to deploy the application into multiple datacenter regions around the world, configuring global load balancing, and regional-level service discovery that can handle a variety of failure scenarios.

Ray Tsang is a Developer Advocate for the Google Cloud Platform. Ray had extensive hands on cross-industry enterprise systems integration delivery and management experiences during his time at Accenture, managed full stack application development, DevOps, and ITOps. Ray specialized in middleware, big data, and PaaS products during his time at Red Hat while contributing to open source projects, such as Infinispan. Aside from technology, Ray enjoys traveling and adventures.
Follow Ray on Twitter @saturnism

REST mit Spring Boot

REST ist ein Begriff für alle Entwickler, die mit der Entwicklung von Schnittstellen zu tun haben. Aber auf was muss man bei der Entwicklung einer „RESTful API“ achten? Wie schneidet man Ressourcen?  Was muss man tun, wenn die Schnittstelle über simples CRUD hinaus gehen soll? Und was steckt eigentlich hinter dem Hypermedia-Hype rund um das Akronym HATEOAS? Diese und weitere Fragen werden in diesem Vortrag praxisnah anhand von Code-Beispielen auf Basis von Spring Boot diskutiert und ergeben eine Checkliste der Dinge, über die man nachgedacht haben sollte, um eine REST-API in einem produktionsreifen Stand ausliefern zu können.

Als Software-Architekt trägt Tom Hombergs bei der adesso AG die technische Verantwortung in Softwareentwicklungs-Projekten im Java-Umfeld und unterstützt die Kunden als Coach in technischen und methodischen Themen rund um die Softwareentwicklung. Als begeisterter Software-Entwickler entwickelt er auf GitHub aktiv an einigen Open Source Projekten mit.

Bean Validation 2.0 – Support für Java 8 und mehr

“Declare once – Validate everywhere”: Bean Validation 1.0/1.1 hat sein Versprechen gehalten und sich rasch als der Standard für Objektvalidierung in der Java-Welt etabliert (Java SE und Java EE). Während dessen wurde Java in Version 8 um viele nützliche Sprachfeatures erweitert: wiederholbare und Type-Level-Annotationen, eine neues Datums- und Zeit-API, zur Laufzeit abrufbare Parameternamen, Optional und vieles andere mehr. Das eröffnet spannende neue Möglichkeiten auch für Bean Validation, z.B. List<@Email String> emails.
Der Vortrag widmet sich den für Bean Validation 2.0 (JSR 380) geplanten Neuerungen. Neben der verbesserten Unterstützung von Java 8 werden von der Community lang ersehnte Features wie die einfachere Ordnung von Constraints oder flexiblere Constraint-Payloads vorgestellt. Auch werden wir einen Blick auf erweiterte Features der Referenzimplementierung Hibernate Validator werfen, wie etwa die API zur programmatischen Erstellung von Constraints.
Die Session ist Code-zentriert, zeigt die neuen APIs in Aktion und vermittelt so ein gutes Verständnis darüber, wie Bean Validation 2.0 beim Lösen typischer Validierungsaufgaben im Entwickleralltag helfen kann.

Gunnar Morling works as software engineer in the Hibernate team at Red Hat, focusing on Hibernate OGM, Validator, and Search. He is also is serving in the expert group for Bean Validation. In his spare time Gunnar is leading the MapStruct project. Prior to joining Red Hat, Gunnar worked on a wide range of Java EE projects in the logistics and retail industries. He is based in Hamburg, Germany.

Java APIs you should know

This isn’t a talk about microservices, NO-SQL, Container solutions or hip new frameworks. This talk will show some of the standard Java APIs that are part of Java since version 5, 6, 7 or 8. All this features are very helpful to create maintainable and future-proof applications, regardless of whether JavaEE, Spring, JavaFX or any other framework is used. The talk will give an overview of some important standard concepts and APIs of Java like annotations, null values and concurrency. Based on an overview of this topics and some samples the talk will answer questions like: How can I create my own annotations? How can I create a plugin structure without using frameworks like OSGI? What’s the best way to handle NullPointerExceptions? How can I write concurrent code that is still maintainable?

Hendrik Ebbers (@hendrikEbbers) ist Java Entwickler bei der Canoo Engineering AG. Sein Hauptinteresse liegt hierbei in den Bereichen JavaFX, User Interfaces und Middleware. Hendrik leitet die JUG Dortmund. Auf seiner Webseite www.guigarage.com bloggt er regelmäßig über Architekturansätze im Bereich JavaFX und zu seinen verschiedenen Open Source Projekten wie Dolphin Platform oder DataFX. Sein Buch “Mastering JavaFX 8 Controls” ist 2014 bei Oracle Press erschienen. Hendrik ist JavaOne Rockstar, Java Champion und JCP Expert Group Member.

Robuste, lesbare Web-UI-Tests mit Page Object Pattern, Geb und Spock

Die UI gilt gemeinhin als schwierig zu testen, und die Tests haben den Ruf, fragil zu sein und bei kleinen Änderungen im produktiven Code reihenweise umzufallen. Das Page Object Pattern erlaubt es, die Details der HTML-Struktur in einer wiederverwendbaren Form zu kapseln. Dadurch wird der Test-Code von der Web-UI separiert und er gewinnt an Stabilität.
Im JVM-Ökosystem hat Geb sich als De-facto-Standard für Web-UI-Tests etabliert. Geb bietet mit seiner Groovy-basierten DSL und einer jQuery-ähnlicher Syntax eine pragmatische Abstraktion über den Selenium WebDriver. Mit Spock als letzte Zutat ergibt sich eine Mischung, die es erlaubt, ohne großen Aufwand gut leserliche Tests zu schreiben, welche äußerst robust gegenüber Änderungen sind.
Für Entwickler, die bis jetzt noch wenig oder hauptsächlich schlechte Erfahrungen mit UI-Tests gemacht haben, wird dieser Vortrag eine Reise durchs Wunderland. Die Fahrt beginnt mit eine kurze Einführung in das Page Object Pattern sowie Geb und Spock. Da auch im Wunderland ein paar Überraschungen lauern, folgen eine Reihe von Tipps und Tricks wie die Stabilität und Lesbarkeit und somit auch die Wartbarkeit von Web-UI-Tests zusätzlich erhöht werden kann. Am Ziel des Ausflugs geht es dann in die Tiefe mit einer detaillierte Betrachtung des Page Object Pattern im Umfeld von Single Page Applications und asynchronen Webseiten.

Stephan Classen ist ein TDD Enthusiast, Open Source Verrückt und liebt es die Code Qualität hoch zu halten. Er arbeitet als Senior Software Engineer bei Canoo Engineering in Basel, ist Mitglied beim Apache Onami Projekt und regelmässiger Teilnehmer am Hackergarten. In seiner Freizeit erkundet er mit seinen zwei Kindern die Welt.

Termin: 30.03.2016, 18:00
Ort: adesso AG, Stockholmer Allee 20, 44269 Dortmund