Look through all of our awesome sessions sorted by the main topic!

Agile Methodologies

Sustainable Team Dynamics:  Lessons learned from half a million issues

15.05.2024 02:30 PM - Cinema 6

Dmitry Yanter, VP, Deutsche Bank Berlin Technology Center

Dive into one of the largest open-source Agile datasets comprising 458,232 issues and 3,602 sprints. The session aims to provide evidence-based insights into long-running project dynamics and answer key questions on team structures, evolving delivery patterns, and the practical integration of findings into daily development processes.

Architecture

Domain-Driven Design: A Complete Example

14.05.2024 09:00 AM - Cinema 7

Eberhard Wolff, Head of Architecture, SWAGLab

What does it actually mean to do Domain-driven Design (DDD)? This talk will walk you through a complete example and show you, how the different techniques like event storming, strategic design, and tactical design work together to support building applications.

CQRS in the Small with Java Records and jOOQ

14.05.2024 11:30 AM - Cinema 7

Simon Martinelli, Programming Architect at 72 Services LLC

Command Query Responsibility Segregation (CQRS) is a proven design pattern that enables the clear separation of data changes (commands) and data queries (queries). An essential question in the application of CQRS is whether two separate data stores are necessarily required or whether CQRS can also be used effectively to keep data in a single database. In this talk, we will deepen the understanding of the practical implementation of the CQRS principles.

Boost Delivery Stream with Code Discipline Engineering

14.05.2024 12:30 PM - Cinema 7

Miro Wengner, Principal Software Engineer at OpenValue

The evolution of application design has brought their work into a new context, much like the improvements to Java that have been added to the platform in recent years. Such progress leads to the conclusion that design patterns and anti-patterns need to be reconsidered. This presentation reveals how to increase delivery flow and improve the fast-feedback loop while identifying bottlenecks and removing obstacles from the codebase.

IT Around Data Management in Finance Industry

14.05.2024 01:30 PM - Cinema 7

Mariya Kiseleva, QA at Deutsche Bank Berlin Technology Centre

Arina Dubinich, Assistant Vice President at Deutsche Bank Berlin Technology Centre

Anastasia Troitskaya, Lead Technology ManagerDeutsche Bank Berlin Technology Centre

The data, its storage and operational processes around data management are key elements in IT systems such as trading systems for global finance markets. During the session we will overview Rates & Credit trading stack that operates 24 hours per day across the globe, market structure and participants, problems that stack is resolving and how they are addressed at Java code, stack architecture and business analysis levels.

Evolving Your APIs, A Step-By-Step Approach

14.05.2024 04:00 PM - Cinema 7

Nicolas Fränkel, Developer Advocate for Apache APISIX

When you publish your first HTTP API, you’re more focused on short-term issues than planning for the future. However, chances are you’ll be successful, and you’ll “hit the wall”. How do you evolve your API without breaking the contract with your existing users?
In this talk, I’ll first show you some tips and tricks to achieve that. The talk is demo-based, and I’ll use the Apache APISIX project for it

Mastering Java Persistence: Best Practices for Cloud-Native Applications and Modernization

14.05.2024 04:00 PM - Cinema BlackBox

Otavio Santana, Software Engineer & Architect and Open Source Committer at OS Expert

Join us for an insightful presentation as we explore the world of Java persistence in the context of cloud-native applications and modernization. Discover the fundamental principles, challenges, and strategies. From uncovering database patterns to harnessing the power of cloud-native technologies, this session will provide valuable insights for developers, engineers, and architects seeking to optimize their application's persistence layer.

Big / Fast / Smart / In-Memory Data

Enter the Brave New World of GenAI with Vector Search

14.05.2024 05:00 PM - Cinema 7

Mary Grygleski, Senior Developer Advocate at DataStax, Java Champion, President of Chicago-JUG

Let’s start by learning about Generative AI. We will touch upon as many new concepts that have popped up in the last 6-9 months, which include: Generative AI (GenAI), ChatGPT, Large Language Models (LLMs), Natural Language Processing (NLP), Vector DB, and the growing importance of Vector Search.  We will also point out the new operational concerns when it comes to managing the life-cycle of a machine learning environment. Furthermore, we will discuss the benefits of this new wave of technology as well as the challenges that it brings to the industry and the marketplace.

Databaseless Data Processing - High-Performance for Cloud-Native Apps and AI

14.05.2024 05:00 PM - Cinema 5

Markus Kett, CEO at MicroStream, Editor in Chief at JAVAPRO Magazine

EclipseStore was built to be the Java persistence for modern cloud-native systems and AI. It follows the system prevalence architectural pattern and enables databaseless in-memory data processing by using Core Java features. Different to traditional databases, EclipseStore supports the real Java object model instead of any database-specific data structure or format. The engine enables seamlessly mirroring any Java object graph of any size and complexity transaction-safe into any object storage such as AWS S3.

Simplify Persistence: Exploring Spring-Data-Eclipse-Store for your Spring application

16.05.2024 02:30 PM - Cinema 6

Johannes Rabauer, Software developer at XDEV Software GmbH

I'd like to show you an easy way to develop without SQL, mapping, or running a database server. JPA helps a lot with abstracting Java classes to tables, yet it requires a lot of overhead for Java classes. With Spring-Data-Eclipse-Store, as a drop-in alternative, one can stay Java-native and structure classes with fewer restrictions while still having Spring-Data-Repositories.

CI / CD

Making Your Testcontainers Experience Smoother

15.05.2024 01:30 PM - Cinema 6

Piotr Przybyl, Senior Developer Advocate @Elastic, Software Gardener

Integration tests are nice. We all know that and love using them, don't we?
It's just using all those databases, message brokers and other things as real dependencies, only wrapped by Testcontainers, might result in a really heavy CI/CD pipeline and developers' attitude to never run them locally, because they're so slooooooooooow.
What if I could show you a number of techniques, mindset changes and tricks to get your integration tests shortened from quarters to seconds?

Cloud

Proxies, Gateways, and Service Mesh. Why Are Words so Confusing?

14.05.2024 02:30 PM - Cinema 7

Abdel Sghiouar, Senior Cloud Developer Advocate @Google

Can you tell the difference between an API Gateway, the API Gateway, and a Gateway? What are Nginx or HAProxy anyway, are they proxies? controllers? CRD’s? resources?
Sometimes it feels like things are named in a certain way to confuse us on purpose. But don’t worry, to make things simple, we will go back to square zero. We will look at the history of all of these things, where they came from, and what purpose they serve. We will then fast forward into the Cloud Native modern world and you will not be surprised that nothing is new, we are just reusing stuff people used 10, 15, or 20 years ago.

Elastic Scalable Java Apps & Microservices with EclipseStore, Micronaut and K8s in the Cloud

16.05.2024 11:30 AM - Cinema 6

Christian Kuemmel, MicroStream, Project Manager, Senior Software Consultant

EcliseStore is a lightweight and efficient Java persistence framework that enables developers to store and retrieve objects directly in memory, without requiring a separate database management system. This session, you will explore how EclipseStore applications and microservices can be scaled horizontally in the cloud with Kubernetes and what the challenges are. But, instead of struggling with creating your own HELM charts you can use MicroStream's fully managed EclipseStore Cluster Service (MECS).

The Journey of a strongly coupled Monolith into the Cloud Land

16.05.2024 12:30 PM - Cinema 6

Daniel Krämer, Senior Software Engineer, anderScore GmbH

Dr. Lofi Dewanto, DEVK Gruppenleiter Verkaufsanwendungen

When someone embarks on a journey, they have tales to tell! This is especially true when unfamiliar paths need to be walked, sometimes in rocky terrain. In this session, we want to share our experiences from a multi-year migration project with you. Accompany a tightly coupled, production-critical Java monolith and its databases on the journey from a highly regulated insurance domain to the AWS Cloud. By the end, you'll not only learn from our travel guide which regions are particularly recommended for a stay, but also how to deal with unforeseen pitfalls and dangers.

Cloud Native

Java for Generative AI apps with Cloud Native services

16.5.2024 09:00 AM - Cinema 5

Abirami Sukumaran, Lead Developer Advocate, Google

Generative AI is a rapidly growing field with the potential to revolutionize many industries. Java is a powerful and versatile programming language that is well-suited for developing generative AI applications. In this talk, we will discuss how to build generative AI applications with core Java, Cloud Native services, spring native and LangChain4j. We will also demonstrate how to build a Q&A chatbot and analytics for YouTube videos using these technologies. This hands-on demo will show you how to use Java to build powerful and scalable AI applications.

Embracing the Cloud: A Java Developer’s Guide to Jakarta EE on The Cloud - A Real World Example

16.05.2024 09:00 AM - Cinema 6

Buhake Sindi, Senior Enterprise Software Engineer, Architect and Developer - Java & Java Enterprise (Jakarta EE) and a Jakarta EE Guardian

This talk provides a comprehensive walkthrough of how to package and deploy Jakarta EE applications to be cloud-ready for deployment. The core of the session is a detailed, step-by-step tutorial on packaging a Jakarta EE application for the cloud. This covers creating a WAR file, configuring the application for the cloud, and testing the application locally before deployment, then deploying the packaged application to the cloud. This involves creating the cloud App Service, configuring deployment settings, and uploading the WAR file.

Why You Need Performance Tests for Proper Kubernetes Scaling

16.05.2024 01:30 PM - Cinema 6

Dmitry Chuyko, Performance Architect at BellSoft

K8s helps enterprises with complex deployments and rapid scaling. But developers often solve only a part of the problem, i.e., withstanding a certain load. Hence, “default” containers behave unexpectedly leading to resource misuse, degradation, and huge cloud bills. To remedy the situation, developers are to be involved in cost optimization with KPIs agreed with the business. From a technical standpoint, this means determining SRE metrics, building efficient containers, and conducting performance tests.
In my presentation, I will show you how containers affect service behavior, and how microcontainers and native images help streamline the deployment.

Community

Conferences and Communities and How to Take the Most Out the Them

14.05.2024 09:00 AM - Cinema 6

Jonathan Vila, Developer Advocate at Sonarsource

We go to different community meetups and conferences during the year. Places to learn, to share and more importantly to meet people and discuss a common topic. It's clear the benefit that we can take from them (or not? ), but are we taking the most out of them? Can those events boost our developer careers or even change us? In this talk, I will share my own experiences being part of one Java User Group organization for more than 10 years and as a conference founder & organizer for more than 8, and also as a Speaker for more than 3 years.

Move Thoughtfully and build things

15.05.2024 10:00 AM - Cinema 5

Sharat Chander, Senior Director, Java Developer Engagement at Oracle

In the modern world we live in, the pace of innovation is moving at break-neck speed. The volume, velocity and variety of information to be mindful of as we build out the next generation of applications and solutions is hard manage. All too often, we fall into the trap of "Move fast and Break things." Unfortunately, this industry mantra has done more harm than good, leading to a world of innovation that has produced harmful (sometimes tragic results). This inspirational keynote will explore the history of innovation, identifying examples of both positive and negative approaches and the impact that has resulted in.

Core Java / Java SE

Structured Concurrency in Java - The What and the Why

14.05.2024 09:00 AM - Cinema 5

Balkrishna Rawool, IT Chapter Lead at ING Bank NV

This talk introduces Virtual Threads and Structured Concurrency and explains their benefits and shortcomings. It compares Structured Concurrency API with CompletableFuture API by live coding multiple examples with both of these APIs. A big part of the talk is live coding where multiple examples are first implemented with CompletableFuture and then with Structured Concurrency API. Also, error handling with Structured Concurrency is more explicit as it uses checked exceptions.

Java 22 - Better Language, Better APIs, Better Runtime

14.05.2024 09:00 AM - Cinema Blackbox

Nicolai Parlog, Java Developer Advocate at Oracle

Java 21 was an explosive release, but 22 is no slouch either:

  • from unnamed patterns to string templates
  • from the foreign-function and memory API to Stream gatherers and the class-file API
  • from a simpler `main` to launching multi-source-file programs

There are plenty of language, API and VM features to discuss - whether new, improved, or finalized. So let's go over them!

Monitoring Java Application Security with JDK Tools and JFR Events

14.05.2024 02:30 PM - Cinema 5

Ana Maria Mihalceanu, Java Champion Alumni, Certified Architect at Oracle

Monitoring the underlying security configuration of your Java application offers insights into its overall strength concerning cryptographic standards. Join this session and learn how to utilize keytool, JDK Flight Recorder, JDK Mission Control, and JFR Events to record your Java application security properties, monitor TLS protocol, and analyze X.509 certificate details.

Java Virtual Threads and Pipelined Database Operations

15.05.2024 09:00 AM - Cinema Blackbox

Kuassi Mensah, Director Product Management, Oracle Corporation

Operating system threads are expensive. Virtual Threads remove the need for Reactive Programming to scale Java applications.
In this session, you learn how to speed up your Java applications as well as database operations.
We walk you through reactive programming combined with pipelined database operations, then synchronous programming using virtual threads combined with pipelined database operations.

Could your Java workloads be missing out on something?

15.05.2024 11:30 AM - Cinema 5

Mark Stoodley, Chief Architect for IBM Java

In 2017, a new open source Java Virtual Machine called Eclipse OpenJ9 appeared in the Java ecosystem as a drop-in replacement for the well known Hotspot JVM with promises to reduce memory footprint and start Java applications much faster. Throughout the talk, you'll learn about tips and techniques that could help you realize OpenJ9’s full potential (even if you haven't been impressed before!), and you'll get an early glimpse at some of the new features and improvements coming soon to make Eclipse OpenJ9 and Semeru Runtimes an even better choice for your Java workloads!

Java Diary of an Uber Driver

15.05.2024 12:30 PM - Cinema 5

Werner Keil, Director, CATMedia

The Uber API lets you request Uber products for riders. You can enter your location, where you want to go, and which Uber product you would like to use. This session provides an overview of the Uber rides Java SDK, how to use it with Desktop or Cloud/Server apps, as well as on Android, in a synchronous, or asynchronous programming style.

Handling concurrent access to shared resources in Java

15.5.2024 1:30 PM, Cinema BlackBox

Sebastian Konieczek, OpenValue Düsseldorf GmbH, Senior Software Developer

Multithreaded applications are to be found everywhere. Think of RESTful micro services for example. The very nature of a classic Webserver is Multithreading as every Request is processed concurrently by an available worker thread. This means a lot of concurrent access to shared resources. And with Java’s virtual threads, there will be even more concurrency.
In this session you will learn what kind of mutex or locking strategies exist and when to choose which. I will give a brief introduction to the techniques Java has to offer and what the locking strategy behind each approach is. You will learn, what to consider when using mutexes in virtual threads.

Hidden Security Features of the JVM - Everything You Didn’t Know and More

15.05.2024 02:30 AM - Cinema Blackbox

Steve Poole, Director Developer Advocacy, Sonatype

Java 17 announced the depreciation of the Security Manager but that doesn’t mean the JVM leaves you vulnerable. There are many design features in the JVM and the JDK that are there to help keep your application safe from harm. In this session, we’ll walk through these points - from compiler, to bytecode to runtime and give you a refresher on how to get the best from these features. We’ll also look at new things in the works, compile-to-native consequences and even some off-the-wall “it’s just an idea” thoughts about how to make the JVM an even more secure environment.  

 

GraalVM for Endless Performance

15.05.2024  04:00 PM - Cinema 5

Wolfgang Weigend, Master Principal Solution Engineer Java technology & GraalVM

Im März 2024 wurde das Release „GraalVM for JDK 22“ freigegeben, mit Performance-Verbesserungen und polyglotter Unterstützung für verschiedene Programmiersprachen und sie ermöglicht damit die Interoperabilität in einer gemeinsamen Laufzeitumgebung. Im Vortrag wird die GraalVM-Architektur im Java Eco System dargestellt und die Einsatzgebiete werden erläutert, beispielsweise der in Java entwickelte C2 JIT Compiler oder die Verwendung von GraalVM Native Images. GraalVM kann für Spring Boot und Microservices-Frameworks verwendet werden.

Robust and Flexible String Templates in Java

15.05.2024 04:00 PM - Cinema BlackBox

Falk Sippach, Software architect at embarc Software Consulting GmbH

Java 21 was packed with exciting and groundbreaking innovations. In the shadow of the very present topics, string templates were relatively surprisingly introduced as a preview feature and are also included again in OpenJDK 22. We discuss the use of string templates, look at the advantages but also the limitations. By creating our own template processors, we can validate and transform the embedded expressions and ultimately create any Java objects such as JSON documents or SQL result sets from Java strings.

Replacing the Gearbox (while Driving Down the AutoBahn)

15.05.2024 05:00 PM - Cinema 6

Dan Haywood, Software Developer at Haywood Associates Ltd.

Upgrading systems might not be the most sexy of topics, but you can't put it off. This is where we found ourselves, a small team of 2.5 FTE, looking after the core business system (orders, invoices and such like) for our company, with a multi-billion EUR turnover. We basically needed to rework the app to run on a new framework, in essence retrofitting Spring Boot underneath.  (The Apache Causeway framework does the heavy lifting, sitting in between our domain app and Spring Boot). So this is a talk about how we managed to do it, by developing a number of techniques that we thought might be useful to pass along.

Java First. Java Always.

16.05.2024 10:00 AM - Cinema 5

Ana Maria Mihalceanu, Java Champion Alumni, Certified Architect, Senior Developer Advocate at Oracle

Alina Yurenko, Developer Advocate for GraalVM at Oracle Labs

As the world of modern application development rapidly evolves, Java continues to adapt to keep pace. In this keynote, Java luminaries from Oracle explore modern Java features that enable next-gen applications and discuss how Oracle’s ongoing Java technology leadership and ecosystem stewardship are creating a contemporary language and platform that helps advance developer productivity and Java community participation.

Systematically migrate to newer Java version: benefits, challenges and the future

16.5.2024 4:00 pm - Cinema 6

Mihaela Gheorghe-Roman, Software Architect at Systematic

 

Join Mihaela in this session and embark on a journey for moving away from Java 8 in a very large monolith application: upgrading to a newer Java and to newer dependencies while also adopting a microservice architecture.
Migrating all Java modules without impacting the business is challenging. However, recent Java versions have several language feature enhancements, security and performance improvements that will be beneficial for developers, stakeholders and end-users.
Find out the reasons that constituted the foundation of starting this journey, the advantages of this migration, what were the top challenges that appeared and how to overcome them!

Java 8 to >=17 Upgrade - Lessons Learned and Best Practices

16.05.2024 11:30 AM - Cinema 7

Volker Simonis, Principal Engineer, Amazon Corretto

The majority of your projects is still stuck on Java 8? Join this session to learn why you should prioritize upgrading now. In our talk, we’ll cover experiences and lessons learned from migrating a large codebase running on massive infrastructure at Amazon - a large Java user and OpenJDK contributor. Their teams have been on a perpetual journey of upgrading production systems in the last years. You’ll learn about best practices and helpful tools that can help you modernizing your own Java applications.

Reactive Streams  - Beware of Dangers!

16.05.2024 11:30 AM - Cinema BlackBox

Kuzma Deretiukm, Lead Engineer, Lead Java Developer, Deutsche Bank AG London

In my team we have been working with Reactive Streams API and RxJava implementation for several years. It is quite a convenient tool for many tasks - client APIs, responsive servers, libraries and on-demand computations.
However there are A LOT of hidden dangers in this API you will never face using classic OOP or functional programming. In the session I'll share with you our mistakes and misconceptions regarding RxJava flows that could have resulted in significant losses, if not tested thoroughly.

Java In-Memory Database-Apps with EclipseStore

16.05.2024 02:30 PM - Cinema BlackBox

Florian Habermann, CTO & Co-Founder, MicroStream

EclipseStore is a unique storage technology that stores Java object-graphs natively, which means similar as they are in the RAM, without expensive transformation to any incompatible data structure. That is the key difference to all database systems and provides you with fantastic benefits. We will take a tour through the main features, live code and in-depth description of the essential parts of the framework.

Culture & Collaboration

How-To: Build Thriving Cultures through Positive Communication

14.05.2024 11:30 AM - Cinema 6

Jeffrey McGuire, Connecting Engineering to Marketing and Sales at Open Strategy Partners

In this session, we will take you through repeatable, actionable concepts that can make your company, community, or team a truly supportive, positive, (and productive!) place. Creating and fostering a thriving, collaborative culture is one of our critical responsibilities as leaders, whether in open source or elsewhere. We will share our experience and notes on creating human-first, strategic content for tech companies, agencies, and open source projects while building a tightly-knit team to deliver it ... and making our days more pleasant along the way.

Leader in the Land of Dilemmas

14.05.2024 12:30 PM - Cinema 6

Paweł Zajączkowski, Development Manager at Xebia Poland

Leaders struggle with unclear choices every day, when following their path. What factors should be taken into account when making difficult decisions? How to navigate the meanders of different personalities, organizations and a changing business environment? How to balance time, money and emotions while maintaining internal consistency? If only there were some magic box into which, on the one end, we put the description and context of the situation, and on the other, we receive instructions on what to do...

Supposedly heading the team, but often alone. So let's go on an adventure and face these dilemmas together.

It Takes More Than LGTM to Do A Proper Code Review

14.05.2024 01:30 PM - Cinema 6

Hinse ter Schuur, Senior Java Software Developer at SDB Professionals

A lot of us do code reviews (aka pull requests) on a daily basis. Some people like them, some people don't. Asking for a code review and getting the feedback could cause uneasy feelings. Providing the feedback on a code review could be challenging too. What to look for and how to provide the feedback. In this talk we will look into why we do code reviews and how to get the most value out of these reviews. We'll cover best practices and do's and don'ts about code reviews.

Silent Figures: The Secret History of Autistics in Tech

14.05.2024 02:30 PM - Cinema 6

Helvira Goma, Elephpant rider / Founder of Motiv'Her

In the vast tech landscape, a silent forest conceals a remarkable group of individuals known as the Autistics. We navigate our unique world, driven by an unwavering coding passion. Once voiceless, some of us have emerged as tech luminaries, vital to the industry's progress. Major tech firms now recognize the Autistics significance. Then, what connects us to Tech History? Why do exploring code lines appeal more to us than living human experiences? During this talk, we will explore the untold Autistic narrative in tech and envision a harmonious future where both autistic and tech worlds unite.

Evil Tech: How Devs Became Villains

14.05.2024 04:00 - Cinema 6

Sergès Goma, Software Developer at Eveasoft

Once upon a time, developers were the unsung heroes of our world. However, today, software engineers often find themselves under scrutiny for their roles in creating data-gathering apps, facial recognition software in CCTV systems, and the constant tracking of citizens through GPS, among other issues. During this talk, we will delve deep into the complex relationship between technology and ethics, and explore how developers navigate the fine line between progress and principles.

Why We Do What We Do - Motivation in Softwareteams

14.05.2024  05:00 PM - Cinema 6

Julius Mischok, Gründer und Geschäftsführer der Mischok GmbH

Wir alle kennen Kolleg:innen, mit denen wir uns wie blind verstehen. Sie stellen die richtigen Rückfragen zum richtigen Zeitpunk, kommunizieren initiativ und übernehmen Verantwortung über die eigene Aufgabe hinaus. Was treibt solche Personen an und wie kann ich selbst so eine Person werden?
Im Vortrag betrachten wir fundierte wissenschaftliche Erkenntnisse und wagen die Adaption auf den Alltag in Entwicklungsteams. Spoiler: Die gewünschte, intrinsische, Motivation lässt sich beim Gegenüber leider nicht aktiv wecken. Es gibt jedoch Wege, ein möglichst motivationsförderndes Umfeld zu schaffen. Neben der Theorie werden konkrete Tools für Teams und Individuen vorgestellt.

Open sourcing a library: how hard can that be?

16.05.2024 12:30 PM - Cinema 5

Johan Hutting, Developer advocate at ING

Open sourcing your code seems easy these days. Libraries however pose some interesting challenges: your consumers and dependencies change, you'll need to submit it to a repository, and the added need for proper documentation. In this talk we'll cover the benefits of open sourcing your library as well as the steps you'll need to take using a real-world example. We'll also cover some of the added challenges you'll face such as releasing to Maven central, keeping your code up to date and secure as well as the altered consumers of your code. This session will equip you with a comprehensive understanding of the challenges and benefits of open sourcing a Java library, enabling you to open, or perhaps start writing, your own.

What "Stairway to Heaven" Can Teach Us About Software Development

16.05.2024 01:30 PM - Cinema Blackbox

Hanno Embregts, Java Developer by day, musician by night. A bit of both at conferences.

One of the most iconic rock songs ever written starts with the line "There's a lady who's sure all that glitters is gold..." and chances are you know the rest of the lyrics by heart. Though one could argue that this ability is rather useless. It's not like it makes you a better software developer, right? Right?! Allow me to change your mind! I know that the lyrics to "Stairway to Heaven" have sparked countless online debates over its meaning, but being a developer and a musician, I think it is actually about software development. So during this talk I will perform snippets of the song, explain why I think it is about software development and how your next software project can be better because of it.

Developer Productivity

Open Rewrite – Dive in Automated Refactoring

15.05.2024 09:00 AM - Cinema 7

Merlin Bögershausen, Software Engineer - adesso SE

Refactorings are proactive actions aimed at enhancing code quality without altering its behavior, effectively minimizing the risk of introducing new bugs.
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.
By the end of this session, attendees will have gained a foundational understanding of Open Rewrite.

Accelerating Maven Builds: From Snail's Pace to Rocket Speed

15.05.2024 11:30 AM - Cinema 7

Benjamin Marwell, System Engineer @ Finanz Informatik // Maven PMC

Maarten Mulders, IT Architect @ Info Support // Java Champion

Are you tired of watching Maven builds crawl at a snail's pace, wasting precious development time? Join us to learn how to supercharge your Maven build! We'll cover three main mechanisms that you can apply in your project. Learn how each speeds up your build, when they provide the biggest gains, and what pitfalls await. So take the next step in boosting your developer productivity by learning practical tips to decrease context switching and increase development speed and feedback cycle.

Going beyond ORMs

15.05.2024 05:00 PM - Cinema 7

Andres Almiray, Seasoned Sourceror at Oracle

Often times developers had to configure data marshalling options to transform data into business objects, into persistent data, and back again. Perhaps it would make more sense to use JSON across the business pipeline without sacrificing performance nor missing benefits from the relational data world. this is what JSON Duality Views propose. In this session we'll explore options to enhance data driven applications written with Spring Boot, Quarkus, and Micronaut, enhancing your developer experience and increasing customer satisfaction.

RapidClipse and MicroStream

15.05.2024 05:00 PM - Cinema BlackBox

Christian Kuemmel, MicroStream, Project Manager, Senior Software Consultant

A full-stack Developer usually means you know how to build a web application using HTML, JavaScript, CSS, Angular, React, TypeScript, Java, SQL, NoSQL, and many cloud services. That's great, but there are also a lot of things to know and keep up to date with.I propose another solution: Why don't we use Java? Focusing on just one technology stack allows us to master this part and be more productive. In this session, I'll show you how to use RapidClipse and EclipseStore to create complex web apps with only basic Java knowledge.

Developer Productivity Engineering: What's in it for Java Developers?

16.05.2024 11:30 AM - Cinema 5

Brian Demers, Java Champion & Gradle Developer Advocate

Developer Productivity Engineering (DPE) is the Next Big Thing in Software Development. But what is it? How will it foster Developer Joy? And how can you introduce it to your organization? Welcome to the world of Developer Productivity Engineering, where we can get computers to do what they're good at (automation) to make developers' lives easier and make us more effective at our jobs. In this talk, Brian will explore what DPE is, give you some practical ways to speed up your Maven and Gradle builds, and discuss ways to help the leaders in your organization to understand the enormous value DPE could unlock.

Wired 2.0! Create your ultimate learning environment

16.05.2024 05:00 PM - Cinema 7

Simone de Gijt, OpenValue Amsterdam, Kotlin & Java Software Developer

Every day, we learn: good patterns, bad patterns—the brain doesn’t differentiate! However, for us to simply say, “I learn while I do,” might be a bit too easy. Or, at least, one might wonder if it’s the most efficient and satisfying way to learn. During this talk, you'll learn how our brains absorb and retain new information. Afterward, we’ll explore how you can create the best conditions and environment for your specific learning needs. Among other things, we’ll cover what has scientifically been proven to be the ideal learning blocks regarding time and content. We’ll discover how to create an environment that improves our focus and remain in the “flow.”

DevOps

Buildpacks – What’s That, and How Does It Work?

15.05.2024 09:00 AM - Cinema 6

Michael Vitz, Java Champion working as Senior Consultant @ INNOQ

In today’s world of microservices and cloud deployments, all roads lead to container images. Using Buildpacks is one way to assemble your application’s source code into a container image. In this talk, we’ll first explore the advantages and disadvantages of using this approach. Afterward, we’ll dig down into the internals and learn how Buildpacks work by creating our own.

Git Best Practices: Branching und Merging

15.05.2024  11:30 AM - Cinema 6

Halil-Cem Gürsoy, Principal DevOps Engineer at Capgemini

In Projektteams und Organisationen, die Git zur Versionsverwaltung einsetzen (wollen), entbrennt häufig die Diskussion, welche Branching-Strategie nun denn im Allgemeinen am besten ist, welche für das Projekt oder die Organisation besser geeignet ist und welche am Ende tatsächlich auch genutzt werden soll. In dieser Session möchte ich euch daher verschiedene Git Branching- und Merge-Strategien vorstellen (Stichwort Merge gegen Rebase), die sich bisher in meinen Projekten gut oder grad auch nicht bewährt haben.

Get the Slides

DevOps for Java Developers (Or Maybe Against Them?!)

16.05.2024 12:30 PM - Cinema BlackBox

Baruch Sadogursky, Principal Developer Productivity Engineering Advocate, Gradle

"DevOps" is the operations people’s crafty plan to make Java developers do other people's work, but we are smart enough to see right through this naive rebranding trick! Now, out of the blue, a bunch of "thought leaders" (all with an operations background, mind you!) are trying to tell us that we have to learn YAML, Docker, Kubernetes, and Terraform to deploy our software because suddenly it is our concern?! In this talk, we'll discuss why Java developers do or don’t need DevOps. We'll consider arguments made by DevOps visionaries and see whether they hold water.

IDE & Tools

Using Static Analysis Tools to Become A Superhero Programmer

14.05.2024 02:30 PM - Cinema BlackBox

Jamie Coleman, Software Developer/Advocate at Sonatype

There is always that one person who never really has any issues with their code. They follow the latest coding practices and introduce minimal bugs and vulnerabilities, all while drinking vast amounts of caffeine. Maybe it’s just all the caffeine, but why does that not work for me?  This is where static analysis tools come in to save the day and give us simple mortals superpowers. In this session, I will talk about what static analysis tools are, how they came to be a thing, what superpowers they can provide developers, and how they can help make the world a more secure, maintainable and efficient place. I will also demonstrate one of these tools to show you the power and potential they hold.

Apache Maven 102: Best Practices

15.05.2024 02:30 PM - Cinema 7

Brian Demers, Java Champion & Gradle Developer Advocate

Know enough about Maven to get by, but not enough to thrive? Then this talk is for you. We will review the basics and then dive into the best practices for both Maven single and multi-module projects. You will also walk away with enough knowledge to troubleshoot your builds.

Codespaces, Gitpod, Devpod ... what cloud and container-based IDEs can do for you

16.5.2024 5:00 pm - Cinema 6

Matthias Haeussler, Chief Technologist at Novatec

Explore the evolving landscape of cloud-based integrated development environments (IDEs), focusing on Gitpod, GitHub codespaces and Devpod. Compare and contrast these cloud IDEs with traditional counterparts, emphasizing the role of container technology, specifically the devcontainer specification. The discussion includes advances, existing limitations, and the potential for developing polyglot, container-based distributed applications. A live demo illustrates the rapid setup and coding process across various languages and frameworks, showcasing testing capabilities and seamless deployment to Kubernetes. Discover how custom additions enhance flexibility. Additionally, uncover the impact of cloud IDEs on teaching and team projects, ensuring consistent development setups for enhanced efficiency and streamlined processes.

Weeding Your Micro Service Landscape

15.05.2024 02:30 PM - Cinema 5

Tim te Beek, Staff software engineer at Moderne

New microservices often start from reference templates of other microservices. But when those copies drift apart, your landscape grows wild and becomes difficult to maintain. Code changes that are not well thought out can lead to hard-to-find bugs and inconsistencies. We’ll explore automation to help your services quickly conform to higher standards again. We’ll apply and update build tool wrappers, modernize your test suites, clear out unused feature flags, upgrade Java versions and frameworks, standardize pipelines, and adopt new libraries and language features. For this, we’ll look at OpenRewrite and the Moderne Platform and CLI, for reliable automated code changes.

Maven 4 - Aktueller Stand der Entwicklung

15.05.2024  04:00 PM - Cinema 7

Karl Heinz Marbaise, Apache Maven PMC Chaiman

Es gibt schon eine Apache Maven Version 4.0.0, interessant ist nur, dass die Zahl der Benutzer doch sehr überschaubar ist. Ich möchte in dem Vortrag die unterschiedlichen Verbesserungen von Apache 4.0.0 mithilfe von Beispielen darstellen. Welche Verbesserungen und Anpassungen wurden bisher in Apache Maven 4.0.0 gemacht und welche Vorteile bietet die neue Major Release im Vergleich zu Maven 3.X ? Erweitert wird der Vortrag um Themen, die möglicherweise die Rückwärtskompatibilität brechen könnten.

Jakarta EE & MicroProfile

Jakarta EE 11 - Performance and Developer Productivity

16.05.2024 09:00 AM - Cinema 7

Ivar Grimstad, Jakarta EE Developer Advocate at Eclipse Foundation

Jakarta EE 11 will be the first release of Jakarta EE after the new release cadence was introduced. With Java 21 released in September 2023, Jakarta EE 11 is scheduled to be released around June/July of 2024. What are the updates? Are there any new specifications introduced? What about removals? Will there be another namespace change? How will the impact of this release be on other frameworks and technologies, such as Spring, Apache Tomcat, Hibernate, and more?

Master the Cloud Native Application Standard: MicroProfile

16.05.2024 02:30 PM - Cinema 7

Emily Jiang, IBM, Cloud Native Architect and Chief Advocate

You might have heard of MicroProfile being talked about in the past few years. So far, about a dozen runtime, such as Open Liberty, Quarkus, Helidon, Payara, TomEE, Apache Geronimo, etc, support MicroProfile and it has become a standard for developing cloud-native microservices Come to this session to learn everything you need to know about MicroProfile and get your knowledge up to date with the latest update of MicroProfile, MicroProfile 6.1, with a live demo to showcase how easy to master MicroProfile.

Other

ML in Java, YES it's possible!

16.05.2024 09:00 AM - Cinema BlackBox

Mohammed Aboullaite, Backend engineer, Spotify

When you think about building and/or deploying machine learning models, Java is not within the top 3 languages that we generally think of. With the AI buzz spiking in the past month, All developers, and especially Java developers, need to understand how to build and run apps that use ML. In this session we are going to explore what are our options, as java developers, to build, save and run machine learning models. We are also going to discuss and compare the most 3 popular frameworks (Deeplearning4J, djl and Tribuo), along with a real world example to understand capabilities and tradeoffs of each framework.

Reading Code

14.05.2024 11:30 AM - Cinema 5

Marit van Dijk, Software Developer | Java Champion | Developer Advocate at JetBrains | Open Source Enthusiast

As developers, we spend a lot of time learning to write code, while spending little to no time learning to read code. Meanwhile, we often spend more time reading code than actually writing it.  Deliberate practice can help us get better at reading code. Learning how to better read and understand code, can in turn teach us what makes code readable. In this talk we will discuss the benefits of deliberately practicing reading code in a code reading club or session without an IDE, as well as common strategies to navigate a new codebase and familiarise ourselves with the code using the IDE.

Lessons Learned Building A GenAI Powered App

14.05.2024 12:30 PM - Cinema BlackBox

Mete Atamel, Software Engineer and Developer Advocate at Google

Everyone's excited about AI and justifiably so, but can it help us build better apps? This session will focus on a case study: a GenAI powered interactive trivia quiz app running in the Cloud. We'll explore the challenges we faced while building the app and how GenAI proved to be a game changer. Join me for a fun and educational session featuring a live demo with audience participation, and some valuable lessons learned.

Trash Talk - Exploring the Memory Management in the JVM

14.05.2024 01:30 PM - Cinema BlackBox

Gerrit Grunwald, Senior Developer Advocate at Azul Systems

In the realm of Java programming, understanding memory management and garbage collection mechanisms cannot only be helpful for optimizing performance and resource utilization, but also in general will help you to use the right garbage collector for your application. This session will be about memory allocation, object lifecycle, and garbage collection strategies within the Java Virtual Machine (JVM). Attendees will gain insights into memory allocation strategies, object retention policies, and various garbage collection algorithms like generational and concurrent collection.

Open-Source-Entwicklung ohne Kopfschmerzen

14.05.2024  04:00 PM - Cinema 5

Konstantin Diener, cosee GmbH, CTO

Nils Knappmeier, cosee GmbH, Fullstack Engineer

Wir wollen zunehmend mit unserer Arbeit in irgendeiner Form einen positiven Beitrag leisten. Die Mitarbeit an Open-Source-Projekten ist dazu eine tolle Gelegenheit.
Dabei kommt es immer wieder zu Problemen, weil die Arbeit in Open-Source-Projekten meist anders organisiert ist, als in Firmen, die agil Software entwickeln.
Ich gebe in diesem Vortrag ein paar Praxistipps, wie ihr organisatorische Kopfschmerzen auf eurer Open-Source-Reise vermeiden könnt.

Diving into AI with Java: Navigating the Basics

15.05.2024 01:30 PM - Cinema 7

Markus Kett, CEO at MicroStream, Editor in Chief at JAVAPRO Magazine

Florian Habermann, CTO & Co-Founder, MicroStream

AI is the big thing right now, but many Java developers still believe AI is not their business, but more a Python thing. However, all these big Java backend applications out there we are building with Java provide a big potential for AI use-cases what again leads to exciting business opportunity. This session will give you an easy-to-understand overview. So, if you are interested in AI with Java, you should not miss this session.

TDD & generative AI - a perfect pairing?

15.05.2024 05:00 PM - Cinema 5

Bouke Nijhuis, CTO @ CINQ ICT

In this talk, we will delve into the question whether generative AI can generate working code when we only provide test cases. So we take the main principle from TDD: we write the tests up front. Then we use a generative AI to create the code. If you wrote the tests correctly, and they all pass, you should have a working prototype. Even better, if the tests pass and you trust the tests, the code is production ready! With some live coding, we will explore this idea together. After attending, you should be able to apply this technique to your own project.

Performance

Databaseless Data Processing with EclipseStore and WebSphere Liberty InstantOn

14.05.2024 10:00 AM - Cinema 5

Markus Kett, CEO at MicroStream, Editor in Chief at JAVAPRO Magazine

Mark Stoodley, Chief Architect for IBM Java

More and more companies and organizations are using AI, ML, VR and big data in the cloud. Traditional databases and persistence frameworks worked well so far, however for the beginning AI age they are too slow, implementing is complex, and databases are too expensive in the cloud. Now, with EclipseStore there is a leight-weight and easy to use framework. EclipseStore enables databaseless high-performance in-memory data processing for modern cloud-native Java applications and microservices. Users benefit from ultra-fast in-memory data processing, up to 1000x faster queries, up to 99% cloud database cost savings, and unrivaled simplicity.

Hibernate: Mapping Strategies and Their Database Performance Impact

14.05.2024 12:30 PM - Cinema 5

Franck Pachot, Developer Advocate at Yugabyte

Your database administrator has raised concerns about inefficient queries generated by Hibernate without providing any explanation? This can be challenging because ORMs abstract away the complexities of what is executed in the database, and every database has a unique implementation.  In this session, we will explore some Hibernate mapping strategies and analyze the SQL queries generated by them. We will also discuss the impact of these strategies on database performance and provide insights for Java developers to optimize code execution or improve their indexing strategy.

Security

Software Bill of Materials - Inhaltsliste für Software

16.05.2024 13:30:00 - Cinema 5

Sebastian Hempel, Selbständiger Softwareentwickler

Moderne Software besteht nicht nur aus von uns erstelltem Code. Wir nutzen Framworks und Libraries. In all diesen Komponenten können Fehler und Sicherheitslücken enthalten sein. Es liegt an uns nicht nur Fehler in unserem Code zu beseitigen, sondern auch Updates und Patches aller von uns verwendeten Komponenten zu integrieren und mit unserer Software auszuliefern. Wir benötigen eine Übersicht aller von uns eingesetzten Komponenten. In den letzten Jahren haben sich dafür sogenannten Software Bill of Materials (SBOM) durchgesetzt. Diese SBOMs helfen mir bei der Wartung meiner Software. Ich zeige Tools, mit denen man für eine Java Anwendung automatisiert eine SBOM erstellen kann.

Serverless

Serverless Java #slideless

14.05.2024 01:30 PM - Cinema 5

Adam Bien, Chief Enthusiast

Serverless is the least complex, most secure, cost-effective (or even free) architecture for most enterprise applications and is compatible with the "Green IT" premises. In this session,
I will explain the inner workings of a serverless application from  a code perspective with IaC provisioning with Java, real-world MicroProfile code, and live deployments. I will answer your questions in real-time.

Serverside Java

Fast and Lightweight Spring Boot Applications with GraalVM

15.05.2024 11:30 AM - Cinema BlackBox

Alina Yurenko, Developer Advocate for GraalVM at Oracle Labs

Spring Boot 3.0 has introduced GA of GraalVM Native Image support, previously incubated in the Spring Native project. Now you can easily compile your Spring Boot application ahead of time with GraalVM to produce a native executable that starts fast, needs less memory, and doesn’t require a JVM. In this session we'll take a look at building native Spring Boot apps from scratch, leveraging latest GraalVM features, and using popular libraries

Unleashing AI in Java: A Guide to Semantic Kernel, LangChain4j, and Spring AI

15.05.2024 12:30 PM - Cinema BlackBox

Marcus Hellberg, VP of Developer Relations at Vaadin

Are you a Java developer curious about building AI apps, but feel restricted by the prevalence of Python and JavaScript tools? This talk is for you. We'll explore Java AI libraries like Semantic Kernel, LangChain4j, and Spring AI, demystifying how to get started with AI engineering right within your favorite language. Through hands-on code examples using Spring Boot, React, and Hilla, we'll show you how to build your own AI-powered app in Java.

Klein, schnell, sexy - Enterprise Runtimes im Vergleich: Spring Boot vs. Quarkus

16.05.2024  01:30 PM - Cinema 7

Dirk Weil, Consultant, Trainer, CEO at GEDOPLAN GmbH

Hendrik Jungnitsch, Softwareentwickler, Trainer at GEDOPLAN

Wenn's kein Application Server sein soll, greifen viele Teams ganz selbstverständlich zu Spring Boot als Runtime ihrer Anwendungen. Mit Quarkus gibt es seit 2018 eine Alternative, die insbesondere - aber nicht nur - diejenigen anspricht, die langjähriges Know-how von Jakarta EE (aka Java EE) haben. Wir schauen im Talk auf verschiedene Aspekte der beiden Plattformen und vergleichen Developer Experience, Ökosystem, Laufzeiten und Ressourcennutzung von Spring-Boot- und Quarkus-Anwendungen miteinander.

Unlocking the Future of Java: LLM Integration Unveiled by Quarkus and LangChain4j

16.05.2024 04:00 PM - Cinema 7

Elder Moraes, Developer Advocate, Red Hat

In recent times, Large Language Models (LLMs) have revolutionized software development with a promise to reshape user interactions and redefine business paradigms. The proliferation of various LLMs across platforms like Google, Microsoft, and Amazon have propelled these models to the forefront of technological innovation. But... what about you as a Java developer? Can you bring this innovation to your own code to take your projects to the next level? You bet! And to learn how, you are invited to an insightful deep dive into the integration of LLMs within the Quarkus ecosystem led by LangChain4j. Discover how this solution bridges the gap between Java coding and LLMs, empowering Java applications to harness AI capabilities easily.

Spring

Insights From A Spring Boot Leisure Project for Everyday Developer Life

15.05.2024 12:30 PM - Cinema 7

Patrick Baumgartner, Software Crafter @ 42talents

New gadgets and slow mobile apps tempt many a developer to spend the Christmas holidays reverse engineering, hacking and coding to put their world back together. Join a motivated developer on his journey to successfully implement his idea. Along the way, he is surprised at how much or how little effort is involved in each step, and what he learns along the way. We dive into the world of Android apps, Spring Boot, Buildpacks, GitHub Actions, Docker containers, GraphQL and API breaking changes. A thriller in three acts.

How to Reduce the Footprint of Your Spring Boot Applications

16.05.2024 12:30:00 - Cinema 7

Martin Lippert, Spring Tools Lead & Sustainability Ambassador @ VMware

Sandra Ahlgrimm, Senior Cloud Advocate, working for Java at Microsoft

In this session, we'll explore diverse strategies to notably trim down the resource footprint of typical Spring Boot applications. This includes harnessing Spring AOT for standard Spring applications, compiling Spring Boot apps into native images (leveraging GraalVM), and deploying CRaC for instantaneous startup (especially beneficial for scale-to-zero scenarios). We'll conduct a side-by-side comparison of these approaches, delve into the merits and demerits of each technology, and present tangible metrics from real-world applications. Our aim is to provide the audience with insights into the substantial enhancements achievable by employing these cutting-edge technologies.

Testing & Quality

Managing Testing Data

15.05.2024 12:30 PM - Cinema 6

Elias Nogueira, Principal Software Engineer at Backbase

This presentation will show you how to manage testing data in two different ways. The first way is the creation of a Test Data Factory approach, where we will use the Factory Pattern to easily create any objects we want with understandable and reliable data. In a second way, we will learn and apply the Data-Driven Testing approach, where the same requirement can be applied to different sets of data, generating different results. With the support of JUnit 5 you will learn how to do it in 5 different ways: value source, internal method source, external method source, argument provider, and CVS source.

Testing on Thin Ice: Chipping Away at Test Unpredictability

15.05.2024 04:00 PM - Cinema 6

François Martin, Senior Full Stack Software Engineer at Karakun

Brian Demers, Java Champion & Gradle Developer Advocate

Ever tried to catch melting snowflakes? That's the challenge of dealing with flaky tests - those annoying, unpredictable tests that fail randomly and pass when rerun. In this talk, we'll slide down the slippery slope of why flaky tests are more than just a nuisance. They're time-sinks, morale crushers, and silent code quality killers. We'll skate across real-life scenarios to understand how flaky tests can freeze your development in its tracks, and why sweeping them under the rug is like ignoring a crack in the ice. From delayed releases to lurking bugs, the stakes are high, and the costs are real.

Webdevelopment

Optimizing Performance of Web Apps: Removing Bottlenecks for a Better User Experience

14.05.2024 11:30 AM - Cinema BlackBox

Matti Tahvonen, Java and OSS enthusiast working at Vaadin

Dive into the world of web application performance optimization. Uncover optimization gems in crucial areas like databases, backend logic, and front-end code. Hands-on examples with various tooling will show how to surgically target the actual bottlenecks you have and get the most out of your Web app for your end users.

Web-Components & Building UIs with RapidClipse

14.05.2024 05:00 PM - Cinema Blackbox

Christian Kuemmel, MicroStream, Project Manager, Senior Software Consultant

Sebastian Späth, MicroStream Software GmbH

Vaadin is a UI framework in which HTML5 interfaces can be written entirely in Java. However, it is much quicker and easier with the convenient GUI builder provided by the free Eclipse distribution RapidClipse. The GUI builder is an accurate designer tool. Any layout can be implemented quickly and conveniently using drag-and-drop without writing any code. The IDE automatically generates the entire GUI code. The functional scope of controls is enormous. Master-detail views, complex forms, search and filter functions can also be implemented in a flash. In the impressive live demo, you can experience how quickly and easily you can design graphical user interfaces based on Vaadin for web applications with RapidClipse.

Full-stack web apps, 100% Java

15.05.2024 09:00 AM - Cinema 5

Marcus Hellberg, VP of Developer Relations at Vaadin

Full-stack development can be intimidating. You need to know several technologies, and you need to know them well. But what if you could build a full-stack web app using only Java? No JavaScript, no HTML, no CSS. Just Java. Join this live coding session to discover how to develop a full-stack web app using Spring Boot and the open-source Vaadin Flow framework. Starting from scratch, we'll cover everything: persistence, external services, and a good-looking UI. All in Java.