Community Day for Java Developers at EclipseCon is a full day of expert talks, demos, and thought-provoking sessions focused on Java and on building enterprise applications using open source, vendor-neutral processes and technologies. The open source Jakarta EE, Adoptium, and MicroProfile projects, plus other Eclipse Foundation hosted Java projects and communities are backed by the world’s leading innovators in Java, including Azul, Google, IBM, Microsoft, Oracle, Fujitsu, Payara, Red Hat, and Tomitribe.
This event is organized in collaboration with iJUG, and is a great opportunity to discover how others are using your favorite technology, to meet with industry and community leaders, to better understand key aspects of the technologies, and to share your ideas with ecosystem innovators!
How to Join as an Attendee
Community Day for Java Developers is part of EclipseCon 2023 Community Day, scheduled for Monday, October 16, in Ludwigsburg, Germany. Attendance is open to anyone registered for EclipseCon with a Community Day Pass (October 16 only), or with an EclipseCon All-Access Pass (October 16 - 19).
How to Register
- If you are attending Community Day only, the price is €40 plus VAT. When registering, choose the Community Day Only Pass.
- If you are attending both Community Day and EclipseCon, choose the All-Access Pass when registering. The price to add Community Day to your EclipseCon registration is €25 plus VAT, which is included in the All-Access Pass price. (See the Registration page for the current price for an All-Access Pass, since it varies by the date of registration.)
Please note that some talks will be presented in English, and some in German. The designation "(E)" after the presenter name indicates English, and "(D)" indicates German.
|8:45 - 9:00||Welcome & Introduction||Welcome & Introduction|
|9:00 - 9:45||Hybrid Cloud Applications Built with Pure Openness
Emily Jiang (E) - Jakarta EE Talk
|Welcome to the Jungle - A safari through the JVM landscape
Gerrit Grunwald (E)
|10:00 - 10:45||Structured Concurrency in Java - The what and the why
Balkrishna Rawool (E)
|Pimp your Jakarta EE applications
Dirk Weil (D) - Jakarta EE Talk
|11:00 - 11:45||Simplifying NoSQL Database Integration with Jakarta NoSQL: A Hands-on Approach
Maximillian Arruda (E) - Jakarta EE Talk
|The New Style of Java - Java 21, the Features and New Ideas
Merlin Bögershausen (D)
|12:00 - 12:45||Open AQAvit Test Strategy
Longyu Zhang (E)
|Pattern Matching in Java ... and why do we need algebraic data types?
Falk Sippach (D)
|12:45 - 14:00||Lunch|
|14:00 - 14:45||Building Future-Proof Jakarta EE Applications On-Premise and In The Clouds
Adam Bien (E) - Jakarta EE Talk
|From Idea to IDE - How Java Features Are Considered, Designed, And Shipped
Nicolai Parlog (D)
|14:45 - 15:15||Afternoon Break|
|15:15 - 16:00||News from the machine room: The current work on Jakarta EE and MicroProfile
Jan Westerkamp (D) - Jakarta EE talk
|Secure Development @ Eclipse Adoptium
Scott Fryer (E)
|16:15 - 17:00||What Every Java Programmer Should Know About Strings
Bernd Müller (D)
|Effective Kubernetes for Jakarta EE and MicroProfile Developers
David Minkovski (E) - Jakarta EE talk
|17:30 - 18:30||Meet & Greet
Hosted by Eclipse Industry Collaborations
Hybrid Cloud Applications Built with Pure Openness
Interested in utilising open source Java technologies to efficiently build hybrid cloud native applications without any vendor lock-in? This session will prepare you to achieve just this by introducing key open source technologies like Open Liberty, MicroProfile and JakartaEE. We'll investigate how these technologies can be integrated with cloud native infrastructure and developer environments to enable a rapid application development without vendor lock-in and prepare for the cloud deployment. The journey to the cloud is unlocked!
Welcome to the Jungle - A safari through the JVM landscape
OpenJDK with it’s Java Virtual Machine is great but there is not only one flavour but many. There is Oracle OpenJDK, Eclipse Temurin, IBM Semeru, Amazon Corretto, Azul Zulu, Alibaba Dragonwell, Huawei Bi Sheng, Tencent Kona and many more. Did you ever ask yourself which one is better, faster, free or something similar? Or do you want to know where the differences are in those distributions, well then this session might bring some answers to your questions. It will give you an idea about what the JVM is and will cover all the available distributions not only of OpenJDK but also of GraalVM and will try to explain the differences and features of the available distributions. It will also try to give you an idea what JVM to use for specific use cases.
Pimp your Jakarta EE applications
Jakarta EE, aka Java EE, is a widely adopted and stable platform for enterprise applications. However, it carries the scent of being old and outdated - quite unfairly! With the current versions and implementations, the platform is gaining momentum. Migrate your applications to Jakarta EE 10+ and get ready for rapid development and lightweight runtimes. In this talk, I'll demonstrate how applications can be quickly migrated from Java EE 8 to Jakarta EE 10 and run on lightweight runtimes such as WildFly Bootable Jar, OpenLiberty, or Quarkus.
Structured Concurrency in Java - The what and the why
This talk introduces Virtual Threads and Structured Concurrency. It then explains their benefits and shortcomings. It compares Structured Concurrency API with CompletableFuture API by live coding multiple examples with both of them. The talk is informative, interactive and entertaining.
Virtual threads are lightweight user threads, enabling Java applications to produce thousands (or even millions) of threads. Also, they are super-efficient as they don't block their 'carrier' threads. These two characteristics of virtual threads let application developers focus on business requirements rather than managing platform threads (for example, with thread-pools etc.) which enables Structured Concurrency. With structured concurrency, we can let each business-task be executed by a separate virtual thread and structure these virtual threads in any logical way that represents the business requirements in the best way. It provides us with control structures for managing our virtual threads and simplifies applications that use concurrency.
A big part of the talk is live coding where multiple examples are first implemented with CompletableFuture and then with Structured Concurrency API. For each example, these two implementations are then compared. These examples highlight that CompletableFuture’s asynchronous reactive-like API relies on callbacks whereas Structured Concurrency puts forward an imperative-like API which is easier to read and reason.
All in all, this talk prepares Java developers for the features of Project Loom so that they are ready when these features arrive in the newer versions of Java.
Simplifying NoSQL Database Integration with Jakarta NoSQL: A Hands-on Approach
Nowadays, it's normal to see cloud-native solutions dealing with a huge amount of information. In this scenario, the NoSQL databases are getting a huge relevant position, but dealing with many NoSQL solutions from many different vendors is very difficult. In terms of dealing with relational databases, there’s no doubt that JPA specification is a well-established API in the Java world, but what if there's a well-defined way, pretty similar to JPA, to work with NoSQL with Java? Jakarta NoSQL specification was created to increase the developer experience between Java and NoSQL databases. This spec allows developers to handle easily with many NoSQL databases.
In this talk, we will make a live coding session presenting a solution with Jakarta NoSQL and Jakarta Data. Even more, we're going to mix other Jakarta EE specifications like Jakarta Faces and Jakarta WebSocket.
Notes: As JNoSQL and Jakarta NoSQL contributors, we intend to bring the facilities that the implementation brings to the Java developer in implementing solutions that use the NoSQL database. The specification provides interesting functionality that we would like to cover, such as
- Rich mapping and integration with CDI
- A fluent API in Java for creating Queries
- JPA-like annotations to map entities
- Spring Data-like repositories implementations
- Support for many NoSQL databases, such as Cassandra, Couchbase, MongoDB, Elasticsearch, Redis, Hazelcast, and so on
Attendees should have proficiency in Java programming languages, good experience with Jakarta EE specs, e.g: CDI, JSF, JPA Jakarta RESTful Web Services.
The New Style of Java - Java 21, the Features and New Ideas
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
Open AQAvit Test Strategy
Open Adoptium AQAvit Test Strategy for OpenJDK binaries is based on open, transparent, robust, and adaptable test suites. We are establishing AQA as the comprehensive open quality standard for OpenJDK verification. AQAvit verification demonstrates that the product is a high-quality offering, ready for enterprise usage, and production quality inclusion criteria. It is one of the three requirements for listing at the Adoptium Marketplace. In this presentation, we take a deep dive into the Open AQAvit Test Strategy: How do we use Eclipse AQAvit tests (that are made available to the public at no charge) to deliver business value to major Java distributors, such as IBM, Red Hat, Microsoft, Alibaba, and more? How can we complete 87 million+ tests in a timely fashion with limited machine resources at Eclipse Adoptium and Eclipse OpenJ9 open-source projects? We will talk about our approaches of using smart parallelization, handling copious amounts of verification data, leveraging visualization techniques, implementing Github Actions/workflow, enabling VM cloud, Machine Learning project, using ChatGPT, and other improvements.
Pattern Matching in Java ... and why do we need algebraic data types?
Pattern matching is a mechanism to check values against patterns. If a match is found, these values can then be broken down into their constituent parts and thus easily and safely processed further. This concept, which is primarily known from functional programming languages, is thus a very powerful and flexible alternative to classic switch statements or if/else statement cascades. For several years now, the JDK incubator project Amber has been working on the introduction of pattern matching in Java. Some of the implementations have now found their way into the OpenJDK. They promise shorter and more comprehensible source code, which can also be checked for correctness by the compiler. It is easier to read and can therefore be easily maintained and extended.
Building Future-Proof Jakarta EE Applications On-Premise and In The Clouds
In this session, I will examine private-, public-, clouds, and on-premise Jakarta EE architectures, from bare metal, over containers, to lambda environments. We will especially compare the on-premise with pure cloud-native and serverless Jakarta EE / MicroProfile architectures of AWS and Azure. This session is going to be as interactive as possible. Your challenging questions are highly welcome!
From Idea to IDE - How Java Features Are Considered, Designed, And Shipped
OpenJDK is one of the world's most influential open source communities. It drives the reference implementation of Java SE and the Java Virtual Machine, a programming language and runtime environment used daily by millions of software developers. More than that, the community drives its innovation - 15 years and counting of new language features, core library additions, performance improvements, runtime enhancements, and new tooling.
But how does it all work?
How does a community of Java enthusiasts, often financed by some of the biggest tech companies yet working with self-determination, turn ideas into designs into code into features you can use in your IDE? Well, let me explain (in this talk).
News from the machine room: The current work on Jakarta EE and MicroProfile
In 2022, Jakarta EE 10 and MicroProfile 6 were released, featuring the Jakarta Core Profile and OpenTelemetry Tracing support in MP Telemetry. However, the work didn't stop there! The working groups continued to develop and collaborate to enhance the specifications, addressing current and future requirements such as JPMS support, security spec integrations, feature additions, and quality improvements. Be curious about the details and share your feedback with the community in this session!
Secure Development @ Eclipse Adoptium
In today's rapidly evolving technology landscape, security in software development has become paramount. The increasing complexity of software systems, coupled with the rising number of cyber threats, necessitates a comprehensive approach to secure development. This presentation aims to provide an insightful overview into how the Adoptium project is undertaking work to cover the four main areas of secure development, including the production of Software Bill of Materials (SBOMs), software build reproducibility, compliance with the Software Supply Chain Security Framework (SSDF), and the Supply Chain Levels for Software Artifacts (SLSA) framework, along with best practices for infrastructure security.
This talk will cover the 4 main areas being undertaken at Adoptium. Coming from a regulatory background in both the utility, and financial software industries, I have a wealth of experience in meeting frameworks, and undertaking reviews and auditing of key tasks.There are no technical requirements for this talk, as it will initially provide an overview of these 4 key areas and provide insights into the tools, approaches, requirements, and challenges faced in undertaking a move to a more secure development model.
What Every Java Programmer Should Know About Strings
Strings are the most common Java object. It is therefore hardly surprising that JDK engineers are working on string optimizations --- obvious and not so obvious ones --- since Java's beginning. The optimizations took place on every level: JVM, garbage collection, compilers, byte code, string class implementation.
The talk is about concepts and implementation details like string pool, compact strings, compressed strings, string deduplication, indify string concatenation, and others.
In this talk you will NOT learn how to write faster programms based on string tricks because this was already done by JDK engineers over the last 25+ years. You WILL learn why your old programms will run faster --- sometimes significantly faster -- on almost ever new Java release.
Effective Kubernetes for Jakarta EE and MicroProfile Developers
This session outlines several key techniques to understand while using Kubernetes with Java EE, Jakarta EE and MicroProfile applications.There are several key techniques to understand while using Kubernetes with Java EE, Jakarta EE and MicroProfile applications. Examples include:* How Kubernetes primitives (such as deployments and services) align with application server administration, clustering, auto-discovery, and load-balancing.* How to add self-healing capabilities using Kubernetes probes and monitoring with open source tools like Prometheus/Grafana.* How the CI/CD pipeline of your application can be adapted to Kubernetes.* How Kubernetes can be extended using Operators to effectively manage application server clusters.This entirely slide-free, demo-driven session walks through each of these considerations in turn. At the end of the session, you will have all the demos on GitHub so you can explore them on your own.
Maximillian Arruda is a Senior Backend Software Engineer at Digibee, a Jakarta EE Ambassador, Eclipse JNoSQL Committer, a Java lover, Developer Advocate/Specialist at Zup Innovation, JUG leader at SouJava (The Java Users Society), one of the world's largest Java User Groups Community, Jakarta EE Contributor and Ambassador, Speaker/coordinator at The Developers Conference, Cloud Conference Day Java Track Ambassador.
Gerrit Grunwald is a software engineer that loves coding for around 40 years already. He is a true believer in open source and has participated in popular projects like JFXtras.org as well as his own projects (TilesFX, Medusa, Enzo, SteelSeries Swing, SteelSeries Canvas, JDKMon). Gerrit blogs regularly at harmonic-code.org, he is an active member of the Java community, where he founded and leads the Java User Group Münster (Germany), he is a JavaOne rockstar and a Java Champion. He is a speaker at conferences and user groups.
Dirk Weil has been working as a Java consultant since 1998. As the managing director of GEDOPLAN GmbH, he is responsible for the conception and implementation of information systems based on Java. Years of experience in developing sophisticated enterprise solutions make him and his team competent contacts and recognized experts in the field of Java and Jakarta EE. He is a published author, writes articles for professional magazines, and gives presentations at conferences and user groups. He also leads challenging seminars and workshops on various Java and Jakarta EE topics for GEDOPLAN IT Training.
Balkrishna Rawool is currently working at ING Bank as an IT Chapter Lead and he has been in the software industry for 18 years. He enjoys crafting elegant solutions while solving complex challenges. Although he has been working with Java for many years, he finds latest developments in Java quite exciting. He has passion for continuous learning and genuine desire to sharing knowledge. He is currently leading a team that is building a Credit Decisioning Engine for business-customers. Previously, he has served many clients in financial services sector while working at a technology consulting company. In his free time, he enjoys playing chess. The analytical thinking and foresight used in chess is something he finds useful in software development.
Merlin Bögershausen has been a Java Developer for 10 years and a Project Amber Groupie. He loves simplicity and small stack. Besides the IT, he is a father, a flight Instructor, and plays volleyball.
Emily Jiang is a Java Champion. She is Liberty Cloud Native Architect and Chief Advocate, Senior Technical Staff Member (STSM) in IBM, based at Hursley Lab in the UK. Emily is a MicroProfile guru and has been working on MicroProfile since 2016 and leads a number of specifications. She also leads MicroProfile technical discussions and drives MicroProfile releases. She is also a Jakarta Context and Dependency Injection (CDI) committer and a co-spec lead for Jakarta Config. At IBM, she leads the effort of implementing all of MicroProfile specifications on Open Liberty. She is passionate about MicroProfile and Jakarta EE. She regularly speaks at conferences, such as Code One, DevNexus, JAX London, Voxxed, Devoxx, EclipseCon, QCon, GeeCon, JFokus, etc. Connect with Emily on Twitter @emilyfhjiang LinkedIn (https://www.linkedin.com/in/emilyfhjiang).
Longyu Zhang, Ph.D, is a software developer at IBM Runtime Technologies. He is a committer of Eclipse AQAvit open-source project and an active contributor of Eclipse Adoptium and Eclipse Openj9. He also works closely with industrial and academic researchers to develop innovative machine learning solutions for various applications.
Falk Sippach is a software architect, consultant and trainer at embarc Software Consulting GmbH. He is always on the lookout for that spark of passion that he can ignite in his participants, customers and colleagues. He has been supporting mostly agile software development projects in the Java environment for over 15 years. As an active part of the community (co-organizer of the JUG Darmstadt and Java Champion) he also likes to share his knowledge in articles, blog posts, as well as in presentations at conferences or user group meetings and supports the organization of various professional events.
Bernd Müller is a professor, computer scientist (diploma and PhD), managing director, author of books and articles, conference speaker, and JUG organizer.
Nicolai Parlog (aka nipafx) is a Java enthusiast focused on language features and core APIs with a passion for learning and sharing - in articles, newsletters, and books; in tweets, videos, and streams; in demo repos and at conferences - more on all of that on nipafx.dev. He's a Java Developer Advocate at Oracle and organizer of Accento. That aside, he's best known for his haircut.
David Minkovski s a Cloud Solution Architect at Microsoft. His daily tasks revolve around tackling technical challenges for a broad portfolio of clients from many industries on the azure cloud platform.He has a profound passion for all facets of programming, particularly in the realm of web application development. His expertise extends from backend languages like Java and Golang to crafting dynamic frontend experiences using React and TypeScript.Additionally, he delves into the fascinating world of DevOps, leveraging tools like Docker and Kubernetes. He is enthusiastic about discussing all things technology and innovation, and he loves the opportunity to connect with like-minded people who share a passion for building technology solutions.
Scott Fryer recently joined Red Hat. He has extensive experience (10 years) within the utility industry, particularly in regard to implementing software packages that met the deregulation and competition requirements to operate within the new markets. In addition, Scott had a 16-year career within the UK financial services software industry, largely being responsible for implementing software compliance standards around source code auditing and control and ensuring the auditing of software releases to ensure traceability and consistency within components.
Jan Westerkamp focuses on Systems Engineering, Software Engineering and Project Management. He likes mastering the challenges given in complex systems and DevOps environments. Additionally he co-organizes the JUG Darmstadt and is the delegate of iJUG Interessenverbund der Java User Groups e.V. for the relations to Eclipse Foundation, especially within in the Jakarta EE, MicroProfile and Adoptium Working Groups.
- Hendrik Ebbers
- Frank Schwichtenberg
- Daniel van Ross
- Tobias Frech
- Collaborator: Shelley Lambert
Board of Advisors
- Jan Westerkamp
- Markus Karg
Eclipse Foundation Team
- Tanja Obradovic
- Ivar Grimstad
- Carmen Delgado
- Shabnam Mayel
For questions, please email firstname.lastname@example.org.