blank
Reza Rahman - Professional Homepage
blank Home Home | Navigation Site Map blank Resume | Projects | Blog | Downloads | Links | Contact

My ramblings on Java EE, Java SE and the crazy World of technology in general.

Monday, August 13, 2018

Does the Spirit of JavaOne Live on Inside Oracle Code One?

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.

Overall Observations
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.

My Sessions
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
Applied Java EE
Closing Thoughts
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 help move forward and that is where I would actually like to end this entry. From somewhat an insider standpoint, there are signs it was not easy for the organizers to select quality Java EE content. Tell-tale signs are repetitive material and certain speakers with 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 fully standing behind the conference at least for now. One simple way to do this is adopt the ideas and content I have tried to share a few times already. 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.

2 Comments:

Blogger edburns said...

Thanks for this succinct and actionable post. While I currently have no plans to attend
OracleCodeOne, I hope some magic fairy dust somehow sweeps in at the last minute
and gets me out there. I’m very glad you are going, though.

RR> There are certainly major vendor conferences that seem to be entirely comfortable
RR> with throwing all semblance of impartiality out the window. I honestly don't think that is true
RR> of Oracle Code One just yet.

I was on the content committee and I had no directive to favor Oracle content.

RR> I am, though, rooting for Oracle Code One.

Me too. I think DevoxxBelgium is actually more inbred than OracleCodeOne in its
selection process.

This is a great summary of the important Java EE Sessions. Have fun!

12:16 AM  
Blogger Reza Rahman said...

Thanks for the kind words and encouragement as always, Ed. I too hope to see you at Oracle Code One somehow or maybe at DevNexus or TDC.

12:43 AM  

Post a Comment

<< Home

Home   |   Site Map   |   Resume   |   Projects   |   Blog   |   Downloads   |   Links   |   Contact