The Great Indian Developer Summit (GIDS) 2015 was held on April 21-24 in Bangalore, with a follow-on GIDS.Mini held on April 25 in Hyderabad. GIDS is very easily the largest and most significant developer event in South Asia. Perhaps reflecting global demographic shifts in software development, GIDS may also now have become one of the largest developer conferences in the world. This was yet another highly successful year for the event. As usual it drew some of the best and brightest minds in Java and beyond. It was truly a privilege to be able to speak at the event and I was even more fortunate to have had a number of Java EE sessions there. While in India I am very happy to say I also spoke at a couple of entirely community driven JUG events at the Madras JUG (Chennai) and the Hyderabad JUG before and after GIDS. It was very gracious of GIDS to fully support my engagement with both JUGs.
I started my India tour in Chennai with the Madras JUG on April 21st. They were very kind to warmly invite me and organize a day-long event. It was a very brave, passionate effort for the newly minted JUG with key JUG members speaking. You can take a look at the full agenda here.
I started off the day with my talk titled "Why Open Standards and Java/EE Matter". Designed to be a keynote, the talk covers a very important topic that I think there's far too little material out there on. It talks about the core value proposition for standards like Java EE in maintaining a healthy competitive marketplace. It differentiates open technical standards from so called "de-facto standards" and explores the relationship between open source and open standards. I also talk about what the community can do to make standards really work. The talk taps into one of my fields of study that I never pursued in my career and few developers really seem to have even a basic grasp of - economic analysis. This is a talk I've been waiting to give for many years and I am glad I was finally able to start presenting it. To some degree it embodies many of the core motivations that keep me doing what I do to try to help move the Java EE standard forward. The slides for the talk are here (click here if you can't see the embedded slide deck):
After lunch I delivered our main driving talk for this year titled "What's Coming in Java EE 8". The talk covers the possibilities for Java EE 8 such as HTTP 2/Servlet 4, Server-Sent Events (SSE), a new standard action-oriented web framework, security simplification, REST management/monitoring, even better JSON support, CDI 2, platform-wide CDI alignment, more pruning, JCache, JMS.next() and Java SE 8 alignment. I also cover Adopt-a-JSR. The slides for the talk are here (click here if you can't see the embedded slide deck):
Do note that I've added detailed speaker notes available to you in the downloadable PowerPoint deck. This means that you could deliver the talk yourself if you were so inclined.
I finished the day giving a very preliminary, impromptu slide-only version of one of my newest talks 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 and when you should consider them (or not). The second aim is to demonstrate why Java EE makes perfect natural sense for developing sensible microservices, so called "monoliths" and everything in between. I also briefly explore the work that some parts of the Java EE community is doing to support what I'll lovingly call "microservices Nirvana" (spoiler: I don't think most of us can or need to achieve this Nirvana state). The slide deck for this talk is below (click here if you can't see the embedded slide deck):
I really enjoyed meeting all the good folks at the Madras JUG and hope to speak there again as soon as opportunity permits.
My next stop on the India trip was to Bangalore for GIDS.Java on April 23rd. I chose to take a bus ride from Chennai to Bangalore instead of yet another dreary flight. I definitely recommend it as a way to get a glimpse of the real Indian countryside though one should expect this to be a rugged, down-to-earth experience not comparable to a flight that would be out of the budget of most of the Indian populous. I started GIDS in the morning with my very popular talk on Cargo Tracker/Java EE + DDD. This talk basically overviews DDD and describes how DDD maps 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):
The talk went well and was a complete full house. I got some excellent questions throughout the session as well as afterwards. In the afternoon I delivered one of my latest talks titled "Reactive Java EE - Let Me Count the Ways!". It aligns Java EE with core Reactive Programming principles. Though many people don't realize it, Java EE has long had very good support for asynchronous, event-driven, non-blocking scalable systems. This includes features and APIs like JMS, Message Driven Beans, asynchronous Session Beans, CDI events/observers, asynchronous Servlets/NIO, server/client side JAX-RS, WebSocket asynchronous support and the Java EE concurrency utilities. These features can be used in a highly Reactive fashion especially in conjunction with Java SE 8 lambdas, streams and CompletableFuture. The slides for the talk are here (click here if you can't see the embedded slides):
The day after GIDS.Mini the Hyderabad JUG hosted the official Java EE 7 Hands-on-Lab as a full day workshop. Under the very capable leadership of Rajmahendra the JUG is the most mature and most active in India. The event was hosted in the Oracle Hyderabad offices. The workshop was a full house with excellent feedback throughout and afterwards (just check out the very kind comments on the event page). It has been my goal to make the lab as much of a smooth experience as possible. I must say I think I have finally polished the lab enough to accomplish this goal. My next challenge is to either run the lab remotely or help someone else run it entirely on their own. If you are interested in exploring either of this, I will be delighted if you reach out :-).
The openly available hands-on lab is actually a very good resource for getting your hands dirty with Java EE 7. The entire lab is neatly scripted into step-by-step instructions and seeded with some starter code as to be largely self-directed and self-paced. The idea is that anyone should be able to complete the lab by themselves or even lead the lab in their own organizations. I've now even added a starter guide of sorts for anyone wanting to run the lab themselves. As time permits my next step is to create a starter video (a great suggestion by Rajmahendra!).
I am especially grateful to Lars (featured on the top-left photo) and Rajmahendra (featured on the bottom-left photo) for helping run the lab all day! This was perhaps the largest and most successful execution of the lab that I have seen so far and I look forward to returning to the JUG again as soon as opportunity permits.
As tough as a longer multi-destination trip like this can be, one upside is the fact that one can use their personal time to explore your destination. I fully utilized my downtime between Chennai, Bangalore and Hyderabad to explore sights like the ancient UNESCO World Heritage stone temples at Mahabalipuram, Valluvar Kottam in Chennai, Tipu Sultan's palace in Bangalore as well as Golkonda Fort, Charminar and Qutab Shahi tombs in Hyderabad. This was my second time to Bangalore and Chennai but for me India will seemingly always remain the land of many wonders. To see what I mean, just check out the album below (click here if you can't see the embedded slideshow):
I must also say from the moment my plane landed to the moment it took off, India proved the land of warmhearted, kind, hospitable people. I don't mean just the good folks in the Java community but literally every one of the many people I encountered in India. Indians may still have many things that they must do without but Indians are not short of pride, hope, civility and hospitality. All in all my trip to India was a thorough pleasure and I look forward to going back again soon.