DevNexus 2018 was held in historic Atlanta February 21-23. For those of you who are not familiar, DevNexus is the most significant Java centric conference in the southeastern US and now perhaps at the national level. It was started by JBoss Java Champion Burr Sutter and organized by the Atlanta JUG (currently led by Vincent Mayers, Pratik Patel, et al). I guess at this point I am a DevNexus veteran!. As usual, DevNexus attracted a bevy of world class speakers including Ed Burns, Kito Mann, Sebastian Daschner, David Blevins, Ivar Grimstad, Rafael Benevides, Jeanne Boyarsky, Victor Orozco, Mohamed Taman, Roberto Cortez, Edson Yanaga and Enrique Zamudio. This was another solid year for DevNexus. Java EE had a strong showing at the conference too, including my own sessions.
I am very happy CapTech sent several Java developers to DevNexus this year, including my current teammate Zack Teater.Pragmatic Microservices with Java EE and WildFly Swarm
I started the conference with my new all-day workshop titled "Pragmatic Microservices with Java EE and WildFly Swarm." I started the workshop explaining what microservices really are, the practical value they offer for most of us and when you should (or shouldn't) consider them. The hands-on portion of the workshop began with running a "monolithic" Java EE application on Payara (my plan is to port this code over to WildFly). Then, we separated a small RESTful service out of the application (microservice). At this stage, the microservice is a simple vanilla Java EE thin war also running on Payara. We discussed the pros and cons of Java EE thin wars vs. fat jars as well as WildFly Swarm. In the next portion of the lab, we ran the microservice as a fat jar using WildFly Swarm. We finished the lab by discussing concepts such as Linux containers (e.g. Docker), 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 WildFly Swarm offers.
The slide deck I used for the workshop is here. A webcast covering the lectures from 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 use the lab materials on your own (or perhaps 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!
The next day, I delivered my talk titled "Java EE 8 and Java EE 9 - What You Need to Know!" I discussed continued Java EE adoption, the importance of Java EE to the ecosystem, the contents of the Java EE 8 release and the opening up of Java EE through the Eclipse Foundation. I also talked about the key MicroProfile initiative that aims to bring a collaborative, fast-paced, vendor-neutral approach to microservices in the Java EE ecosystem. The heart of the talk covered the key features of Java EE 8 such as HTTP/2, a complete security API overhaul, stronger JSON support, support for HTML 5 Server-Sent Events (SSE), CDI 2, Bean Validation 2 and Java SE 8 alignment. The slides for the talk are here. As is the case for the lab, you are welcome to use the slide deck freely.
Later that day Ivar Grimstad did a deeper dive on MicroProfile, Sebastian Daschner did a very cool talk on Cloud Native Java EE and I listened to Victor Orozco talk about Java EE microservices.The next day I volunteered at the Eclipse Foundation booth with Emily Jiang, David Blevins, Cesar Saavedra, Roberto Cortez and Ivar Grimstad. The booth featured both the MicroProfile and EE4J projects. Booth traffic was great and there was a lot of interest in both projects. I finished the conference by attending Roberto's excellent talk with awesome demos of Java EE/MicroProfile on Raspberry Pis.
This was another great year at DevNexus and I hope to be part of the conference again next year.