Java EE @ Oredev
I started the conference with my brand new all-day workshop titled "Pragmatic Microservices with Java EE and WildFly Swarm". 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 GlassFish (my plan is to port this code over to WildFly). 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 WildFly. We then discuss the pros and cons of Java EE thin wars vs. fat jars as well as WildFly Swarm. The next portion of the lab runs the microservice as a fat jar using WildFly Swarm. We finish the lab by discussing concepts such as Linux containers (e.g. Docker), dynamic discovery, health-check, 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. I also cover the new MicroProfile initiative as well as the Java EE 8/Java EE 9 proposed features geared towards microservices.
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.
The next morning I delivered 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 posted on SlideShare (click here if you can't see the embedded resource).
Early the next day I delivered my brand new talk titled "Java SE 8 for Java EE 7 Developers". In the talk I cover some of the key features introduced in Java SE 8 including Lamdas, streams, the new Date/Time API as well as Completable Futures and discuss how they can be used effectively with Java EE 7 APIs like Servlets, Java EE Concurrency Utilities, WebSockets, JPA, JSF and JSON-P. I also cover what should be done in Java EE 8 to further improve Java SE 8 support. The slides for the talk are posted on SlideShare (click here if you can't see the embedded slide deck).
After Oredev I had the opportunity to visit one of the very unique sites in Southern Sweden - Ladonia. A self-declared "micronation", Ladonia was created to protect a truly remarkable piece of art named Nimis. Nimis is best understood by seeing it (or looking at photos like mine below - click on the image or here to view the full album). It is a set of whimsical seaside structures vaguely resembling a giant playhouse made entirely of driftwood. I suggest visiting Ladonia if you get the opportunity. It is a bit hard to get to (perhaps somewhat deliberately) but well worth the effort.