Wednesday Nov 12, 2014

NFJS Pacific Northwest Software Symposium Seattle Trip Report

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. The first one was my JavaScript + Java EE 7 talk titled "Using JavaScript/HTML5 Rich Clients with Java EE 7". This talk is basically about aligning EE 7 with the emerging JavaScript ecosystem (specifically AngularJS). The slide deck for the talk is here:

The demo application code is posted on GitHub. The code should be a helpful resource if this development model is something that interests you. Do let me know if you need help with it but the instructions should be fairly self-explanatory.

My second talk was titled "Using NoSQL with ~JPA, EclipseLink and Java EE". The talk covers an interesting gap that there is surprisingly little material on out there. The talk has three parts -- a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA centric facade using EclipseLink NoSQL, Hibernate OGM, DataNucleus, Kundera, Easy-Cassandra, etc and how to use NoSQL native APIs in Java EE via CDI. The slides for the talk are here:

The JPA based demo is available here, while the CDI based demo is available here. Both demos use MongoDB as the data store. Do let me know if you need help getting the demos up and running.

I finished the day with a talk titled Building Java HTML5/WebSocket Applications with JSR 356. The talk introduces HTML 5 WebSocket, overviews JSR 356, tours the API and ends with a small WebSocket demo on GlassFish 4. The slide deck for the talk is posted below.

The demo code is posted on GitHub: https://github.com/m-reza-rahman/hello-websocket.

On the second day I started with our flagship Java EE 7/8 talk. Currently the talk is basically about Java EE 7 but I'm slowly evolving the talk to transform it into a Java EE 8 talk as we move forward. The following is the slide deck for the talk:

The last talk I delivered was my Cargo Tracker/Java EE + DDD talk. 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.

My next NFJS show is the Great Lakes Software Symposium in Chicago on November 14 - 16. Here's my tour schedule so far, I'll keep you up-to-date as the tour goes forward (I'll be updating my content on the tour for the next season):

I hope you'll take this opportunity to get some updates on Java EE as well as the other useful content on the tour?

Monday Nov 03, 2014

NFJS New England Software Symposium Boston Trip Report

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 (more on that below).

I had five talks total over two days, more or less back-to-back. The first one was our flagship Java EE 7/8 talk. Currently the talk is basically about Java EE 7 but I'm slowly evolving the talk to transform it into a Java EE 8 talk as we move forward. The following is the slide deck for the talk:

The second talk I delivered was my Cargo Tracker/Java EE + DDD talk. 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.

I finished off the day with my JavaScript + Java EE 7 talk titled "Using JavaScript/HTML5 Rich Clients with Java EE 7". This talk is basically about aligning EE 7 with the emerging JavaScript ecosystem (specifically AngularJS). The slide deck for the talk is here:

The demo application code is posted on GitHub. The code should be a helpful resource if this development model is something that interests you. Do let me know if you need help with it but the instructions should be fairly self-explanatory.

The first talk on the next day was my session titled "Using NoSQL with ~JPA, EclipseLink and Java EE". The talk covers an interesting gap that there is surprisingly little material on out there. The talk has three parts -- a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA centric facade using EclipseLink NoSQL, Hibernate OGM, DataNucleus, Kundera, Easy-Cassandra, etc and how to use NoSQL native APIs in Java EE via CDI. The slides for the talk are here:

The JPA based demo is available here, while the CDI based demo is available here. Both demos use MongoDB as the data store. Do let me know if you need help getting the demos up and running.

My last one for the show was the talk on JMS 2. Besides covering JMS 2, I've also started to roll in some of the possibilities for JMS 2.1. The slides for the talk are posted below:

Since Boston is such a short drive, I decided to skip the tedious flight for this show. One very nice thing this did was enable me to stop by and speak at the Connecticut Java User Group on the way there. 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 did my JavaScript + Java EE talk there. The attendance was great and I got some great feedback. I hope to speak at the JUG again in the near future as time allows.

My next NFJS show is the Great Lakes Software Symposium in Chicago on November 14 - 16. Here's my tour schedule so far, I'll keep you up-to-date as the tour goes forward:

I hope you'll take this opportunity to get some updates on Java EE as well as the other useful content on the tour?

Thursday Aug 21, 2014

NFJS Central Iowa Software Symposium Des Moines Trip Report

As some of you may be aware, I recently joined the well-respected US based No Fluff Just Stuff (NFJS) 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 by far the cheapest and most effective way to stay up to date through some world class speakers and talks. Following the US cultural tradition of old-fashioned roadshows, NFJS is basically a set program of speakers and topics offered at major US cities year round.

The NFJS Central Iowa Software Symposium was held August 8 - 10 in Des Moines. The attendance at the event and my sessions was moderate by comparison to some of the other shows. 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. The first one was my JavaScript + Java EE 7 talk titled "Using JavaScript/HTML5 Rich Clients with Java EE 7". This talk is basically about aligning EE 7 with the emerging JavaScript ecosystem (specifically AngularJS). The slide deck for the talk is here:

The demo application code is posted on GitHub. The code should be a helpful resource if this development model is something that interests you. Do let me know if you need help with it but the instructions should be fairly self-explanatory. I am delivering this material at JavaOne 2014 as a two-hour tutorial. This should give me a little more bandwidth to dig a little deeper, especially on the JavaScript end.

The second talk (on the second day) was our flagship Java EE 7/8 talk. Currently the talk is basically about Java EE 7 but I'm slowly evolving the talk to transform it into a Java EE 8 talk as we move forward. The following is the slide deck for the talk:

The next talk I delivered was my Cargo Tracker/Java EE + DDD talk. 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.

The third was my talk titled "Using NoSQL with ~JPA, EclipseLink and Java EE". The talk covers an interesting gap that there is surprisingly little material on out there. The talk has three parts -- a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA centric facade using EclipseLink NoSQL, Hibernate OGM, DataNucleus, Kundera, Easy-Cassandra, etc and how to use NoSQL native APIs in Java EE via CDI. The slides for the talk are here:

The JPA based demo is available here, while the CDI based demo is available here. Both demos use MongoDB as the data store. Do let me know if you need help getting the demos up and running.

I finishd off the event with a talk titled Building Java HTML5/WebSocket Applications with JSR 356. The talk introduces HTML 5 WebSocket, overviews JSR 356, tours the API and ends with a small WebSocket demo on GlassFish 4. The slide deck for the talk is posted below.

The demo code is posted on GitHub: https://github.com/m-reza-rahman/hello-websocket.

My next NFJS show is the Greater Atlanta Software Symposium on September 12 - 14. Here's my tour schedule so far, I'll keep you up-to-date as the tour goes forward:

I hope you'll take this opportunity to get some updates on Java EE as well as the other useful content on the tour?

Friday Aug 15, 2014

JavaDay Taipei 2014 Trip Report

JavaDay Taipei 2014 was held at the Taipei International Convention Center on August 1st. Organized by Oracle University, it is one of the largest Java developer events in Taiwan. This was another successful year for JavaDay Taipei with a fully sold out venue packed with youthful, energetic developers (this was my second time at the event and I have already been invited to speak again next year!). In addition to Oracle speakers like me, Steve Chin and Naveen Asrani, the event also featured a bevy of local speakers including Taipei Java community leaders. Topics included Java SE, Java EE, JavaFX, cloud and Big Data.

It was my pleasure and privilege to present one of the opening keynotes for the event. I presented my session on Java EE titled "JavaEE.Next(): Java EE 7, 8, and Beyond". I covered the changes in Java EE 7 as well as what's coming in Java EE 8. I demoed the Cargo Tracker Java EE BluePrints. I also briefly talked about Adopt-a-JSR for Java EE 8. The slides for the keynote are below (click here to download and view the actual PDF):

It appears your Web browser is not configured to display PDF files. No worries, just click here to download the PDF file.

In the afternoon I did my JavaScript + Java EE 7 talk titled "Using JavaScript/HTML5 Rich Clients with Java EE 7". This talk is basically about aligning EE 7 with the emerging JavaScript ecosystem (specifically AngularJS). The talk was completely packed. The slide deck for the talk is here:

The demo application code is posted on GitHub. The code should be a helpful resource if this development model is something that interests you. Do let me know if you need help with it but the instructions should be fairly self-explanatory. I am delivering this material at JavaOne 2014 as a two-hour tutorial. This should give me a little more bandwidth to dig a little deeper, especially on the JavaScript end.

I finished off Java Day Taipei with my talk titled "Using NoSQL with ~JPA, EclipseLink and Java EE" (this was the last session of the conference). The talk covers an interesting gap that there is surprisingly little material on out there. The talk has three parts -- a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA centric facade using EclipseLink NoSQL, Hibernate OGM, DataNucleus, Kundera, Easy-Cassandra, etc and how to use NoSQL native APIs in Java EE via CDI. The slides for the talk are here:

The JPA based demo is available here, while the CDI based demo is available here. Both demos use MongoDB as the data store. Do let me know if you need help getting the demos up and running.

After the event the Oracle University folks hosted a reception in the evening which was very well attended by organizers, speakers and local Java community leaders.

I am extremely saddened by the fact that this otherwise excellent trip was scarred by terrible tragedy.

After the conference I joined a few folks for a hike on the Maokong Mountain on Saturday. The group included friends in the Taiwanese Java community including Ian and Robbie Cheng. Without warning, fatal tragedy struck on a remote part of the trail. Despite best efforts by us, the excellent Taiwanese Emergency Rescue Team and World class Taiwanese physicians we were unable to save our friend Robbie Cheng's life. Robbie was just thirty-four years old and is survived by his younger brother, mother and father. Being the father of a young child myself, I can only imagine the deep sorrow that this senseless loss unleashes. Robbie was a key member of the Taiwanese Java community and a Java Evangelist at Sun at one point.

Ironically the only picture I was able to take of the trail was mere moments before tragedy. I thought I should place him in that picture in profoundly respectful memoriam:

Perhaps there is some solace in the fact that there is something inherently honorable in living a bright life, dying young and meeting one's end on a beautiful remote mountain trail few venture to behold let alone attempt to ascend in a long and tired lifetime. Perhaps I'd even say it's a fate I would not entirely regret facing if it were my own. With that thought in mind it seems appropriate to me to quote some lyrics from the song "Runes to My Memory" by legendary Swedish heavy metal band Amon Amarth idealizing a fallen Viking warrior cut down in his prime:

"Here I lie on wet sand
I will not make it home
I clench my sword in my hand
Say farewell to those I love

When I am dead
Lay me in a mound
Place my weapons by my side
For the journey to Hall up high

When I am dead
Lay me in a mound
Raise a stone for all to see
Runes carved to my memory"

I submit my deepest condolences to Robbie's family and hope my next trip to Taiwan ends in a less somber note.

Thursday Mar 13, 2014

Code PaLOUsa 2014 Trip Report

Code PaLOUsa 2014 took place 24-26 February in Louisville, Kentucky. Code PaLOUsa is a fairly unassuming conference with great quality farther away from the beaten paths. The conference is principally rooted in .NET but is trying hard to beef up Java content, so it was important to have a presence from our team. My fellow Oracle colleague Scott Seighman (Cleveland JUG leader) also supported local Java developers by delivering a Java SE 8 talk. Topics covered included Java, .NET, JavaScript, mobile, methodology and Big Data/NoSQL.

I was very fortunate in that on my way to Kentucky, I was able to stop by at the Montgomery County (Maryland) JUG for a Java EE 7 session. The JUG was very kind in agreeing to schedule an off-cadence meeting to accommodate my trip. I have been to the JUG several times over the years and it is always a good experience with solid attendance - this time was no exception. Whenever I can I'll try to schedule another talk with the JUG. I essentially presented the same Java EE 7 deck we have been using for a while as our main talk (embedded below) - just taking time to do a bit more of a deep dive (the session lasted two and a half hours with almost everyone staying until the very end!).

Since the JUG meeting lasted much longer than I expected, I didn't arrive at Louisville until late the next day (yes, I drove :-)). With just a few hours to spare, I did my first talk at Code PaLOUsa titled "Using NoSQL with ~JPA, EclipseLink and Java EE". The talk covers an interesting gap that there is surprisingly little material on out there. The talk has three parts -- a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA centric facade using EclipseLink NoSQL, Hibernate OGM, DataNucleus, Kundera, Easy-Cassandra, etc and how to use NoSQL native APIs in Java EE via CDI. The slides for the talk are here:

The next day I presented one of my most favorite talks titled "Applied Domain-Driven Design Blue Prints for Java EE". The talk is essentially about the Cargo Tracker Java EE Blue Print project. The project is an attempt at reviving and modernizing the much needed Java EE Blue Prints effort to demonstrate some architectural best practices for Java EE. The talk has three parts -- a brief overview of DDD theory, mapping DDD to Java EE and actual running Cargo Tracker DDD code with Java EE/GlassFish. The talk was well attended and I got excellent feedback on the talk later. InfoQ recorded the session so hopefully it will be available to a broader audience soon. The slides for the talk are here:

After the conference I took some time out to enjoy one of the most unique experiences in the World - the Louisville Mega Cavern. To my knowledge, it is one of the largest man-made Caverns open to the general public anywhere. A truly massive former limestone mine, during the early days of the Cold War it was used as a fallout shelter. If that isn't fascinating enough, it might be the only place in the world you can zip line through a primitive limestone mine!

While the zip line was a truly awesome experience (there's five of them total across various parts of the mine), I wouldn't advise it for the uninitiated. With pitch dark corners, jagged rocks, mud/dirty pools of water, sudden sheer drops, simple rope bridges and fast/long inclines I imagine it could be a very scary experience for folks that have never been inside a primitive cave or cavern (natural or man made) - check out the pictures below. You have been duly warned :-). However if you feel you can make it, it is definitely worth doing if you are in the area.

All in all Code PaLOUsa, the Maryland JUG and Kentucky were worth the while. To boot, I didn't have to take a dull long flight :-).

Monday Nov 11, 2013

Java Developer Days India Trip Report

You are probably aware of Oracle's decision to discontinue the relatively resource intensive regional JavaOnes in favor of more Java Developer Days, virtual events and deeper involvement with independent conferences. In comparison to the regional JavaOnes, Java Developer Days are smaller, shorter (typically one full day), more focused (mostly Oracle speakers/topics) and more local (targeting cities). For those who have been around the Java ecosystem for a few years, they are basically the current incarnation of the highly popular and developer centric Sun Tech Days. October 21st through October 25th I spoke at Java Developer Days India. This was basically three separate but identical events in the cities of Pune (October 21st), Chennai (October 24th) and Bangalore (October 25th). For those with some familiarity with India, other than Hyderabad these cities are India's IT powerhouses.

The events were basically focused on Java EE. I delivered five of the sessions (yes, you read that right), while my friend NetBeans Group Product Manager Ashwin Rao delivered three talks. Jagadish Ramu from the GlassFish team India helped me out in Bangalore by delivering two sessions. It was also a pleasure to introduce my co-contributor to the Cargo Tracker Java EE Blue Prints project Vijay Nair at Bangalore during the opening talk. I thought it was a great dynamic between Ashwin and I flipping between talking about the new features and demoing live code in NetBeans. The following were my sessions (source PDF and abstracts posted as usual on my SlideShare account):

The event went well and was packed in all three cities. The Q&A was great and Indian developers were particularly generous with kind words :-). It seemed the event and our presence was appreciated in the truest sense which I must say is a rarity. The events were exhausting but very rewarding at the same time.

As hectic as the three city trip was I tried to see at least some of the major sights (mostly at night) since this was my very first time to India. I think the slideshow below is a good representation of the riddle wrapped up in an enigma that is India (and the rest of the Indian sub-continent for that matter):

Ironically enough what struck me the most during this trip is the woman pictured below - Shushma. My chauffeur, tour guide and friend for a day, she fluidly navigated the madness that is Mumbai traffic with skills that would make Evel Knievel blush while simultaneously pointing out sights and prompting me to take pictures (Mumbai was my stopover and gateway to/from India). In some ways she is probably the most potent symbol of the new India. I also had occasion to take a pretty cool local bus ride from Chennai to Bangalore instead of yet another boring flight.

All in all I really enjoyed the trip to India and hope to return again soon. Jai Hind :-)!

Tuesday May 28, 2013

JeeConf 2013 Trip Report

JeeConf 2013 was held in historic Kiev on May 24-25. For those of you not familiar with it, JeeConf is the most significant Java conference in the Ukraine. This was a very successful year for this nascent conference with four tracks and capacity attendance. The conference attracted a bevy of local and international speakers including Venkat Subramaniam, Yakov Fain, Talip Ozturk, Jacek Laskowski, Mohamed Taman and Sander Mak. Topics included Java SE, NoSQL, cloud, HTML5/JavaScript, Arquillian and of course Java EE :-).

It was my pleasure and privilege to give the opening talk of the conference. I presented my session on Java EE titled "JavaEE.Next(): Java EE 7, 8, and Beyond". The talk is primarily along the same lines as Arun Gupta's JavaOne 2012 technical keynote. I covered the changes in JMS 2, the Java API for WebSocket (JSR 356), the Java API for JSON Processing (JSON-P), JAX-RS 2, JPA 2.1, JTA 1.2, JSF 2.2, Java Batch, Bean Validation 1.1, Java EE Concurrency and the rest of the APIs in Java EE 7. I also briefly talked about the possible contents of Java EE 8. The talk was received well and I had some pretty good discussions afterwards. It was a full house session which is always encouraging. The slides for the talk are here:

To my delight, the JeeConf folks were very interested in my NoSQL/Java EE talk (titled "Using NoSQL with JPA, EclipseLink and Java EE"). The talk covers an interesting gap that there is surpringly little material on out there. The talk has three parts -- a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA centric facade using EclipseLink NoSQL, Hibernate OGM, DataNucleus, Kundera, Easy-Cassandra, etc and how to use NoSQL native APIs in Java EE via CDI. This talk was also very well attended and the Q & A was excellent. The slides for the talk are here:

The first demo used MongoDB, EclipseLink NoSQL and JUnit. The code for it is available on this GitHub repository: https://github.com/m-reza-rahman/jpa-nosql-demo. The second demo used MongoDB, CDI, Arquillian and JUnit. The code for it is available on this GitHub repository: https://github.com/m-reza-rahman/cdi-nosql-demo. Give me a shout if you need help getting the demos up and running. I plan to write a two-part blog using the contents of this talk, so stay tuned.

Besides presenting my talks, it was great to catch up with the likes of Venkat, Yakov, Talip, Jacek, Mohamed and Sander. In fact, I spent a few hours playing whirlwind tour guide to Talip whizzing past the usual tourist spots in Kiev including Lavra, St. Michael's Cathedral, Saint Sophia Cathedral, St. Andrew's Church, the House with Chimeras, Andriyivski Uzviz and the Golden Gate. I also got a chance to unwind and rock out with Kievites celebrating City Day to a pretty cool Russian AC/DC cover band named Easy Dizzy at the ever popular Docker's pub. It was an almost surreal experience that probably would have been unimaginable just a few decades ago in the dull age of the Iron Curtain (check out the pictures I took below). It's a great indication of how much Ukraine is changing and has changed already. I also got to experience a more traditional part of Ukrainians as a people with a cold, reserved façade that are in reality kind-hearted, generous hosts who think nothing of deciding to warmly befriend a lone (and probably a bit strange) foreigner for the evening.

I definitely enjoyed JeeConf/Kiev and hope to be part of the conference next year again!

Friday Feb 22, 2013

DevNexus 2013 Trip Report

DevNexus 2013 was held in historic Atlanta on February 18-19. For those of you not familiar with it, DevNexus is the most significant Java conference in the South Eastern US. It was started by JBoss Java Champion Burr Sutter and organized by the Atlanta JUG (currently lead by Vincent Mayers, Gunnar Hillert, et al). As usual DevNexus attracted a bevy of world class speakers including Ben Evans, Neal Ford, David Geary and Venkat Subramaniam. Topics included Java SE, NoSQL, mobile, cloud, HTML5/JavaScript and of course Java EE :-).

On the first day of the conference, I presented my session on Java EE titled "JavaEE.Next(): Java EE 7, 8, and Beyond". The talk is primarily along the same lines as Arun Gupta's JavaOne 2012 technical keynote. I covered the changes in JMS 2, the Java API for WebSocket (JSR 356), the Java API for JSON Processing (JSON-P), JAX-RS 2, JPA 2.1, JTA 1.2, JSF 2.2, Java Batch, Bean Validation 1.1, Java EE Concurrency and the rest of the APIs in Java EE 7. I also briefly talked about the possible contents of Java EE 8. The talk was received well and I had some pretty good discussions during Q & A. It was a completely full house session with standing room only! The slides for the talk are here:

To my delight, the DevNexus folks were very interested in my NoSQL/Java EE talk (titled "Using NoSQL with JPA, EclipseLink and Java EE"). The talk covers an interesting gap that there is surpringly little material on out there. The talk has four parts -- a brief overview of JPA 2.1, a birds-eye view of the NoSQL landscape, how to use NoSQL via a JPA facade using EclipseLink NoSQL, Hibernate OGM, DataNucleus, Kundera, Easy-Cassandra, etc and how to use NoSQL native APIs in Java EE via CDI. This talk was also a full house, the Q & A was excellent and I got great feedback afterwards. The slides for the talk are here:

The first demo used MongoDB, JPA, EclipseLink NoSQL and JUnit. The code for it is available on this GitHub repository: https://github.com/m-reza-rahman/jpa-nosql-demo. The second demo used MongoDB, CDI, Arquillian and JUnit. The code for it is available on this GitHub repository: https://github.com/m-reza-rahman/cdi-nosql-demo. Give me a shout if you need help getting the demos up and running. I plan to write a two-part blog using the contents of this talk, so stay tuned.

Besides giving my talks, I attended a few talks on Java SE, HTML 5/JavaScript and mobile. I definitely enjoyed DevNexus and hope to be part of the conference next year.

About



Reza Rahman is a former independent consultant, now Java EE/GlassFish evangelist.

He is the author of the popular book EJB 3 in Action. Reza is a frequent speaker at Java User Groups and conferences worldwide.

Reza has been a member of the Java EE, EJB and JMS expert groups. He implemented the EJB container for the Resin open source Java EE application server.

All views voiced are my own, not necessarily Oracle's.

Search

Categories
Archives
« May 2015
SunMonTueWedThuFriSat
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
      
Today