Java2Days Ten Year Anniversary Trip Report

Java2Days was held November 27th-29th in Sofia, Bulgaria. For those unaware, Java2Days is one of the major conferences in the Balkans region. Indeed it may now be one of the most prestigious conferences in Europe. This was a very special year – the conference celebrated its well-earned ten year anniversary. In this blog post I’ll cover my experience of the conference and share the materials for my sessions. Regrettably, although I attended Java2Days 2017, I did not have time to write a trip report. Hence I will cover Java2Days 2017 towards the end of the blog post as well.

Thanks Java2Days, Mayor of Sofia and My Bulgarian Friends

I will admit Java2Days is special to me. I was the very first opening speaker of the first edition of the conference. Java2Days was one of the very first conferences to invite me as an international speaker ten years ago (the other was TDC Brazil). Since then, it has been great to see the conference grow year over year. Beyond the ten year figure, the numbers are truly amazing. Ten years ago there were just about a dozen speakers, a couple of dozen talks, about five hundred attendees and a pretty modest venue. This year the conference had close to a hundred speakers, about just as many talks and close to fifteen hundred attendees. The conference this year was held at the National Palace of Culture – the largest venue in Bulgaria. Ten years ago it was a conference a small handful of us took a chance on. Today it is a prestigious conference that attracts an international lineup of speakers via a CFP. I am proud to be a small part of the Java2Days success story. The most impressive part of Java2Days is that the conference has always been driven by a small number of empowered, passionate Bulgarian women. That is truly remarkable for an industry that suffers from gender diversity issues even at the global level.

It makes me very happy to say Java2Days thinks favorably of me. This year the mayor of the city of Sofia, Yordanka Fandakova, recognized me as an ambassador of IT in Bulgaria and as someone who has helped make Sofia “The Silicon Valley of Eastern Europe” (for those unaware, Yordanka Fandakova is the first female mayor of Sofia). Last year Java2Days attendees voted me the first of the top speakers of all time. I am truly grateful to Java2Days, the mayor of Sofia and all my Bulgarian friends.

MicroProfile State of the Union
I delivered several talks at Java2Days and generally Java EE had very good representation. I started the conference the first day by delivering a “MicroProfile State of the Union” as a keynote. The session is a fast paced look at the current state of MicroProfile. This includes motivation, history, latest changes, road map and a code example driven tour of features such as Open Tracing, Open API, dynamic configuration, fault tolerance, the type-safe REST client, metrics, health checks and JWT propagation. The slides for the talk are below (please click here if you can’t see the slides).
You should feel free to adopt the slides – just as you can for any of my talks. If you need help, please reach out and I will be happy to try my best. Later in the afternoon,Tomas Langer and Dmitry Kornilov (my former colleague at Oracle) presented a talk on Helidon, the brand new MicroProfile implementation from Oracle.

Jakarta EE Panel
The second day of the conference after lunch I led a panel on Jakarta EE. The panel had very good industry representation and included Werner Keil, Otavio Santana of Tomitribe, Ondro Mihalyi of Payara, Dmitry Kornilov of Oracle and Emily Jiang of IBM. We discussed the importance, current state and future of Jakarta EE. The slides for the panel are below (click here if you can’t see the slides).

Throughout the second day there were a number of Java EE focused talks. Otavio and Werner delivered a talk on JNoSQL – the new Jakarta EE technology for NoSQL. Emily delivered a talk on “Building 12-Factor Microservices with MicroProfile”. Ryan Cuprak delivered an “Introduction to CDI” as a lab. Emily and Steve Poole of IBM delivered “Developing Cloud-Native Java Microservices with MicroProfile” as a lab.

Effective Docker and Kubernetes for Java EE Developers
I and Ahmad Gohar of IBM delivered our entirely slide-less talk “Effective Docker and Kubernetes for Java EE Developers” at the end of the day. In this session we talk 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, auto-discovery, and load-balancing; how the CI/CD pipeline of your application can be adapted to Docker and Kubernetes; and so on. I, Ahmad and Hillmer Chona delivered this same talk at Oracle Code One. The video for the Oracle Code One session is below (click here if you can’t see the video).
All the materials for the talk is on GitHub. You should feel free to adopt the material.

On the final day of the conference there was some great Java EE centric content as well. Ondro delivered “Be Reactive and Micro with a MicroProfile Stack”. Dmitry and Tomas delivered a hands-on lab on Helidon.

Below are the talks I delivered at Java2Days 2017.

HTTP/2 and What it Means for the Java EE Ecosystem
I started Java2Days 2017 by delivering my talk on HTTP/2 and Servlet 4 titled “HTTP/2 and What it Means for the Java EE Ecosystem”. The talk examines the very important changes in HTTP/2 and how these changes need to be adopted by various Java EE 8 APIs like Servlet 4 and JSF 2.3. The slide deck for the talk is below (click here if you can’t see the embedded resource).

A screen cast of the talk is available here.

Pragmatic Microservices with Java EE and MicroProfile
Later in the day I delivered my workshop titled “Pragmatic Microservices with Java EE and MicroProfile”. I start the workshop with trying to do the right thing in explaining what microservices really are, what practical value they offer for most of us and when you should consider them (or not). The hands-on portion of the workshop starts with running a so-called “monolithic” Java EE application on Payara. We then separate a small RESTful service out of the application (a so-called “microservice”). At this stage, the microservice is a simple vanilla Java EE thin war also running on Payara. We then discuss the pros and cons of Java EE thin wars vs. fat jars as well as Payara Micro/MicroProfile. The next portion of the lab runs the microservice as a fat jar using Payara Micro. We finish the lab by discussing concepts such as Docker, Cloud, MicroProfile, dynamic discovery, health-check, metrics, retry/circuit-breakers/bulkheads and client-side load-balancing. We see these concepts in action using the more advanced features beyond fat jars that MicroProfile offers. The slide deck I use for the workshop is below (click here if you can’t see the embedded slide deck).

A webcast covering the more lecture-oriented parts of the workshop can be found here. The code and instructions for the workshop can be found on GitHub. I’ve deliberately designed the lab materials to be fairly self-guided so you can definitely use the lab materials on your own (or perhaps even run the lab in your own company/JUG) . You are always welcome to reach out to me when needed.

Java EE 8 and Java EE 9 – What You Need to Know!
I finished Java2Days 2017 by delivering my talk titled “Java EE 8 and Java EE 9 – What You Need to Know!”. I discuss continued Java EE adoption, the importance of Java EE to the ecosystem, the contents of the Java EE 8 release as well as the opening up of Java EE through the Eclipse Foundation. I also talk about MicroProfile. The heart of the talk covers the key features of Java EE 8 such as HTTP/2, a complete security API overhaul, even stronger JSON support, support for HTML 5 Server-Sent Events (SSE), CDI 2, Bean Validation 2 and Java SE 8 alignment. The current slides for the talk are below (click here if you can’t see the embedded slide deck). You are welcome to use the slide deck freely.

Rila Lakes
One of the most unforgettable experiences of Java2Days 2017 was going hiking in the seven Rila lakes area with the Java2Days organizers and some of the speakers. The glacial mountain lakes are incredibly picturesque and one of the most visited sites in Bulgaria. Just check out the photos below (click here if you can’t see the album)!

Next year I plan on doing the winter hike to the Musala peak. Musala is the tallest mountain in the Balkans and Bulgaria. The summer hike is pretty moderate. The winter hike is significantly more strenuous but still pretty doable with the right equipment. This year I went on a short winter trail on Vitosha mountain near Sofia just as a teaser. Just look at the awesome photo below of Musala peak in winter. Definitely worth the work!
All in all, I really enjoyed Java2Days as I always have these past ten years. If you are a Java speaker, you should aim to come to the conference. Until next time, I will miss my kind friends in Bulgaria!

Published by Reza Rahman

Reza Rahman is Principal Program Manager for Java on Azure at Microsoft. He works to make sure Java developers are first class citizens at Microsoft and Microsoft is a first class citizen of the Java ecosystem. Reza has been an official Java technologist at Oracle. He is the author of the popular book EJB 3 in Action. Reza has long been a frequent speaker at Java User Groups and conferences worldwide including JavaOne and Devoxx. He has been the lead for the Java EE track at JavaOne as well as a JavaOne Rock Star Speaker award recipient. He was the program chair for the inaugural JakartaOne conference. Reza is an avid contributor to industry journals like JavaLobby/DZone and TheServerSide. He has been a member of the Java EE, EJB and JMS expert groups over the years. Reza implemented the EJB container for the Resin open source Java EE application server. He helps lead the Philadelphia Java User Group. Reza is a founding member of the Jakarta EE Ambassadors. Reza has over a decade of experience with technology leadership, enterprise architecture and consulting. He has been working with Java EE technology since its inception, developing on almost every major application platform ranging from Tomcat to JBoss, GlassFish, WebSphere and WebLogic. Reza has developed enterprise systems for well-known companies like eBay, Motorola, Comcast, Nokia, Prudential, Guardian Life, USAA, Independence Blue Cross, Anthem, CapitalOne and AAA using Java EE and Spring.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: