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.

Saturday, December 31, 2016

Java EE @ App Dev Trends

The App Dev Trends conference was held December 4-9 in Orlando, Florida. Focused on practical enterprise development, it is a brand new part of the popular Live! 360 events. It is chaired by the well-respected veteran technical journalist John K. Waters, editor-in-chief of the Application Development Trends magazine. App Dev Trends helped bring a Java footprint to the otherwise Microsoft technology heavy Live! 360 events, so it was very important for me to help support it.

I was very honored to deliver the opening keynote for the conference. I talked about the critical importance of Java EE to the community, industry and global IT. I discussed the current state of Java EE 8 and Java EE 9, including the Java EE Guardians, the MicroProfile initiative as well as Oracle's promising announcements at JavaOne 2016. Most importantly I covered what developers can do to help Java and Java EE forward. The heart of the keynote covered the key features Java EE 8 will bring in 2017 such as HTTP/2, a complete security API overhaul, even stronger JSON support, support for HTML 5 Server-Sent Events (SSE), CDI 2, more reactive programming support, more pruning and Java SE 8 alignment. The current slides I used for the talk are here (click here if you can't see the embedded slide deck):

Later the same morning Kito Mann gave his extremely popular talk on PrimeFaces 6.

After lunch I delivered my talk titled "JCP, Adopt-a-JSR and You". The talk covers the basics of what the JCP is, how it works and how ordinary developers can participate especially in Java EE 8 JSRs. The talk also covers possible areas of important reform for the JCP. The slide deck for the talk is below (please click here if you can't see the embedded slide deck).

Concurrent to my talk, Kito delivered a talk on using JAX-RS with AngularJS 2.

The third day of the conference in the morning I delivered my talk titled "Down-to-Earth Microservices with Java EE". The talk has two aims. The first is to try 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 second aim is to demonstrate why Java EE makes perfect natural sense for developing sensible real world microservices, so called "monoliths" and everything in between. I also briefly cover WildFly Swarm as well as the MicroProfile initiative. The slide deck for this talk is below (click here if you can't see the embedded slide deck):

The demo code for the talk is available here. The instructions for the demo are designed to help you set up the demo on your own. I presented this same talk along with Steve Millidge (C2B2, Payara co-founder) at JavaOne. You can view the JavaOne recording of the talk here.

Later in the morning 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).

I finished the conference 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 posted on SlideShare (click here if you can't see the embedded resource).

A screencast of the talk is available here.

All is all, App Dev Trends was worthwhile and I wish the event the best going forward.

Thursday, December 29, 2016

Java EE @ Oredev

Oredev was held 7-11 November in Malmo, Sweden. Although modest in size Oredev takes pride in making an effort to bring together the best and brightest speakers around the world. It is one of the few conferences that rely heavily on targeting and inviting specific speakers as opposed to simply utilizing a call-for-papers. This year was no exception with speakers like Adam Bien, Geertjan Wielenga, Ivar Grimstad, Heather VanCura, Chris Judd, Paul Bakker and Holly Cummins. Java EE had a great showing this year.
Oredev was one of the very first international conferences that invited me as a speaker a good few years ago. I have had the pleasure of speaking at the conference a few times since. This year I am honored to be a part of the program committee helping formulate Java content. Having an insider's look at the conference I am now even more impressed. Throughout the years I have been a part of the program committee for a number of conferences including JavaOne. The genuine care and passion that the Oredev organizers put into the event is truly extraordinary. I am especially happy that a number of speakers I invited were able to be a part of Oredev this year (you know who you are). It was also another good year speaking myself.

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).

A screencast of the talk is available here. In the afternoon there was a nice talk on the upcoming CDI 2 standard delivered by one of the members of the specification expert group.

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).

Towards noon, Ivar delivered a talk on the upcoming MVC 1.0 API. Later in the afternoon Heather delivered a very important talk covering the basics of the JCP and how people can participate directly in the creation of open standards like Java EE 8. I have a version of the talk myself here.

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.

All in all, I really enjoyed my trip to Sweden and Oredev. I hope to go back soon as well as helping out with Oredev.

Wednesday, December 28, 2016

Java EE @ Java Day Kiev

Java Day Kiev took place 14-15 October. Led by the Ukrainian JUG, it is one of the most significant developer events in Ukraine. The event attracted a bevy of world-class speakers including Burr Sutter, Ivar Grimstad, Sebastian Daschner, Ruslan Sinitskiy and Edson Yanaga. Java EE had an excellent showing at the event including my own talks. The organizers had invited me in previous years but I could not go to Ukraine due to Oracle's overly conservative travel restrictions. This year was my opportunity for redemption so it was important for me to attend. I suggest others do the same to support Ukrainian developers when they need us most.

The organizers were very kind to arrange a special session on the current state of Java EE with the Ukraine JUG the day before the conference. Ivar and I led the full house session. We talked about Java EE 7 adoption, the importance of Java EE to the ecosystem and the forward plans for Java EE 8 as well as Java EE 9 that Oracle shared at JavaOne 2016. We also talked about the key MicroProfile initiative that aims to bring a collaborative, vendor-neutral approach to microservices in the Java ecosystem. The heart of the talk covers the key features Java EE 8 will bring in 2017 such as HTTP/2, a complete security API overhaul, even stronger JSON support, support for HTML 5 Server-Sent Events (SSE), CDI 2, more reactive programming support, more pruning and Java SE 8 alignment. The current slides for the talk are here (click here if you can't see the embedded slide deck):

I was also very honored to be part of the opening keynote panel of Java experts. Shortly after the keynote, Ivar did a detailed demo-driven talk on the MicroProfile. After lunch I ran a hands-on lab on JMS 2 titled "Down-and-Dirty with JMS 2". The goal of the lab is to give attendees some first-hand experience with the primary changes in JMS 2. In the first hour or so I did a brief presentation overviewing JMS 2 and went over the JMS 2 Javadocs. The rest of the time attendees actually wrote JMS 2 code mostly by themselves. The slides I use are available on SlideShare (click here if you can't see the embedded slide deck).

The lab materials are hosted on GitHub for anyone to use. The lab uses NetBeans, WildFly and Arquillian. 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. In the lab you'll basically be putting in code to finish a set of JUnit tests using JMS 2, starting from incomplete code with comments on what to do (don't worry, a completed solution is also posted :-)).

I started the second day of the conference with my talk on Cargo Tracker/Java EE + DDD. This talk overviews DDD and describes how DDD maps elegantly to Java EE using code examples/demos from the Cargo Tracker Java EE Blue Prints project. Below is the slide deck for the talk (click here if you can't see the embedded slides):

Concurrent to my talk, Sebastian delivered his brilliant talk titled 'Java EE - the most lightweight enterprise framework?'. If you really still buy into deliberately spread anti-Java EE propaganda, the linked video will be a serious eye-opener that will make you think twice. After Sebastian's talk, Ivar did a session covering the details of the Java EE Security 1.0 JSR targeted for Java EE 8.

I finished out the conference with 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).

A screencast of the talk is available here. Please do feel free to adopt the material and deliver the talk yourself.

I have been to Ukraine before, but I always missed doing something very unique - visiting Chernobyl. This is because of the fact that you need to have an approved guide and prior official permission for the trip. Thanks to the conference organizers, this time I got to do just that. Do check out the absolutely haunting pictures I took (click on the photo below or here to view the entire album). Anyone that has a chance should visit Chernobyl at least once. It is a first-hand reminder of what our civilization's tragic self-destructive leanings can lead to. It is also a reminder of how little we actually matter to the planet - a once bustling town is already well in the process of being completely reclaimed by nature in a mere few decades...

What impressed me the most on the Chernobyl trip is something I didn't even know existed - the secret Duga-3 Soviet ICBM early-detection over-the-horizon radar (the so-called "Russian Woodpecker"). Because there was so little time and I did not have the correct climbing gear, I only went up about five flights of the towering radar. On my next trip to Ukraine I plan to take a day to climb to the very top to witness the stunning views myself - certainly before the amazing structure rusts into the oblivion of time.

All is all, this was a great and overdue trip to Kiev and Ukraine. I hope to visit again soon!
Home   |   Site Map   |   Resume   |   Projects   |   Blog   |   Downloads   |   Links   |   Contact