Does the Spirit of JavaOne Live on Inside Oracle Code One?
Does the Spirit of JavaOne Live on Inside Oracle Code One?
Are you getting ready for this year's Oracle Code One event? Check out one speaker's thoughts on the conference sessions, topics, and more.
Join the DZone community and get the full member experience.Join For Free
In this entry, I want to share some high-level observations in regards to the renaming of JavaOne to Oracle Code One. My accepted sessions at Oracle Code One highlight some important Java EE content at Oracle Code One.
Some of you may already be aware that Oracle has decided to rename JavaOne to Oracle Code One. Like many people in the community, when I became aware of this change, I must admit that I expected the worst in regards to Java EE content, specifically, and Java content, generally. Nonetheless, I am not one to base judgments on sentiments alone but wanted to see concrete numbers on 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 that 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, which was short of an outright rename of the conference. It seems JavaFX and NetBeans have experienced the sharpest decline of content. There is also no denying the prominence of 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, and ZFS 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 percent 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 its 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, it 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 to fade away entirely. I would rather see JavaOne live on in spirit inside Oracle Code One.
I am happy to say that 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 will explain the architectural patterns of CQRS and event sourcing. I'll also be showing via code why Axon is a great way to implement 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 into the overall picture. 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. And, you can find the current lab materials 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 auto-deployed 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 excited to see IBM, Red Hat, Payara, and many others talking about MicroProfile and Jakarta EE, the WebLogic team, and the Java EE and Oracle staff talking about the new Java EE-based Helidon project. There are sessions that you cannot miss!
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
With regards to the transition from JavaOne to Oracle Code One, I think a fair sentiment is "so far so good." Beyond the content, we will have to see how the rest of the conference goes in terms of venue, execution, vibe, community, and, most importantly, attendance. I certainly will try to do whatever I can to support Oracle Code One. I hope you will consider attending, especially if you consider Java EE important.
While the content is definitely good, there is room for improvement. There is something we can all do to help move forward and that is where I would actually like to end this entry. From somewhat an insider standpoint, there are signs indicating that it was not easy for organizers to select quality Java EE content. Tell-tale signs are repetitive material and certain speakers with a larger number of sessions (and yes, I am including my own sessions in that observation). I suspect the quality and number of Java EE submissions was lower than it really should have been in JavaOne/Oracle Code One terms. If this was indeed the case, it is deeply disappointing because we should be standing behind the conference, at least for now. One simple way to do this is to adopt the ideas and content I have shared in this post. In particular, I think Oracle Code One could have used more content around various aspects of Java EE 8 as well as specific MicroProfile API/specification talks. This is something both vendors and community folks can do something about —and certainly beyond just Oracle Code One. If there is something I can do to help in this regard, I will be delighted to do so. Let me know in the comments below!
Published at DZone with permission of Reza Rahman , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.