JAX 2019: Programmvorschau

Mit großen Schritten nähern wir uns der JAX 2019. Am 6. Mai öffnen sich die Pforten der Mainzer-Rheingoldhalle zur langen Konferenzwoche rund um Java, Architektur- und Softwareinnovation. Wer dabei sein möchte, erhält noch bis Donnerstag, 28. März vergünstigte Tickets.
JAX 2019 – Programmvorschau
Die JAX 2019 findet vom 6. bis 10. Mai 2019 in der Mainzer Rheingoldhalle statt. Im Fokus steht die moderne Java- und Web-Entwicklung, Software-Architektur und innovative IT-Infrastruktur.
Mehr als 170 Speaker geben in rund 200 Vorträgen und Workshops ihr Erfahrungswissen an die Teilnehmer weiter. Ein besonderer Schwerpunkt liegt auf Java Core- und Enterprise-Technologien, Microservices, dem Spring-Ökosystem, JavaScript, Continuous Delivery und DevOps.

Die Tracks der JAX 2019
Die JAX 2019 ist in 11 Themen-Tracks untergliedert, die eine Orientierung erlauben:
- Agile & Culture
- Data Technologies & Machine Learning
- Clouds, Kubernetes & Serverless
- Core Java & JVM Languages
- DevOps & Continuous Delivery
- Digital Transformation & Innovation
- Microservices & Serverside Java
- Microservices & Architecture
- Performance & Security
- Software Architecture
- Web Development & JavaScript
Insgesamt werden über 200 Workshops, Sessions und Keynotes von mehr als 170 internationalen Sprechern geboten. Wir werfen einen Blick auf die Highjlights.
JAX 2019 – ausgewählte Sessions:
- 10 Gründe, warum wir gewisse APIs mögen und uns andere APIs nerven – Lukas Eder, Data Geekery GmbH
- An introduction to clojure.spec – Martin Clausen, Syngrato ApS
- An Open Future for Java in the Cloud? – Steve Poole, IBM
- Angular Elements jenseits der Basics – Manfred Steyer, SOFTWAREarchitekt.at
- Apache Lucene 8, Apache Solr und Elasticsearch – ein Überblick – Uwe Schindler, SD DataSolutions GmbH
- Big Data zum Anfassen: Spark, Hive, Kafka & Co. – Wolfgang Pleus, PLEUS Consulting
- Code Generation – The Good Parts: Why do we Generate Source Code when should we not? – Peter Verhas, EPAM Switzerland
- Consumer-driven Contracts: It’s like TDD applied to the API – Olga Maciaszek-Sharma, Pivotal
- Cross-cutting Concerns und andere Microservices-Patterns – Dr. Annegret Junker, Adesso AG
- Das Gehirn: Eine Gebrauchsanleitung – Dr. Jens Bendisposto, innoQ und Heinrich Heine Universität
- Deployments mit und in Kubernetes – Erkan Yanar, linsenraum.de
- Einführung in die funktionale Softwarearchitektur – Michael Sperber, Active Group GmbH
- Enough java.lang.String to hang ourselves – Heinz Kabutz, JavaSpecialists.eu
- Java Serialisation: A modern Fairytale – Steve Poole, IBM
- Java Value Types: What is it and why are they important – Peter Verhas, EPAM Switzerland
- JDK 12 Update: Neue Features und Zusammenspiel mit dem OpenJDK – Wolfgang Weigend, oracle Deutschland B.V. & Co. KG
- Kotlin: Erweiterte Sprachfeatures – René Preißel, eToSquare
- Logging für Microservices und Container: Wir bauen eine Shared-Nothing-Logging-Infrastruktur – Torsten Köster, shopping24 internet group, Nikolaus Winter, shopping24 internet group
- Machine Learning: Das Ende der Businesslogik? – Oliver Zeigermann, embarc
- Micronaut – Effiziente und performante Microservices für die Cloud – Falk Sippach, Orientation in Objects GmbH
- Microservices mit Hibernate – typische Probleme und Lösungen – Thorben Janssen, Freiberufler
- Mittendrin statt nur dabei: Microservices und Transaktionen – Lars Röwekamp, OPEN KNOWLEDGE GmbH
- Models, Modules, Microservices – Bessere Domänenmodelle mit den Modulen aus Java 9 – Henning Schwentner, WPS – Workplace Solutions
- Moderne Frontend-Architektur mit JavaScript – Nils Hartmann, EOS Technology Solutions, Oliver Zeigermann, embarc
- Modernes SQL: Evolution eines Dinosauriers – Markus Winand, winand.at
- Nachhaltige Clientarchitekturen mit Angular und Micro Apps – Manfred Steyer, SOFTWAREarchitekt.at
- Reactive Database Access: Reaktiv bis zur Datenbank – Arne Limburg, OPEN KNOWLEDGE GmbH
- Schneller geht immer – eine Checkliste zur Performanceanalyse – Ingo Düppe, Crowdcode GmbH & Co. KG
- Security Quiz Night(mare)-Session – Christian Schneider, Schneider IT-Security
- Serverless und Functions as a Service mit Java, Docker und OpenFaaS – Dr. Halil-Cem Gürsoy, adesso AG
- Serverless-Architekturen: Event-getriebene Microservices mit Azure Functions und Co. – auch für Java-Entwickler – Christian Weyer, Thinktecture
- Service Mesh — Kilometer 30 im Microservices-Marathon – Michael Hofmann, Hofmann IT-Consulting
- Spring, Functions, Serverless and You – Nathaniel Schutta, Pivotal
- Warum Entwickler Kotlin lieben? – René Preißel, eToSquare
- Warum funktioniert Continuous Delivery nicht? – Eberhard Wolff, INNOQ
- Was lange währt… Javas neuer HttpClient – Thilo Frotscher, Freiberufler
- Wie fit ist Java für die Cloud? – Roland Huß, Red Hat
Weitere Sessions unter: www.jax.de/programm
JAX 2019: Die Workshops am Montag, 6.5.2019
Microservices-Workshop: Idee, Architektur, Umsetzung und Betrieb am Beispiel
In diesem Power Workshop teilen wir eine Domäne mit Domain-driven Design in mehrere Microservices auf. Dann entscheiden wir über die Integrationstechnologie und bringen die Anwendung auf Kubernetes in Produktion. Schließlich kümmern wir uns um das Monitoring und Logging. So zeigt das Tutorial an einem einfachen Beispiel, wie man eine konkrete Microservices-Anwendung von der Architektur über die Implementierung bis in Produktion bringt. Statt praktischer Übungen zeigt der Workshop konkrete Codebeispiele für alle Ansätze. Sie stehen zusammen mit den Folien und einer Dokumentation in einer Broschüre zum Download bereit und können ein Startpunkt für die Umsetzung eigener Microservices sein.
Workshop: Coole Web-Apps mit Spring Boot, Angular und TypeScript
Will man richtig coole Web-Anwendungen entwickeln, kommt es auf darauf an, den geeigneten Technologiemix zu beherrschen. Erfahren Sie daher live in diesem Workshop, wie sich unter Verwendung von Angular, TypeScript, Spring Boot und Spring Data moderne Anwendungen entwickeln lassen, die Ihre Kunden begeistern werden!
Workshop: Neues in Java 12 & Best of Java 9, 10 und 11
In diesem Hands-on-Workshop werden ausgewählte Themen jeweils mit Hilfe von Folien zunächst eingeführt und im Anschluss durch praktische Übungen vertieft. Dadurch erhalten die Teilnehmer einen guten Überblick über wichtige, mit Java 9 eingeführte Neuerungen sowie Erweiterungen aus Java 10 und 11 als auch dem aktuellen Java 12.
Außerdem werfen wir im Workshop einen Blick auf Sprach- und Syntaxerweiterungen, unter anderem einige hilfreiche Funktionalitäten in Streams und Optionals, aber auch Ergänzungen wie die Unterstützung von HTTP/2 sowie Erweiterungen zur Concurrency mit CompletableFuture und Reactive Streams. Abgerundet wird das Ganze durch einen Blick auf die Neuerungen in Java 12 wie beispielsweise Raw String Literals sowie Switch Expressions.
Selbstverständlich dürfen die Modularisierung und Project Jigsaw als Themen nicht fehlen. Neben einem fundierten Einstieg wird auf das Management von Abhängigkeiten, die Realisierung von Services sowie die Möglichkeiten zur schrittweisen Migration eingegangen.
Durch den gewählten Themenmix können die Teilnehmer einschätzen, was sie später bei einem Umstieg auf die jeweilige Java-Version erwartet. Abgerundet wird der Workshop durch viele Übungen, einige Livedemos, ein paar Tipps und Tricks sowie verschiedene nützliche Handouts.
Pentesting Workshop: How to master your Toolstack
In diesem Hands-on-Workshop greifen wir gemeinsam aus der Sicht eines Pentesters eine Trainingsanwendung an. Sie lernen anhand zahlreicher Praxisübungen den Umgang mit professionellen Securitywerkzeugen (unter der Pentester-Distribution „Kali Linux“) sowie die allgemeine Vorgehensweise von Pentestern bei Angriffen auf Webanwendungen. Selbstverständlich werden wir uns auch um Abwehrmaßnahmen zur Absicherung der gefundenen Lücken kümmern, im Vordergrund steht jedoch der gezielte Umgang mit professionellen Angriffswerkzeugen zur (teilautomatischen) Durchführung einer Sicherheitsanalyse. Nach dem Workshop verfügen Sie über praktische Erfahrungen zur Angriffsdurchführung auf Webanwendungen und Backends, die Sie im Rahmen Ihrer eigenen Softwareentwicklung umsetzen können, um die Sicherheit Ihrer Projekte nachhaltig zu erhöhen. Abgerundet wird jede Übung durch die passenden Tricks und Kniffe der Profis in der Verwendung der jeweilig offensiven Angriffswerkzeuge.
Workshop: Robuste und skalierbare Systeme mit Akka
Asynchrone Nachrichten statt Methodenaufrufe, fachliche Actor-Hierarchien statt Schichtenarchitektur, Supervisor und „let it crash“ statt langer Stack-Traces, Zustand in Anwendungskomponenten statt zustandsloser Server, Sharding statt identischer Serverinstanzen — Akka erlaubt völlig andere Architekturen als z. B. Spring oder Java EE. Es bringt andere Trade-offs mit als klassische Komponentenframeworks und eröffnet eine weitere Sicht auf Architektur jenseits etablierter Patterns. Dieser Workshop gibt eine praxisorientierte, quelltextzentrierte Einführung in Akka. Wir bauen ein lauffähiges System, an dem wir reaktive Patterns kennenlernen und neue architektonische Wege ausprobieren. Die Beispiele sind vollständig in Java, aber wenn jemand die Übungen lieber in Scala implementieren will, unterstütze ich ihn oder sie dabei gern.
JavaScript Workshop: Web-APIs mit Node.js entwickeln
Node.js bringt alle wichtigen Bestandteile für die Entwicklung leistungsfähiger Schnittstellen im Web mit. Die Plattform selbst ist leichtgewichtig, performant und auf die Kommunikation im Web ausgelegt. Was Node.js selbst nicht oder nur unzureichend leisten kann, lässt sich problemlos über zusätzliche Module nachinstallieren. So können mit etablierten Bibliotheken wie Express.js leistungsfähige APIs entwickelt werden. Kommen außerdem noch TypeScript und Werkzeuge wie Swagger zum Einsatz, lässt sich die Applikationen gut strukturieren, erweitern und auch in größere Applikationen problemlos integrieren. In diesem Workshop wird Schritt für Schritt eine vollwertige Webschnittstelle entwickelt. Außerdem werden verschiedene Szenerien für deren Einbindung vorgestellt.
Domain-driven Design Workshop: Strategisches Design und Context-Mapping
Eine grundsätzliche Frage bei der Softwareentwicklung ist, wie man die Domäne richtig schneiden kann. In Zeiten von Microservices ist das besonders bewusst geworden, aber auch unabhängig davon muss man diese Frage beantworten. Ziel ist es, zu einer tragfähigen Architektur und einem guten Domänenmodell zu kommen. Dabei ist erstens wichtig, die Bounded Contexts und Subdomänen herauszuarbeiten; im zweiten Schritt werden die Kontexte mit Context-Mapping miteinander verbunden. Der Workshop wird aus Vorträgen und Übungen bestehen. Dabei werden wir uns auch mehrere Beispiele aus der Praxis anschauen, und in den Übungen erarbeiten sich die Teilnehmer selbst an einer Beispieldomäne eine Aufteilung in Bounded Contexts.
Architectural Katas Workshop
Fred Brooks said, „How do we get great designers? Great designers design, of course.“ So how do we get great architects? Great architects architect. But architecting a software system is a rare opportunity for the non-architect. The kata is an ancient tradition, born of the martial arts, designed to give the student the opportunity to practice more than basics in a semi-realistic way. The coding kata, created by Dave Thomas, is an opportunity for the developer to try a language or tool to solve a problem slightly more complex than „Hello world“. The architectural kata, like the coding kata, is an opportunity for the student-architect to practice architecting a software system.
Workshop: Property-based Testing mit Java
Testgetriebene Entwicklung in objektorientierten Sprachen setzt bislang meist auf beispielbasierte Testfälle, wie man sie leicht mit JUnit und ählichen Testframeworks erstellen kann. Schaut man jedoch über den Tellerrand und auf funktionale Programmiersprachen wie z. B. Haskell oder F#, findet man dort etwas anderes: Property-Tests. Diese basieren auf der Idee, die erwünschten Eigenschaften unseres Programms zu beschreiben und anschließend das Framework selbstständig Testfälle generieren zu lassen, die diese Eigenschaften bestätigen oder falsifizieren. In diesem Workshop werden wir sowohl auf die Theorie hinter Property-based Testing eingehen als auch konkret zeigen, wie man mit jqwik unter Java und anderen JVM-Sprachen solche Tests umsetzen kann. Die Teilnehmer bekommen die Gelegenheit, selbst Properties zu schreiben und auszuprobieren.
Workshops am Freitag, 10.5.2019
Angular-Workshop: Architektur und Konzepte für moderne webbasierte Geschäftsanwendungen
Angular ist eins der populärsten Frameworks für moderne webbasierte Geschäftsanwendungen. In diesem Workshop erfahren Sie von Manfred Steyer, Google Developer Expert (GDE), wie Sie damit große Projekte umsetzen können. Dazu wird eine vollständige Anwendung unter Berücksichtigung von Best Practices live entwickelt. Verschiedene Architekturansätze werden diskutiert und die einzelnen Building Blocks im Detail betrachtet. Sie lernen die Ideen hinter den vorherrschenden Konzepten kennen und sehen, wie Sie aus der Welt von Java bekannte Strategien wie Dependency Injection, Datenbindung oder Komponentenorientierung mit Angular und TypeScript realisieren.
Hibernate Workshop: Komplexe Lösungen jenseits von CRUD
Die Anforderungen an moderne Enterprise-Anwendungen sind in den letzten Jahren deutlich gestiegen. Die einfache Persistierung von Eingabedaten ist nicht mehr ausreichend. Eine Volltextsuche und die Auditierung der Datenbestände sind inzwischen selbstverständlich und Forderungen nach mehrmandantenfähigen Systemen keine Seltenheit. Für all diese Anforderungen bieten Hibernate und die dazugehörigen Erweiterungen Hibernate Search und Hibernate Envers bereits gute Lösungen. Diese werden im Rahmen des Power Workshops anhand praktischer Beispiele und Übungsaufgaben vorgestellt.
Application-Security-Workshop: Spring Security 5, Spring Boot 2, OpenID Connect (und Angular)
In diesem Hands-on-Workshop über Application Security geht es unter anderem um Single Sign-on via OpenID Connect (Code Flow und Implicit Flow), Autorisierung mit Role-based Access Control, ressourcenbasierte Berechtigungsprüfungen, Defense in Depth, das Zusammenspiel von Application Security und -Architektur und vielem mehr. Die Beispielanwendung besteht aus zwei Self-Contained Systems, ist initial an den ROCA-Style angelehnt und verwendet Spring Boot 2, Spring Security 5 und Thymeleaf. Im weiteren Verlauf wird eine SPA mit Angular verwendet werden, wodurch die Unterschiede in Bezug auf die Application Security deutlich werden.
Microservices – interaktiv mit den Experten!
Sie wollen mit Experten Microservices diskutieren? Sie brauchen Einschätzungen und Ratschläge zu Fragestellungen und Problemen im Projekt? In diesem interaktiven Workshop haben Sie dazu die Möglichkeit – egal ob sie Microservices-Experte oder -Anfänger sind. Mithilfe einer professionellen Moderatorin und dem populären Open-Space-Format werden wir gemeinsam Antworten, Lösungen und Diskussionen zu Ihren Themen erarbeiten und so einen Austausch auf hohem technischem und konzeptionellem Niveau zu ermöglichen. Dabei steht Ihnen das geballte Wissen aller Teilnehmer des Workshops und einiger der erfahrensten Speaker im Microservices-Bereich zur Verfügung. In diesem Expertenworkshop sind Sie richtig, wenn Sie Architekturfragen diskutieren, technische Lösungen erörtern und praktische Fragen zum Thema Microservices klären wollen.
Software Architecture Workshop: Ein Microservice kommt selten allein – Architektur und Patterns
Die gute Nachricht vorweg: Einen einzelnen Microservice zu implementieren ist dank Bounded Context, loser Kopplung und klar definierter Kommunikationsschnittstellen denkbar einfach. Nur leider macht ein Frühling noch keinen Sommer und ein einzelner Microservice noch lange keine sinnvolle Anwendung! Um an Ende nicht im Chaos zu versinken, benötigt auch eine Microservices-basierte Anwendung eine Architektur und die Verwendung von Patterns. Wie zum Beispiel stellt man die Evolution von Schnittstellen sicher? Oder wie soll die UI eingebunden werden? Welche Aufgaben übernimmt ein API-Gateway und wird es überhaupt benötigt? Sollten Microservices synchron oder asynchron kommunizieren? Oder gar beides? Fragen über Fragen, deren Klärung über Erfolg oder Misserfolg der eigenen Anwendung entscheiden können. Der Workshop gibt einen Einblick in die verschiedenen Herausforderungen bei der Umsetzung einer Microservices-basierten Anwendung und diskutiert verschiedene Lösungsansätze, Patterns und Best Practices.
Hinterlasse einen Kommentar