Speaker details

Sebastian Daschner


Sebastian Daschner is a Java Developer Advocate at IBM, a consultant, author, and trainer. He is the author of the book ‘Architecting Modern Java EE Applications’. Sebastian is participating in the JCP, helping forming the future standards of Java EE, serving in the JAX-RS, JSON-P and Config Expert Groups and collaborating on various open source projects. For his contributions in the Java community and ecosystem he was recognized as a Java Champion, Oracle Developer Champion and double 2016 JavaOne Rockstar. Besides Java, Sebastian is also a heavy user of cloud native technologies. He evangelizes computer science practices on https://blog.sebastian-daschner.com, his newsletter, and on Twitter via @DaschnerS. Sebastian kickstarted the JOnsen and jSpirit unconferences that connect Java developers throughout the globe. When not working with Java, he also loves to travel the world — either by plane or motorbike.

Jakarta EE: Past, Present and Future

Server Side Java

In this BOF, we will go shortly through the status of Jakarta EE, where it came from and where it goes. The audience will learn how they can participate in the evolution of Jakarta EE themselves. The Jakarta EE expert panel will be provided with several prepared questions that are asked many times by the community. These can be answered by the expert panel and/or discussed with the audience. Of course, there will be room for the audience to ask questions themselves in order to get their burning questions answered. This will also be their chance to vent their own ideas and thoughts on how they perceive the status and evolution of Jakarta EE, possibly comparing it with similar enterprise Java frameworks.

Scheduled on Friday from 17:30 to 18:20 in Room 3


Design principles for the effective developer


How many design patterns and principles can you name as developer? Are they important? Should we not rather focus on delivering features, as long as it works? It’s a non-trivial balance between reasonably designing our systems, with well-laid-out structures that communicate the intentions, or over-engineering them. This session shows which design principles effective developers should know about, why they should care, and most importantly, how to productively approach design and architecture. We’ll have a look at the SOLID principles, will see why the chosen design is more important than the actual technology choices, what’s behind crafting maintainable test code, and what to know about Domain-Driven Design. All of that with the goal of keeping a high velocity and creating beautifully crafted code.

Scheduled on Friday from 18:40 to 19:30 in Room 1

Code Quality

Make writing tests more joyful

Server Side Java

Testing is still a topic that most developers would like to avoid. Even though it is crucial for working software, developing and maintaining tests takes certain time and effort — especially for distributed applications or when changes in existing functionality forces test scenarios to adapt. Omitting software tests can’t be the solution; therefore, how can we tackle enterprise tests in an effective and productive way? This session shows what is necessary to effectively test Java Enterprise microservices in an automated way. We’ll see which approaches worked well in real-world projects, how to keep fast feedback and constant velocity in our development circle, how to manage complex test scenarios that involve multiple services, and how to verify our API contracts. It’s crucial for the development productivity to keep an immediate feedback loop, not only for unit but also integrative tests. We’ll see how container orchestration and service meshes support our tests in regard to distributed applications. One of the key aspects will be how to write maintainable test code with high quality that embraces principles of software craftsmanship. All of the time will be spent live-coding typical test cases with different scopes using different technologies. While I’ll be focusing on Jakarta EE, the concepts and approaches hold true for all enterprise Java projects.

Scheduled on Saturday from 15:00 to 15:50 in Room 5

Enterprise Java