Monday Apr 13, 2015

A Preview of Java EE @ GIDS 2015

The Great Indian Developer Summit (GIDS) 2015 will be held on April 21-24 in Bangalore, with a follow-on GIDS.Mini to be 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. It is truly a privilege to be able to speak at the event and I am even more fortunate to have a number of Java EE sessions there. While in India I am very happy to say I will also be speaking at a couple of entirely community driven JUG events at the Madras JUG (Chennai) and the Hyderabad Java user group before and after GIDS.

Below are a preview of my talks at GIDS:

  • Using JavaScript/HTML5 Rich Clients with Java EE 7: This is my thus far extremely popular and well-received talk on using Java EE 7 as an effective back-end for JavaScript/HTML5 rich clients. If this is a development model that interests you, the talk should give you some valuable tools to get started. Although I use AngularJS for my examples, the basic participles from a Java EE 7 perspective apply to any JavaScript/HTML5 or native/hybrid mobile client. The slides for the talk are on SlideShare while the demo code is on GitHub. Besides Bangalore, I will be repeating this talk in Hyderabad for GIDS.Mini.
  • Reactive Java EE - Let Me Count the Ways!: This is one of my newest and thus far also extremely popular and well-received talks. It explores how Java EE 7 APIs like JMS, MDB, EJB @Asynchronous, JAX-RS/Servlet/WebSocket async, CDI events and Java EE concurrency utilities along with Java SE 8 features such as lambdas and Completable Futures work to align the platform with the reactive movement. The slides for the talk are here.
  • Applied Domain-Driven Design Blue Prints for Java EE: This talk essentially introduces the Cargo Tracker project. In the talk I cover the very basics of DDD, discuss how DDD constructs apply to Java EE and show how the mapping can be done using Cargo Tracker. The slides for the talk are here.

  • I am very honored that the Madras JUG and Hyderabad JUG invited me to speak to their members while in India for GIDS and very proud that I was able to accept. The GIDS organizers were very gracious in extending their goodwill to support the community. Both the JUGS in Madras and Hyderabad have arranged all day events in slightly different formats, which is awesome.

    The Madras JUG will host multiple talks on the same day. I will be delivering the opening keynote as well as a technical session. For the keynote I will be delivering my thus far very well-received talk titled Why Open Standards and Java/EE Matter. In the talk I will discuss the basic value proposition of open standards like Java and Java EE in maintaining a healthy, competitive, multi-vendor ecosystem. The slides for the talk are here. For the technical talk, I'll be delivering the latest update on Java EE 8. Besides covering the current state of Java EE 8 I also cover how you can get involved in the process including through highly inclusive programs like Adopt-a-JSR. The slides for the Java EE 8 talk are also on SlideShare. The Madras JUG event will be held before GIDS and the details for the event are here.

    The Hyderabad JUG is hosting the Java EE 7 Hands-on-Lab as a full day workshop. This is essentially our flagship lab/workshop at the moment covering Java EE 7. It has always proven popular so far and it is a great way to get some hands-on experience with Java EE 7. The Hyderabad JUG event will take place after GIDS.Mini and the details are here.

    Hope to see you in India soon during at least one of these events? As always never hesitate to reach out to me if there is something I can help with or if you have a question. I'll bring along some Java/Java EE goodies you are welcome to :-).

    Monday Jan 26, 2015

    DDD (Domain-Driven Design) + Java EE "Hanginar" on Thursday

    My former colleague at Oracle and fellow Java EE advocate Arun Gupta has been up to something pretty cool - what he calls "Java EE Hanginars". The idea is essentially to have a series of webinars on various Java EE topics using Google Hangout. The format is also a bit different - the idea is to be more code and Q & A centric rather than lecture centric. He gathers a set of questions from the community on the topic before the webinar for live discussion. Thus far he has had good success covering a number of topics including Hibernate OGM, OSGi, jOOQ and CI/CD using Java EE. You can find all of the webinars thus far here. For the fifth webinar in the series, it's now my turn :-).

    I'll be talking about a topic that's been near and dear to me as a former Java EE architect/consultant for a while - Java EE and DDD (Domain-Driven Design). The Java EE part is probably obvious to most of you, but the DDD part may or may not be. DDD is an architectural style that strongly emphasizes reflecting the business domain in software development. Though there are some superficial similarities with the classical J2EE design patterns, in my view DDD is a cleaner, more modern and more OO centric design paradigm. Interestingly DDD concepts like the bounded context are becoming increasing important in determining sensible application partitioning amongst the microservices hype of the day. I think Java EE is actually an excellent fit for DDD (and vice versa). To demonstrate how marrying Java EE and DDD is done, I started a small side project a few years ago at Oracle named Cargo Tracker. As a nice (somewhat intended) side-effect the project is actually a good non-trivial example of a working Java EE (7) application. Do feel free to check out the linked site if this intrigues you.

    During the webinar, I hope to go over a little bit of the very basics of DDD, demo cargo tracker, show some key code and answer questions. If so inclined, you could add your own questions here. The webinar will start a few minutes before 10 AM Pacific Time (PT) on Thursday January 29th. You should join live here. Hope to see you there?

    Please note that any views expressed here are my own only and certainly does not reflect the position of Oracle as a company.

    Wednesday Nov 12, 2014

    Java EE @ NFJS Pacific Northwest Software Symposium Seattle

    As some of you may be aware I recently joined the well-respected US based No Fluff Just Stuff (NFJS) Tour. The NFJS Pacific Northwest Software Symposium was held October 17 - 19 in Seattle, Washington.

    I had five talks total over two days, more or less back-to-back. I did talks on Java EE 7/Java EE 8, the Cargo Tracker Java EE Blue Prints, JavaScript + Java EE, Java EE + NoSQL as well as WebSocket. More details, including slide decks and code as well as my NFJS tour schedule, posted on my personal blog.

    Monday Nov 03, 2014

    Java EE @ NFJS New England Software Symposium Boston

    As some of you may be aware I recently joined the well-respected US based No Fluff Just Stuff (NFJS) Tour. The NFJS New England Software Symposium was held September 19 - 21 in Boston. This is one of the larger NFJS shows and attendance at the show and my sessions was pretty good. It is always encouraging to see the same folks attend more than one talk. On my way to the show I also stopped by at the Connecticut Java User Group. The JUG is led by my friend and co-author for EJB 3 in Action Ryan Cuprak. I've spoken at the JUG a number of times over the years and it was good to be back.

    I had five talks total over two days, more or less back-to-back. I did talks on Java EE 7/Java EE 8, the Cargo Tracker Java EE Blue Prints, JavaScript + Java EE, Java EE + NoSQL as well as JMS 2. More details, including slide decks and code as well as my NFJS tour schedule, posted on my personal blog.

    Wednesday Oct 29, 2014

    Java EE @ NFJS Greater Atlanta Software Symposium

    As some of you may be aware I recently joined the well-respected US based No Fluff Just Stuff (NFJS) Tour. The NFJS Greater Atlanta Software Symposium was held September 12 - 14.

    I had four talks total over two days, more or less back-to-back. I did talks on Java EE 7/Java EE 8, WebSocket, the Cargo Tracker Java EE Blue Prints and JavaScript + Java EE. More details, including slide decks and code as well as my NFJS tour schedule, posted on my personal blog.

    Friday Aug 22, 2014

    Java EE @ NFJS Central Iowa Software Symposium Des Moines

    As some of you may be aware I recently joined the well-respected US based No Fluff Just Stuff (NFJS) Tour. The NFJS Central Iowa Software Symposium was held August 8 - 10 in Des Moines. The Des Moines show is one of the smaller ones but still was good overall. It is one of the few events of it's kind that take place this part the country so it is extremely important.

    I had five talks total over two days, more or less back-to-back. I had decent attendance for all my sessions and had many of the same folks staying for multiple sessions which is always a very good sign. I did talks on Java EE 7/Java EE 8, WebSocket, the Cargo Tracker Java EE Blue Prints, JavaScript + Java EE and NoSQL + Java EE. More details, including slide decks and code as well as my NFJS tour schedule, posted on my personal blog.

    Thursday Jul 31, 2014

    Java EE @ NFJS Lone Star Software Symposium Austin

    As some of you may be aware, I recently joined the well-respected US based No Fluff Just Stuff (NFJS) Tour. The NFJS series Lone Star Software Symposium was held July 18 - 20 in Austin, Texas. The Austin show is one of the smaller ones but still was good overall. It is one of the few events of it's kind that take place this part the country so it is extremely important.

    I had three talks total over two days, more or less back-to-back. I had decent attendance for all my sessions and had many of the same folks staying for multiple sessions which is always a very good sign. I did talks on Java EE 7/Java EE 8, the Cargo Tracker Java EE Blue Prints and JMS 2. More details, including slide decks and code as well as my NFJS tour schedule, posted on my personal blog.

    Wednesday Jul 16, 2014

    Java EE @ UberConf

    UberConf was held June 24 - June 27 in Denver, Colorado. For those unaware, this is essentially the largest single annual event under the NFJS umbrella and to a certain extent the culminating point of the US based tour. Unlike the usual NFJS events that are squarely locally focused, it's intent is to be a national/international conference. Consequently it has a larger set of attendees, speakers, tracks and sessions. This year's event was very vibrant and clearly a success by all measures.

    I had six talks total over three days, essentially back-to-back. I had excellent attendance for all my sessions and had many of the same folks staying for multiple sessions which is always a very good sign. I did talks on Java EE 7/Java EE 8, the Cargo Tracker Java EE Blue Prints, JMS 2, aligning Java EE 7 with the HTML 5/JavaScript Rich Client landscape, JAX-RS 2 and aligning Java EE with the NoSQL landscape. I also helped out with Arun Gupta's excellent Java EE 7 lab. More details, including slide decks and code, posted on my personal blog.

    Wednesday Jul 09, 2014

    Java EE @ NFJS Central Ohio Software Symposium

    As some of you may be aware, I recently joined the well-respected US based No Fluff Just Stuff (NFJS) Tour. My first engagement with NFJS was the New York Software Symposium on April 4-5. The show went relatively well. My second engagement was extremely encouraging - the Central Ohio Software Symposium in Columbus, Ohio on June 6-8. Unlike New York, the Columbus show was fully sold out and very vibrant.

    I had five talks total over two days, essentially back-to-back. I had a full house for all my sessions and had many of the same folks staying for multiple sessions which is always a very good sign. I did talks on Java EE 7/Java EE 8, the Cargo Tracker Java EE Blue Prints, JMS 2, aligning Java EE 7 with the HTML 5/JavaScript Rich Client landscape and JAX-RS 2. More details, including slide decks and code, posted on my personal blog.

    Friday May 30, 2014

    Java EE @ No Fluff Just Stuff Tour

    If you work in the US and still don't know what the No Fluff Just Stuff (NFJS) Tour is, you are doing yourself a very serious disfavor. NFJS is basically a set program of world class speakers and topics offered at major US cities year round. I am proud to share with you that I recently joined the legendary NFJS troupe. My hope is that this will help solve the lingering problem of effectively spreading the Java EE message here in the US.

    I had my tour debut on April 4-5 with the NFJS New York Software Symposium. I did four of my most favorite talks and it was not that bad for a start - I have more in the coming months in Columbus Ohio, Denver Colorado and Austin Texas. More details on the tour posted on my personal blog.

    Hope to see you on the tour soon?

    Tuesday Apr 02, 2013

    Generic JPA DAO/Repository Implementation

    The DAO (aka Repository in Domain-Driven Design parlance) is a pervasive design pattern in server-side applications today. If you have a very large number of DAOs that are fairly homogenous/CRUD based, it can be very useful to have a generic version that you can then subclass as needed. German author and celebrated Java EE advocate Adam Bien actually took the time to create generic JPA based DAO code and generously share it with us all.

    I encourage you to take a look and discuss the code, preferably with Adam (or here if you wish). If you are the open source hacker sort, you could even consider giving the code more airtime by adding it to a separate project perhaps under something like Apache DeltaSpike.

    Monday Apr 01, 2013

    Java EE@33rd Degree 2013

    33rd Degree 2013 was held in historic Warsaw, Poland on March 13-15. For those unaware, dubbed "the Conference for Java Masters" this is the premier Java conference for Poland. It attempts to bring together elite speakers in the Java community across the globe. Some notable speakers this year included Tim Berglund, Adam Bien, Ted Neward, Dan North, Simon Ritter, Venkat Subramaniam, Geertjan Wielenga and Kai Wahner.

    I delivered three full-house talks - my talk on Java EE 7 (our flagship talk), a talk on WebSocket/JSR 356 and my DDD/next-generation Java EE BluePrints talk. More details on the sessions and 33rd Degree, including the slide decks and code, posted on my personal blog.

    Thursday Nov 08, 2012

    Java EE/GlassFish@Java2Days

    Java2Days 2012 was held in Sofia, Bulgaria on October 25-26. This was the third installment of the premier Java conference for the Balkan region, having three separate tracks for Java, the Cloud and Mobile. It attracted over a thousand enthusiastic, bright young developers and a number of world class speakers.

    There were no less than three full-house sessions on Java EE/GlassFish - one on Java EE 7, one on Domain-Driven Design using Java EE 6 and one on JSR 356/WebSocket. More details on Java EE/GlassFish@Java2Days, including slides and code examples, posted here.