Speaker

Merlin Bögershausen

Merlin Bögershausen

Software Architect and Engineer - Oracle ACE

Software Architect und Engineer - Oracle ACE

Herne, Germany

Actions

Merlin is a Software Engineer, Architect and Oracle ACE with over 10 years of experience in different domains and languages. His main focus is Java Enterprise Applications with modern and Next-Generation Java. As a Migration Engineer, he helps teams and individuals utilize new features and supports them in migrating. Besides developing, speaking at conferences and his parental role, he tries to participate in community events, teach folk to land gliders (yes, I am a Flight Instructor!) and play volleyball.

Merlin ist Softwareingenieur, Architekt und Oracle ACE mit über 10 Jahren Erfahrung in verschiedenen Bereichen und Sprachen. Sein Schwerpunkt sind Java Enterprise Applications mit modernem und Next-Generation Java. Als Migration Engineer hilft er Teams und Einzelpersonen bei der Nutzung neuer Funktionen und unterstützt sie bei der Migration. Neben der Entwicklung, dem Halten von Vorträgen auf Konferenzen und seiner Rolle als Elternteil versucht er, an Veranstaltungen der Gemeinde teilzunehmen, Leuten das Landen von Segelflugzeugen beizubringen (ja, ich bin Fluglehrer!) und Volleyball zu spielen.

Awards

Area of Expertise

  • Information & Communications Technology

Topics

  • Core Java / Java SE
  • Java & JVM
  • Architecture
  • Modernization
  • Open Rewrite
  • Migration Engineering

Open Rewrite – Dive in Automated Refactoring

Refactorings are proactive actions aimed at enhancing code quality without altering its behavior, effectively minimizing the risk of introducing new bugs. Despite being occasionally dismissed as 'costs, ballast, or dumb work,' it's essential to recognize that small refactorings represent significant rebuilding efforts, comparable to tasks such as updating frameworks or enforcing coding standards.
Software engineers and IT managers grappling with modernization challenges will find this session invaluable. Open Rewrite empowers them to streamline refactoring efforts, significantly reducing manual work and ensuring reproducibility. Its architecturally sound design facilitates easy integration into existing workflows, supporting code compliance and fostering high-quality development practices.
By the end of this session, attendees will have gained a foundational understanding of Open Rewrite. This knowledge serves as a springboard for minimizing efforts, ensuring reproducibility, and unlocking avenues for continued high-quality development in the realm of code modernization.

Data Oriented Programming in Java

I will demonstrate the use of Records, Sealed Classes, all Patterns, Switch Expressions, Text Blocks and String Expressions in my [Data Oriented Java](https://github.com/MBoegers/DataOrientedJava) example project. I will take the attendees on the journey from modelling the Domain to implementing the logic, with a brief intro to every new feature we discover. In the end, attendees will have a grounded understanding about:
How to model for DOP in an OOP Environment?
How to make use of Patterns, Text Blocks and String Expressions?
In which direction modern Java evolved?

Java 21 des täglichen Gebrauchs

Mit Java 21 kommt im Herbst 2023 ein neues Long Term Support Release auf uns Java Entwickler:innen zu. Projekt Amber leistet eine der größten und für Day-to-Day Entwickler:innen den wichtigsten Beitrag zu diesem Release. Nun ist es an der Zeit, die Neuerungen ins Visier zu nehmen, um im Herbst vorbereitet zu sein. Wir werden uns anhand der einzelnen Releases ansehen, welche Entwicklung Java als Sprache erfahren hat und im Laufe des Vortrags einen Überblick über das brandneue Sprache Java 21 erhalten.

Barrierefreiheit im Web

Menschen mit Sehbehinderung, Gehörlose oder Schwerhörige, motorische- und kognitive Beeinträchtigungen die Liste an Gründen die es erschweren können das Internet zu verwenden sind vielfältig. Um Personen mit Beeinträchtigungen gleichberechtigt den Umgang mit Internetangeboten zu ermöglichen sollten in der Entwicklung die W3C Web Content Accessibility Guidelines beachtet werden.

In dieser Session zeige ich was Ihr beachten solltet um ein barrierefreies Webangebot zu schaffen. Wir werden low hanging fruits sehen, Don'ts verstehen und Werkzeuge kennen lernen um das Web Barrierefrei zu machen.

Jewel Java - What Project Amber offers for developers

Java's language features are considered aged and very ceremonial. Verbose source code and workarounds for missing features are the results. It reduces the readability, comprehensibility and last but not least, the productivity of Java developers.
The OpenJDK project Amber attacks these weaknesses of Java with unspectacular JEPs. They only show their full potential in combination and are significant steps for developer productivity.
In this talk, I will show you the results of project Amber and demonstrate the potential of the new language features in combination.

This talk gives a tour through Project Ambers JEPS and shows their potential.

Java 17 Sealed class Basics

Das Konzept von verschlossenen Klassen ist kein neues. Mit ihnen soll die Erweiterung der Klassenhierarchie durch Externe unterbunden werden. Java kenn dafür seit vielen Jahren die final-classes. Was, aber wenn die Klasse nur für den Benutzter verschlossen sein?
Hier hilft die JEP-409 die mit Java 17 das Konzept der sealed classes einführt. Mit sealed classes bekommen Java Entwickler die volle Kontrolle über die Vererbungsmöglichkeiten ihres Codes.
Wie man dieses Features benutzt kann und wie sie mit anderen neuen Java Features wie Pattern Matching zusammen spielen möchte ich in dieser Session beleuchten.

Kickstart your migrations - the basics of Migration Engineering with OpenRewrite

In recent years, development in the Java ecosystem has accelerated. Whether Java SE, Jakarta EE or Spring Boot - the releases and end-of-support messages are chasing each other. The number of necessary migrations is exploding and the feature pressure is not letting up.

With the open source tool OpenRewrite, migrations can be applied to projects in an automated and scalable way. The large and growing number of ready-made migrations offers solutions for many situations. Additional requirements can be implemented quickly thanks to the configuration and combinability of existing migrations. More complex adaptations are easy to implement thanks to the direct integration of Refaster templates.

This session covers the range of functions and the integration of OpenRewrite into existing projects. The basics of test-driven development of migrations will also be covered. Participants in this session will learn the basics of OpenRewrite and receive valuable tips for regular use.

A demo guided tour through the basic features of OpenRewrite needed for basic Migration Engneering Tasks.

LevelUp your Migrations - Advanced MigrationEngineering with OpenRewrite

With the open source tool OpenRewrite, migrations can be automated and executed in a scalable manner. However, every migration should be preceded by a needs analysis. What options are there if the result does not meet expectations or steps are missing?

With data tables, OpenRewrite migrations can extract detailed information from the source code and make it available for analysis. The same API is used to influence the information collected as for project-specific migrations. The resulting migrations can be stored as recipe artifacts and applied to other projects as required. Reuse reduces the effort required for further frustration-free migrations.

In this session, the necessary concepts such as Data Tables, Impertative Java Recipes, Recipe Artifact and Java Templates for extensive migration engineering with OpenRewrite are taught. After this session, participants will know the most important constructs for planning, defining and executing project-specific migrations.

A demo guided tour through the advanced, yet crucial features of OpenRewrite for Migration Engineering.

More action, more overview - concurrent programs with Java Preview features

What actually happens here and when? When does it stop, how is communication between activity strands handled? And what happens if an error occurs? This kind of confusion doesn't have to be (anymore)!

Java 23 introduces some new APIs in the context of concurrent logic: Scoped Values can pass data from a thread to its child threads, and Structured Concurrency makes it easy to treat concurrent tasks as a single unit. These features combined with Virtual Threads make concurrent programming with Java easy.

In this session we will look at what's new in concurrent programming with Java. The new APIs will make your concurrent logic easier to understand and easier to implement.

Demonstration of Structured Concurrency and Scoped Values in action.

Migration Engineering Example - Experiences in catapulting from Java EE/Spring

Great joy in the development team of a customer project: JBoss 8 and Java 17 finally get the sluggish infrastructure moving. Great joy is followed by sheer horror on the part of the project management when it becomes clear how much effort is involved in migrating the Java 8 applications. Many other teams will have a similar experience to us, but there is a way through the confusion.

With Eclipse Transfomer, Spring Boot Migrator and OpenRewrite, there are tools to help teams carry out large migrations. We used them to migrate our applications from Java EE 7 and Spring Boot 2.6 to Spring Boot 3.2 and Jakarta EE 10. At the end, we had five technologically modernized applications and still enough time to implement further features.

In this session, I would like to share my experiences from several tool-supported migrations. The participants can expect a comparison of the alternatives, pitfalls found and tips from the practice of a migration engineer.

And session about the joy and pain of Migration Engineering for Enterprise projects.

Merlin Bögershausen

Software Architect and Engineer - Oracle ACE

Herne, Germany

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top