Sessions
Realizing the Potential of Cloud Native Serverless Jakarta EE
Many myths and misconceptions surround the concept of ‘serverless.’ It’s the latest industry buzzword - but what does it mean, and how does it apply to Jakarta EE?
In this talk, Payara Services CEO and Founder Steve Millidge will give a demonstration of what serverless can look like in a Jakarta EE environment.
Reaching and Equipping the Next Generation of Open-Source Developers
Open Source has become the defacto way to build software. Everywhere we go, whether in the industry or not, we will come across open-source software and open-source software development. How and what are we doing in enabling the next-generation of up-and-coming developers to participate in open-source software development? Wouldn't it be wonderful if there are ways for the community, industry and academia to collaborate and nurture the next generations of open-source developers?
Langium + Sirius Web = <3
Langium is an open-source project which proposes an alternative to Xtext in the NodeJS platform. Developed around LSP (Language Server Protocol), Langium is therefore totally front-end technology agnostic as long as the front-end supports the protocol. The goal of this talk is to show how we went from no knowledge of Langium to a prototype integrated in the Eclipse Sirius Web infrastructure and applied to a subset of SysML v2. SysML v2 being the newest version still under specification of SysML, a textual and graphical modeling language for system engineering.
Adaptive Threading: The Goldilocks Dilemma with GC Parallelism
This session is intended to take a deep dive into Eclipse OpenJ9 GC internals and performance. It first lays out the basics of GC and builds upon them to explore GC performance. The presentation will heavily focus on GC parallelism and Adaptive Threading, a new innovative GC optimization for self-tuning parallelism to minimize GC pause times.
The long good-bye to NPE
11 years after I presented "Bye-bye NPE" at EclipseCon, we still see null pointer exceptions, the tooling to detect these already during compilation isn't complete, yet, and no standard has emerged.
In this presentation I will discuss some of the reasons why this is hard, harder than we thought initially and harder than it should be.
Mock my infrastructure! Using Testcontainers for better integration tests.
Integration tests are essential to test server application interaction with infrastructure services like databases, message brokers or others. The Testcontainers framework makes it easy to set up all infrastructure services your application code needs by using Docker images during the test execution. By doing so, integration tests can run independent of any external infrastructure and are more robust and faster to execute.
Jakarta EE Security - Sailing Safe in Troubled Waters
Security in Jakarta EE has long been under-used and under-specified. Existing specifications ranged from overly complex to non-existent. The result: few people used security standards. Java EE 8 changed that with JSR 375. Its evolution Jakarta Security facilitates portable application security integrated with container security. Allowing applications to treat authentication mechanisms like OAuth or OpenID Connect same as built-in container mechanisms like FORM or container-based access to a URL and features like @RolesAllowed and isUserInRole automatically work as expected.
Deploy and update Jakarta EE & MicroProfile applications at light speed with Paketo
More developers are using Polyglot programming models with their application architecture and why should they not use the language that makes sense for a specific task. This is where we introduce Paketo, the open-source tool that enables a developer to automatically detect what language they are using and build a runnable container image with that application and a runtime to run said application.
Java 8 to 19 - A lesson about language evolution
Since Java 8 was released in 2014, the pace of the evolution of Java - the language - and its ecosystem increased drastically. Given that we just saw the release of Java 19 this September, it is about time to reflect on the new and modern features that have been introduced in Java and are pending for the upcoming versions. Beware: This is not a presentation about the cool new things that landed with records, pattern matching or project Loom, but rather an analysis on the applied practices on language evolution.
Eclipse Development Process 101
In this session we'll provide an overview of the Eclipse Development Process (EDP) for fully operational projects.
We'll review together the workflow and recent changes that the EF has implemented to simplify release and progress reviews, and we'll cover the basic steps that your project needs to cover to comply with the EDP.
You'll never walk alone - simulating pedestrians in a world of cars
Did you ever feel the urge to simulate your complete moving environment? We are here to help.
Up to now, there are several programmes for simulating vehicle or pedestrian flows. An independent, unconnected consideration of these traffic modes is sufficient for most planning purposes. However, for the investigation of road safety or the simulative support of planning and management of major events, an integrated simulation is essential. In such situations, the multitude of interactions between pedestrian flows and vehicles cannot be modelled adequately with separate programs.
What Eclipse IDE must learn from other IDEs to survive?
Let’s face the truth: The Eclipse IDE is not the first choice for developers. Especially in the field of Java and Web Development, other IDEs like IntelliJ IDEA, VS Code or Gitpod are attracting most new users. Even worse, more and more Eclipse users move away.
Being an Eclipse user for decades meanwhile I have learned to be productive with the Eclipse IDE, and still like it. But in the recent past, my projects required me to use other IDEs as well. And yes, the grass is green on the other side.
So what makes those IDEs more attractive? Why do some developers hate Eclipse IDE and love others? Where does the Eclipse IDE need to improve and invest to be competitive in the future? Let’s find some answers by showing where the Eclipse Platform can learn from.
Open Source Software Supply Chain Security — Why does it matter?
For a couple of years, there is an awakening in the industry about the fact that Open Source is everywhere and that its supply chain is now the easiest way to create increasingly public, disruptive, and costly attacks. We have yet to see the cost and fallouts of the SolarWinds cyberattack or the Log4j vulnerability.
A fairy tale of zlib/zip compression in OpenJDK
zlib/zip compression is a de-facto standard and available in Java since JDK 1.1. In this talk you'll hear what it takes to maintain a third-party library like zlib in OpenJDK, how alternative zlib implementations have considerably increased de-/compression speed, how subtle behavioral differences in various zlib implementations can affect compatibility and finally how you can leverage these new implementations to boost your de-/compression intensive Java applications.
Towards a modern Eclipse UI: Adding Chromium support to the Eclipse IDE
The current version of Eclipse uses operating-system-dependent, outdated browser technologies. This issue was already brought up and discussed by the Eclipse community. But the efforts done so far were not successful. After analyzing the problem and much experimentation, we found three possible solutions that will be shown in the talk. All approaches have benefits and drawbacks, and after many discussions with the Eclipse community, we decided to go down the Electron path. We will present the current state of the project and how our approach could be integrated in your solution.
An Eclipse Automotive Stack for rapid-prototyping Software Defined Vehicles
Processing data in a vehicle and getting it out in an uniform way is beneficial for many use cases on the journey to a Software Defined Vehicle (SDV). However, many applications are specific to the underlying hard- and software systems making it difficult to build up a joint stack that can be adopted and extended by solution developers without taking too much effort into the underlying layers. It is desirable to deploy the respective stack and a possible backend not limited to actual vehicles and cloud backends but also to locations more accessible to developers at their desks.
Buttons hidden in plain sight
Do you want to improve the user experience of your graphical modeling tool? Are usability considerations currently "too much effort" for you and your project team?
Users are accustomed to a variety of utile features in textual editing that also benefit graphical modeling tools, such as efficient auto-completion, automated formatters, and immediate feedback on the software. As developers of graphical modeling tools, we strive to assist users in creating high-quality and scalable models.
You can’t have it all – trade-offs between usability aspects
Helidon Nima - Loom based microservices framework
For quite a long time we were forced to make a choice - performance vs. simplicity. Either use a complicated and performant reactive code, or use simple, yet limited blocking approach.Thanks to project Loom in JDK, the paradigm can shift once more even for applications that require high concurrency. I will introduce Helidon Nima - new microservices framework which is built on top of a server designed for Loom with fully synchronous routing that can block as needed, yet still provide high performance under heavy concurrent load.