In this entry I want to share some high level observations with regards to the renaming of JavaOne to Oracle Code One, mention my accepted sessions at Oracle Code One and highlight important Java EE content at Oracle Code One.
Some of you may already be aware Oracle has decided to rename JavaOne to Oracle Code One. Like many people in the community and for a number of reasons when I came to know of this I must admit I expected the worst with regards to Java EE content specifically and Java content generally. Nonetheless, I am not one to base judgements on sentiments alone but wanted to see in terms of concrete numbers how the renaming played out. An important data point in this regard is the makeup of the content compared to the previous few years of JavaOne. Another important bellwether is the number and quality of submissions (more on that a bit later). I am relieved to say the worst did not come to pass – at least for this year. I’ll explain why.
Overall the size of the conference in terms of content has remained the same or grown slightly. There is no question the number of Java related sessions has declined, but the decline is modest. Indeed there was a similar modest decline last year when Oracle introduced the “Oracle Code” track at JavaOne – short of an outright rename of the conference. It seems JavaFX and NetBeans has experienced the sharpest decline of content. There is also no denying a prominent presence for various Oracle centric content in Oracle Code One such as Oracle Cloud, Oracle JET, GraalVM, Fn Project, Oracle DB/MySQL and so on. In fairness, Sun did some of this too in its heyday albeit in a measured way with SPARC/Solaris, MySQL, ZFS, etc content at JavaOne. There are certainly major vendor conferences that seem to be entirely comfortable with throwing all semblance of impartiality out the window. I honestly don’t think that is true of Oracle Code One just yet.
Indeed Java EE content is certainly a bright spot. Despite a decline in overall Java content, the amount of Java EE content has remained basically the same. For context, Java EE generally occupies 10-15% of the content or about 50-60 sessions. I’ll describe the highlights of the Java EE content in a moment.
The most important point however is this – renaming or not Oracle Code One remains the top destination for both Java and Java EE content. And I say this as someone that firmly believes Java is strong enough to have it’s own distinct conference and I loved the fact no other conference in the world came even close to matching JavaOne’s Java content in terms of quality or quantity. Despite the decrease, the Java and Java EE content at Oracle Code One still outstrips the closest contender Devoxx Belgium by a respectable margin. While it has been great to see the EclipseCons add quite a bit of Java EE content this year, they do still lag behind the Java EE track at Oracle Code One. It is important to note though that if the current trajectory remains EclipseCon Europe will be the second most important destination for Java EE content, perhaps outstripping Devoxx Belgium. It is also the case that if a further decline in Java content remains a theme for Oracle Code One conferences like Devoxx Belgium and EclipseCon will be in a position to legitimately become the de-facto premier destination for Java and Java EE developers. I am, though, rooting for Oracle Code One. I would hate for the rich heritage of JavaOne fade away entirely. I would rather see JavaOne live on in spirit inside Oracle Code One.
I am happy to say I have four accepted sessions total at JavaOne. Similar to the amount of Java EE content, that is about the same historically for me in terms of accepted sessions. Here are the sessions:
What Is CQRS+Event Sourcing and Why Should Java Developers Care?
In this session I am explaining the architectural patterns of CQRS and Event Sourcing. I’ll also be showing through code why Axon is a great way of implementing these patterns in a Java application. Lastly, I will be touching upon why these proven patterns are important for microservices. By then, I hope to mention official Axon support for CDI that I am currently incubating for a few more days on my personal GitHub repository. Although I will be doing some tweaking, the current slide deck for this talk is here.
Eclipse MicroProfile: What’s Next?
This is an evening birds-of-a-feather session primary led by Ken Finnigan of Red Hat and Emily Jiang of IBM. If you want to get the inside story on MicroProfile and Jakarta EE or want to get heard, I seriously suggest you attend this session. I doubt we will have many slides, but we should be discussing issues and ideas that really matter as long as the right audience makes the time to show up.
From Monoliths to Pragmatic Microservices with Java EE
In this lab we will be discussing the fundamental value proposition of microservices and what the Java EE ecosystem offers today in terms of developing microservices. We will start with a Java EE monolith, break it up using just vanilla Java EE thin wars, then apply fat-jars/hollow uber jars/Docker and finally apply some MicroProfile features. I will very briefly talk about where something like Axon fits in the overall picture too. I am honored to co-present the lab with Ondro Mihalyi and Ivar Grimstad. There is quite a bit of tweaking to do, but the current rendition of the slides are here. The current lab materials are here.
Effective Docker and Kubernetes for Java EE Developers
In this session we will be talking about various considerations for running Java EE applications on Docker and Kubernetes such as: whether to use thin WARs, fat JARs, or hollow uber-JARs to effectively work with Docker repositories, layering, and caching; whether to deploy applications within images, through exposed admin ports or as autodeployed mounted external volumes; how Docker clusters, networking, and Kubernetes deployments align with application server administration, clustering, autodiscovery, and load-balancing; how the CI/CD pipeline of your application can be adapted to Docker and Kubernetes; and so on. This is a net new talk being developed with kind help from my co-presenters Ahmad Gohar and Hillmer Chona.
Java EE Content
Mentioning all fifty some Java EE sessions is probably unnecessary and unproductive. I certainly would encourage you to explore the content catalog yourself, even if you don’t plan to come to JavaOne. In general the sessions can be put into two categories – API talks mostly focusing on the Java EE technology itself and more how-to style sessions that focus on how to apply Java EE technologies. I’ve highlighted sessions in both categories that I think are worth specifically mentioning. I would say there is a healthy mix of vendors and community as well as expected names and newcomers. I am particularly encouraged to see IBM, Red Hat, Payara, etc talking about MicroProfile and Jakarta EE, the WebLogic team talking about Java EE and Oracle staff talking about the new Java EE based Helidon project. I would say you should not miss these sessions.
Java EE Technologies
- Jakarta EE: What Is It and What Does It Mean for Enterprise Java?
- MicroProfile and Jakarta EE: What’s Next?
- JSR 382: Configuration
- The Future of JMS 3.0
- CDI from Monolithic Applications to Java 11 jlink Images
- MVC 1.0 Community BOF
- MicroProfile Metrics: Practical Use Cases
- MicroProfile Reactive Streams: Control the Streams
- Chasing the RESTful Trinity: Client, CLI, and Docs
- Jakarta EE Meets NoSQL in the Cloud Age
- Eclipse JNoSQL: One API to Many NoSQL Databases
- Helidon: Java Libraries for Writing Microservices
- Helidon Deep Dive: An Up-Close Look at the Helidon Java APIs for Microservices
- Jakarta EE Hands-on Lab
Applied Java EE
- Modernize and Migrate On-Premises Java EE Workloads on Oracle Cloud
- Running a Modern Java EE Server in Containers Inside Kubernetes
- Mastering JPA Performance
- Lazy Versus Eager Loading Strategies for JPA
- Build a 12-Factor Microservice with MicroProfile
- Microservice Patterns: Implemented by Eclipse MicroProfile
- Event-Driven Microservices with Jakarta EE
- Be Reactive and Micro with a MicroProfile Stack
- Cloud Native, Service-Meshed Java Enterprise with Istio
- Running Our Robot Overlords with Jakarta EE
- From Jakarta EE over MicroProfile to Serverless: Interactive Onstage Hacking
- How to Structure Jakarta EE Applications for Productivity Without Bloat
- GraalVM and MicroProfile: A Polyglot Microservices Solution