IT-Vorträge für Sie und Ihr Team!
Die Vorträge dauern in der Regel 60 Minuten und geben Einblick in neue Technologien und Möglichkeiten im Umgang mit Java. Sie werden anschaulich und praxisnah dargestellt. Die Präsentationen, wie auch Praxisbeispiele, stehen den Zuhörern später als Download zur Verfügung. Die Vorträge sind bereits praxiserprobt und wurden auf Konferenzen und User Groups bereits gehalten. Der Referent steht nach den Vorträgen gerne Rede und Antwort. Unsere Vorträge:
Was geht mit Java 17?
Seit Mitte September 2021 steht mit Java 17 das aktuelle LTS-Release von Java zur Verfügung. Viele Projekte nutzen aber noch Java 8 oder aber schon Java 11, ohne vielleicht wirklich die neuen Features dieses vorhergehenden LTS-Releases aktiv zu nutzen. Also sollten wir einmal zusammenfassen, was es aus der Sicht des "typischen" Java-Entwicklers bzw. des "normalen" Java-Projektes an interessanten Neuerungen gegeben hat. Stichworte sind Variablen-Deklaration mit var, switch als Ausdruck, Text-Blöcke usw. Was ist denn aus dem Modul-System JPMS geworden?
Und gibt es auch "fundamental" Neues, wie es die Lambda-Ausdrücke bei Java 8 waren? Diese Frage führt uns zu dem Hauptthema des Vortrags, nämlich den algebraischen Datentypen aka Records und Sealed Classes und deren Nutzung beim Pattern Matching. Im Ausblick schauen wir auf Kommendes: mehr Pattern Matching und die "Wiederauferstehung" von Vector<E>. --- Realisierung von Prozessanwendungen auf Basis von Jakarta EE und der Camunda BPMN Platform.
Was sind denn eigentlich Prozessanwendungen? Wie unterscheiden sie sich von den klassischen Anwendungen auf der JEE-Plattform? Und was ist eigentlich BPMN? Alle diese Fragen sollen in diesem Vortrag geklärt und besprochen werden. Und noch viel mehr als das. Wir möchten Ihnen die Funktionsweise solch einer Prozessanwendung und die Schritte, die zur Entwicklung einer Anwendung notwendig sind, aufzeigen.
Wenn wir von einer prozessorientierten Modellierung sprechen, dann müssen wir uns auch mit aufgabenorientierten Anwendungen auseinandersetzen. Denn Prozesse bestehen zum einen aus automatisierten Abläufen und zum anderen aus manuellen Aufgaben, die von "realen" Personen ausgeführt werden. All das wird im Vortrag anhand einer Beispielanwendung gezeigt.
---
Mehr Dynamik bitte – Skriptsprachen in Java einbinden (JAX 2021 Vortrag)
In Softwareentwicklungsprojekten stellt sich häufig die Aufgabe, Teile der Gesamtanwendung so an die gewünschte Umgebung anpassbar zu machen, dass algorithmische Änderungen auch ohne ein neues Deployment/Release in Betrieb genommen werden können. Natürlich kann ein solches Szenario durch die Entwicklung einer eigenen Kommando- oder Formelsprache gelöst werden, aber einfacher und vermutlich mächtiger ist die Nutzung von Skriptsprachen wie Beanshell, Groovy oder JavaScript. Diese sind alle bereits vorhanden und laufen auf der JVM. Der Talk führt in die Nutzung von Skriptsprachen in Java ein, demonstriert dies mit einigen Beispielen und wirft abschließend einen Blick auf die Performanz der Skripte.
---
Dream-Team Jakarta EE und MicroProfile (JAX 2021 Vortrag)
Enterprise-Anwendungen müssen kleiner werden. Die Zeit großer Monolithen ist für viele vorbei – Microservices versprechen kürzere Release-Zyklen und leichtere Innovation. Wer nun der Meinung ist, dass das mit Jakarta EE nicht geht, liegt falsch. MicroProfile ergänzt das Serverangebot um Dinge, die im verteilten Cloud-ready-Umfeld benötigt werden. Konfiguration und Überwachung werden damit ebenso zur Kleinigkeit wie fehlertolerante Kommunikation zwischen Services. Mit MP 4.0 kommen u. a. Reactive Messaging und GraphQL hinzu. Cool ist zudem, dass das Ganze sowohl mit klassischen Servern wie WildFly oder Open Liberty funktioniert, aber auch mit Frameworks wie Quarkus implementiert werden kann.
---
Quarkus reloaded 2.x
Quarkus ist ein Framework für Enterprise-Anwendungen, Microservices und Self-contained Systems, über das wir im Expertenkreis schon früher berichtet haben - zuletzt vor über einem Jahr. Zeit für ein Update, denn das Quarkus-Ökosystem wächst rasant. Wir schauen u. a. auf Continuous Testing und Dev Services sowie die Extensions für Panache, Flyway, Picocli und GraphQL. Kaum Folien, viel Code. Lassen Sie sich überraschen!
---
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick auf die Version 10
Enterprise Java wird in diesem Jahr 22 - zumindest, wenn man den Standard betrachtet, der eine teilweise bewegte Vergangenheit mitbringt. Die von Sun Ende 1999 veröffentlichte Version 1.0 der J2EE ("Java 2 Platform, Enterprise Edition") war aus heutiger Sicht viel zu kompliziert, umfasste aber durchaus bemerkenswerte Konzepte. Ab der Version 5 (nun "Java EE") wurde die Plattform leichtgewichtig durch Dependency Injection à la Spring und die Nutzung von Annotationen statt XML-Deskriptoren. Bei Java EE 7 stand dann Oracle als Linzenzinhaber vermeintlich auf der Bremse: Die Weiterentwicklung stagnierte und viele sagten der Plattform einen baldigen Tod voraus.
Die Version 8 wurde dann doch in 2017 veröffentlicht und dann - glücklicherweise - die Übergabe des Gesamtprojektes an die Open-Source-Organisation Eclipse Foundation durchgeführt. Aus Copyright-Gründen ändert sich der Name nun ein weiteres Mal in "Jakarta EE" und zudem müssen Paketnamen geändert werden. Dies bedeutet zwar einen "Breaking Change", bietet aber gleichzeitig die Chance, veraltete Anteile zu entfernen. Die eng mit JEE verknüpfte Open-Source-Spezifikation MicroProfile macht die Plattform bereit für Cloud und Microservices.
Wir schauen im Vortrag auf den derzeitigen Stand und auf das angekündigte Release Jakarta EE 10.
---
Serverless Systems: The Future is Here
Serverless ist zurzeit eines der populärsten Cloud-Themen in der Welt der Softwareentwicklung. Mehr und mehr Unternehmen nutzen Serverless um schneller Innovationen voranzubringen und die operativen Aufgaben an einen Cloud-Anbieter abzugeben. Aber welche Systeme können wir mit Serverless Funktionen eigentlich erstellen? Und wie kann ich mit Serverless Funktionen eigentlich starten? In diesem Vortrag werden wir uns zum einen die Grundlagen von Serverless Funktionen anhand von AWS Lambda anschauen. Zum anderen werden wir typische Anwendungsfälle für Serverless Systeme kennenlernen. Anstatt dies alles theoretisch über Folien zu lernen, werden wir in den Code und verschiedene Architekturen sehen, um ein besseres Verständnis der folgenden Themen zu erhalten:
- AWS Lambda: Wie schreibe ich eine Serverless Funktion in Node.js und Java?
- Skalierbare Serverless REST APIs bauen
- Zuverlässig Daten speichern und behandeln
- Verarbeiten von Nachrichten aus Queues
---
Vom Monolithen in die verteilte JEE-Welt
Eine komplexe Großrechner-Anwendung (der Monolith) für das gesamte Kerngeschäft, stark verwobener COBOL- und Java-Code und eine sehr große, unternehmensweite Datenbank: unser langjähriger Kunde hatte einen Handlungsbedarf. Im Rahmen eines Consulting-Einsatzes wurde eine Ziel-Architektur für die Migration der Unternehmens-Anwendung konzipiert und als Referenz-Implementierung evaluiert. Als Methodik für die Zusammenarbeit von Fachabteilungen und Anwendungsentwicklung wurde das Domain-Driven Design (DDD) eingeführt. Die technische Umsetzung erfolgt durch verteilte Software-Komponenten auf Basis der Java / Jakarta Enterprise Edition (JEE). Jens Seekamp berichtet von seinen Erfahrungen in diesem Großkundenprojekt und geht auch auf die durchgeführten Trainings-Maßnahmen zur Qualifizierung der involvierten Software-Entwickler ein.
---
Microprofile-Anwendungen mit Quarkus
*Supersonic Subatomic Java" verspricht der neue Stern am Himmel der Microservice-Frameworks namens Quarkus. Tatsächlich lassen sich mit Quarkus schnell und einfach Services erstellen, die klein, performant und reaktiv sind, perfekt in die Cloud passen und dennoch das JEE-Programm-Modell weiter nutzen. Quarkus basiert auf MicroProfile, einem Subset der Jakarta EE mit diversen Ergänzungen für die Erstellung verteilter, cloud-ready (Micro-)Services. Devs werden den Developer Mode für schnelles, iteratives Entwickeln schätzen und Ops die nahtlose Integration in Container-Technologien sowie die ultraschnellen Startzeiten im Native Mode. Dieser Talk gibt einen Überblick über Quarkus inklusive diverser Live-Demos. -> Artikel zum Thema
---
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und betreiben
Containerbasierte Umgebungen wie Docker sind im Mainstream angekommen. Orchestrierungsplattformen wie Kubernetes versprechen eine skalierbare Verwaltung von Containern. Es spricht einiges dafür, dass aus einer Menge von Java-Quellen zukünftig nicht ein JAR oder WAR gebaut wird, sondern eben ein Container-Image. Damit einher geht eine Neuausrichtung des Entwicklungs- und Deploy-Prozesses weg von manuellen Arbeitsschritten hin zu einer eher industriellen Vorgehensweise mit wiederholbaren und nachvollziehbaren Schritten. Dieser Vortrag zeigt, wie mit Docker, Kubernetes, Git und Jenkins effizient Anwendungen in Produktion gebracht werden können. Einige Folien, viel Live-Demo.
---
JEE und Micro – kein Widerspruch!
Die klassische Enterprise-Welt nutzt Server wie WebSphere oder JBoss/WildFly, um darauf große WAR- oder EAR-Files zu deployen. Wenngleich dieses Modell im traditionellen Server-Betrieb sehr gut funktioniert, so erscheint es doch recht schwergewichtig und wenig geeignet für moderne, verteilte – ggf. Cloud-basierte – Services. „Mit Java EE kann man moderne Sachen nicht machen“ ist eine leider verbreitete Ansicht. Vermeintlich leichtgewichtige Alternativen locken – allen voran Spring Boot. Aber stimmt das so? Bei genauerer Betrachtung erscheinen die konkurrierenden Konzepte nahezu deckungsgleich. Zudem bieten das Microprofile und diverse darauf basierende Implementierungen genau die vielfach vermissten Leichtgewichteigenschaften: Kein separater Server, kleiner Footprint, einfache Konfiguration, Health Monitoring u. v m. Angenehm ist, dass das Programmkonzept davon unberührt bleibt, d. h. EE-Entwickler können sehr schnell leichtgewichtige Services entwickeln, ohne komplett umlernen zu müssen.
---
Angular und JEE - Wieso, weshalb, warum (und wie)?
Webanwendungen in JEE werden mit JSF implementiert, ist es doch das Framework welches im Standard vorhanden ist und seit Jahren erfolgreich in Projekten eingesetzt wird. Wirft man einen Blick über den Tellerrand, kommt man dieser Tage jedoch an einem ganz anderen Framework nicht vorbei: Angular. Also warum nicht mal Angular? Oder vielleicht besser: "Warum"? In dieser Session schauen wir uns die Beweggründe an, warum auch für JEE-Projekte ein JavaScript-Frontend interessant sein kann und bringen in einem praktischen Beispiel "einfach" und "mal eben" JEE und Angular zusammen. Wie einfach ist die Ver-wendung von JavaScript-Anwendungen im Zusammenspiel mit Java EE? Welche Stolpersteine gibt es auf Java-Seite? Und worauf sollte geachtet werden, wenn Java als Backend für eine JavaScript-Anwendung verwendet wird?
---
Domain-Driven Design (DDD) und JEE - ein Widerspruch?
Durch Java EE haben wir in der Vergangenheit verlernt, durchgängig objektorientiert zu entwickeln. Viele Anwendungen nutzen anämische Fachobjekte und implementieren die Geschäftslogik in separate Services, was einen Bruch der Konzepte der Objektorientierung darstellt. Kann man das denn mit Java EE / Jakarta EE richtig machen - lässt JEE DDD zu? Die Antwort ist ein klares "Ja", wenn man die ausgetretenen Pfade der massenhaften Tutorials verlässt. In diesem Vortrag wurde gezeigt, wie die Building Blocks des DDD auf JEE-Klassen abgebildet werden können, um übersichtliche und wartbare Anwendungen zu erhalten.
---
Java Batch: Der Standard für‘s Stapeln
Die Java-EE-Welt hat sich lange um das Thema Batchverarbeitung gedrückt, was zur Entwicklung von Frameworks wie Spring Batch geführt hat. Die Hintergrund-Verarbeitung von (i. d. R.) Massendaten ist aber ein wichtiger Bestandteil vieler Enterprise-Anwendungen, dem die Integration von „Batch Applications for the Java Platform“ (JSR 352) in den Standard Java EE / Jakarta EE Rechnung trägt. Der Vortrag stellt die Grundzüge der Offline-Verarbeitung mit Jobs, Steps, Chunks, Splits, Flows, Decisions etc. dar und demonstriert einige Beispiele auf dem Java-EE-Server WildFly 16.
Über die Referenten
Dirk Weil ist seit 1998 als Berater im Bereich Java tätig. Als Geschäftsführer der GEDOPLAN GmbH in Bielefeld ist er für die Konzeption und Realisierung von Informationssystemen auf Basis von JEE verantwortlich. Seine langjährige Erfahrung in der Entwicklung anspruchsvoller Unternehmenslösungen machen ihn zu einem kompetenten Ansprechpartner und anerkannten Experten auf dem Gebiet JEE. Er ist Fachbuchautor, schreibt für Fachmagazine, hält Vorträge und leitet Seminare und Workshops aus einem eigenen Java-Curriculum.
Dirk Weil spricht regelmäßig auf Konferenzen und User Groups. Er wird verstärkt durch weitere Mitglieder des Enterprise Java Teams bei GEDOPLAN, die aus ihren Projekten und Schwerpunkten berichten.
Gerne halten wir die Vorträge für Sie. Sprechen Sie uns an. Wir freuen uns auf Sie.
Bitte richten Sie Ihren Wunsch an Tim Neumann:
tim.neumann@gedoplan.de
Kontakt
Haben Sie Interesse an einem Vortrag? Gerne kommen wir zu Ihnen ins Haus oder halten den Vortrag online.
Bitte kontaktieren Sie Tim Neumann:
tim.neumann@gedoplan.de
Expertenkreis Java - kostenlose IT-Vortragsreihe
Im Expertenkreis Java dreht sich alles um das Thema Java: Architekturen, Entwicklungstools, Erfahrungsberichte, Standards und einiges mehr. Die Experten treffen sich regelmäßig.
Unser Jakarta EE Blog
Hier finden Sie alle Neuigkeiten, Ideen und Kommentare rund um Jakarta EE.
Unsere Kundenzeitschrift GEDOPLAN aktuell
Seit Herbst 2010 erscheint unsere Kundenzeitschrift GEDOPLAN aktuell.
In diesem Magazin berichten wir über aktuelle Trends in der Softwareentwicklung, vornehmlich aus dem Bereich Java und Jakarta EE. Darüber hinaus finden Sie auch interessante Artikel zu Themen wie Projektsteuerung, Qualitätssicherung, abgerundet durch Erfahrungsberichte aus unseren aktuellen Projekten.
-> GEDOPLAN aktuell
Schnell ein Thema lernen? Java Short Cuts!
Unsere Java Short Cuts Themen sind dafür gedacht, "schnell" und unkompliziert ein Kurs-Kapitel zu erlernen.