Monthly Archives: November 2013

Java EE Samples Github Organization: Java EE 7 Samples and Hands-on Lab already moved

After 737 commits, 15 contributors, 134 tests, its time for github.com/arun-gupta/javaee7-samples to move to github.com/javaee-samples/javaee7-samples. Similarly Java EE 7 hands-on lab is also moved from github.com/arun-gupta/javaee7-hol to github.com/javaee-samples/javaee7-hol.

Octocat

Java EE samples organization is a new GitHub organization, instead of a personal repo, and will provide a common ground for everybody in the community to contribute.

Moving these two repos to an organization opens up room for growth. If you have any Java EE 6/7 samples, tests, applications, hands-on lab or any other guides then feel free to transfer/create a new repository and contribute. This new organization would provide a common ground for all app server vendors like Red Hat, Oracle, IBM and Tomitribe to contribute. Independent consultants and every body else is welcome to contribute content too.

This will be a new central location for all samples around Java EE – truly showing the power of Community Powered Innovation!

Ready to contribute ?

  • Arquillian Hackergarten provide instructions on how to contribute unit tests to Java EE 7 Samples. WildFly and GlassFish CI jobs polls the workspace every 15 minutes.
  • Convert Java EE 7 hands-on lab to AsciiDoc by assigning an issue to yourself.

This will be one organization to rule them all :-)

Thanks to Aslak Knutsen, the Arquillian man, for the nudge!

JBoss EAP 6 Clustering Reference Architecture

JBoss Enterprise Application Platform 6 (EAP 6) is a fast, secure and powerful middleware platform built upon open standards and compliant with the Java
Enterprise Edition 6 (Java EE) specification. It allows horizontal scaling by distributing the load between multiple physical and virtual machines and eliminating a single point of failure.

Want to learn how to stands up two EAP 6 Clusters, each set up as a separate domain, one active and another passive, to eliminate any downtime due to maintenance and upgrades ?

jboss-eap6-clustering-reference-architecture

Red Hat Reference Architecture Series (@RedHatRefArch) announced the availability of a new reference architecture for you!

Download JBoss EAP 6 Clustering reference architecture.

This reference architecture demonstrates EAP 6 Cluster capabilities, including replication of various session types, configuration and setup. Several technologies are covered, including:

  • Red Hat’s JBoss EAP 6.1
  • Apache Web Server
  • HTTP / Stateful session replication
  • JPA 2nd level cache
  • HornetQ cluster and CLI

Automated Java/CLI scripts are used to automatically build out two clusters of three nodes, each as a managed domain. Each node includes one live and two backup HornetQ servers using message replication to provide redundancy. Cache invalidation enables second-level caching of JPA entities, while session replication is used for HTTP and stateful session beans.

In the meanwhile, WildFly 8 is coming along well and will provide full Java EE 7 compliance. It will be released in the next few weeks. Now is a good time to download WildFly and try your applications on it. A subsequent version of WildFly will be the basis for JBoss EAP 7.

Tech Tip #1 shows you how to get started with WildFly. github.com/arun-gupta/javaee7-samples provide a comprehensive set of Java EE 7 samples that run on WildFly. And if you are interested in creating tests for these samples, follow the steps in Devoxx 2013 Hackergarten and send a pull request.

JBoss EAP enables you to consume open source software with comfort. Use open source today with the reliance that a commercial support will be available when you need it!

Introduce Java Programming to Kids – JavaOne 2013 Session

Oracle has released a new batch of JavaOne 2013 sessions. I gave several sessions and couple of them were released in the first batch. And this batch released the session I gave with Jim Weaver on Introduce Java Programming to Kids.

The recording is now available on parleys:

Learn from our experience of using Scratch, Greenfoot, Alice, JavaFX, Minecraft, and a bunch of other tools. You should also check out Devoxx4Kids effort which provide a wide range of materials and allow you to be a “cool mom” or a “cool dad” :-)

Don’t forget to rate the talk!

GlassFish Commercial is Dead, WildFly and JBoss EAP to the Rescue

I, along with several others, spent 6+ years at Oracle creating and nurturing the GlassFish community. ~852 blog entries on blogs.oracle.com/arungupta/tags/glassfish vouch for that. I still remember when our team got a presidential award at Sun Microsystems for growing the downloads from 0 to 5 million in 3 years. I was also popularly known as “GlassFish Guy” all around the world. Lots of fond memories …

left Oracle and joined Red Hat a little over 4 weeks ago. Even though we have a competing (better 😉 project in WildFly and product in JBoss EAP but will always have high respect for GlassFish. It is the Reference Implementation as required by JCP and so by design will be always at the leading edge of technology. One of common myths I had to unravel all the time was that GlassFish can be used as a production application server because Sun/Oracle offered commercial support for it.

This was changed by Oracle’s announcement to abandon commercial support for GlassFish. Specifically …

Oracle will no longer release future major releases of Oracle GlassFish Server with commercial support – specifically Oracle GlassFish Server 4.x with commercial Java EE 7 support will not be released.
Commercial Java EE 7 support will be provided from WebLogic Server.

This means GlassFish will continue to be at the leading edge of technology (hopefully) but is now merely reduced to a toy. You can use GlassFish as a reference to ensure your code is using pure Java EE 7 APIs but any production deployments should seriously think twice before considering it as a choice of application server. This is also expressed by Antonio Goncalves:

GlassFish will stay open source. Yes, but with no commercial support it will not be used in organizations

Earlier today GlassFish plugin for Eclipse was removed from java.net. I suspect we’ll continue to see more news items like this making GlassFish truly for reference only.

This also means that today there are no vendors offering commercial support for Java EE 7 applications. Johan Vos from Lodgon jumped on the opportunity and offered commercial support for GlassFish. Johan (disclaimer: a great friend) is extremely knowledgeable about the internals and the codebase so he would be your good bet in case you want production support.

This decision from Oracle makes business sense as having two application server from one company is always confusing. This is the reason Sun (unfortunately) could not survive and Oracle will. David Blevins explained wonderfully in his post that open source isn’t free. In addition to WildFly, TomEE is the only open source application server that is now commercially supported by Tomitribe.

The announcement also said:

Oracle recommends that existing commercial Oracle GlassFish Server customers begin planning to move to Oracle WebLogic Server, which is a natural technical and license migration path forward

This would again make sense from Oracle’s perspective, at least for license, but not so much from customers or community perspective. Forester research analyst John Rhymer was quoted on that:

Folks that prefer GlassFish as their Oracle-supported production Java server now are looking at a big rise in costs

Agreed that Java EE is the common binding thread between the two application servers and there is some support for deployment descriptors across the two application servers. But that’s where the connection stops. Migrating an application from GlassFish to WebLogic is like migrating from one application server to another application server, and InfoQ agrees with that. They even said:

This needs more planning and effort, compared to moving to GlassFish with commercial support, or switching from WildFly to JBoss EAP. 

Deployment descriptor interoperability is good to get started with but Markus Eisele explained in his blog entry R.I.P. GlassFish – Thanks for all the fish.:

Even that both WLS and GF understand at least a bit of each others deployment descriptors there is a high risk buried in here that such a setting is the road to trouble.

Even if there is a knowledge of deployment descriptors but is that how the application will go into production as well ? What if support for GlassFish deployment descriptors is dropped from WebLogic ? Migrate again ?

Oracle also talks about shared code between GlassFish and WebLogic. If applications are built using standard Java EE APIs then the underlying implementations does not really matter much. Anyway most migration effort is associated with monitoring, management, clustering, and administration which is completely different between the GlassFish and WebLoigic servers. Customers estimating the level of effort to migrate away from GlassFish have the same analysis to perform for WebLogic or JBoss Enterprise Application Platform. Antonio also highlighted this aspect:

WildFly and JBoss have the same code base, GlassFish and Weblogic don’t (and that makes a huge difference between RedHat and Oracle app servers)

Commercial GlassFish customers who want to explore a migration to WebLogic will need to evaluate the cost of both code and license migration. Oracle has not announced any license credit or reduced upgrade pricing for commercial GlassFish customers considering migration to WebLogic. The latest Oracle price list dated October 17, 2013 lists the per processor price of GlassFish at $5,000 and WebLogic Server Enterprise Edition at $25,000, you do the Math!

JBoss EAP calculator helps you compare ongoing subscription cost of JBoss EAP and upfront license and ongoing support/maintenance costs of WebLogic and WebSphere. As shown in the EAP calculator there is 92% savings using JBoss EAP over WebLogic over 3 years.

6 Facts blog talk about WebLogic is not always more expensive than Oracle GlassFish Server. The blog seems correct on the cost analysis but it does not mention that WebLogic Standard Edition does not offer any clustering and failover capabilities. That also makes the Standard Edition that much less attractive an offering. You get what you pay for!

WildFly is the bleeding edge innovation engine for Red Hat and JBoss EAP allows customers to consume open source with ease. If you are looking for an open source application platform with commercial support from a large vendor, then your only choice is Red Hat.

We are open and this is also stated in a very objective opinion from Sharat Chander (a great friend and my ex-colleague):

 

Here is one tweet that I saw after the announcement and we’ll continue to see more of these …

What can you do ?

  • WildFly 8 is getting ready to be released and is passing ~99% TCK for Java EE 7 compliance. Make sure to try your applications on WildFly and report any bugs. Tech Tip #1 shows how to get started.
  • Watch a Deep Dive into WildFly 8 and Java EE 7 webinar to learn more about WildFly 8.
  • Download JBoss EAP and try your applications on it. You can always reach out to Red Hat Consulting if you need help with migration efforts.
  • Try your Java EE 6 applications on OpenShift (deployed on JBoss EAP 6) or Java EE 7 applications using WildFly cartridge.

Red Hat and I are here to help!

Red Hat moments at Devoxx

Complete set of pictures from Devoxx 2013 are available in this flickr album. Lets meet some of the Red Hatters and community members from the conference and learn about them.

Meet Guillaume Scheibel (@g_scheibel) and ask him anything about Hibernate OGM. This is how you’ll add support for NoSQL to your Java EE applications.

Some of the best technical strategist in middleware are at Red Hat, check out Jeremy Brown (@tenforty) on the right corner…

This is how we welcome Devoxxians (@RedHatEvents)…

Meet Eric Schabell (@ericschabell) and ask him anything about any integration or BPM products at JBoss, particularly JBoss BRMS and Drools …

Meet Gavin King, the man who was the specification lead for Contexts and Dependency Injection and now Ceylon…

Meet Tim Fox (@timfox) and ask him anything about reactive functional and polyglot programming using Vert.x …

Meet Burr Sutter (@burrsutter) and ask him anything about JBoss Tools and how to bring your enterprise and mobile together using AeroGear …

Meet Jason Porter (@lightguardjp) and ask him anything about JBoss Developer Framework, rapid Java EE app development using JBoss Forge, text-based document authoring using AsciiDoc, testing your enterprise applications in a container-independent way using Arquillian …

Ask Emmanuel Bernard (@emmanuelbernard) anything about Hibernate, Hibernate OGM, Ceylon, his podcasts – JBoss Community Asylum and Les Cast Codeurs …

And this me …

Ask me anything about Red Hat, JBoss, Java EE 7, WildFly, community engagement, speaking opportunities, or anything that comes to your mind :)

There were a lot more Red Hatters at Devoxx and you can check out some more pics in the following album:

Notes from Java EE meetup at Devoxx

Devoxx provides a great opportunity for the key Java EE players to meet and discuss topics of interest. With the recently released Java EE 7 platform this year’s Birds of Feather session goal was to collect feedback on Java EE 7, ideas and wishes for Java EE 8, and any thing else that would encourage wider participation from the community.

David Delabassee (Oracle), David Blevins (Tomitribe), Peter Pilgrim (independent), Johan Vos (Lodgon), several JUG leaders, and other interested community members were present in this meetup. And of course I was there too!

Here are my notes from the discussion:

  • Feedback on Java EE 7: JCP 2.9 allowed different Java EE 7 JSRs to run transparently. Each project had a xxx-spec.java.net project (e.g. javaee-spec.java.net) and encouraged participation from the wider Java community. Interim spec drafts and API jar files were made available on the project Downloads area (e.g. javaee-spec downloads). Adopt-a-JSR allowed 20+ JUGs around the world to help shape up Java EE 7 platform.
  • API and Specification source: The source files of the API classes and source of the specification needs to be checked into the workspace. This will enable interested members to play with the API classes and provide alternative proposals. A text-based format (e.g. AsciiDoc) for the specification source is strongly preferred. This will allow community members to provide concrete proposals for specific sections from the specification. This will also help the specification lead to easily merge the submitted proposals in the existing specification. A git-based repository is strongly preferred as it enables and encourages collaboration. For example, source code for CDI API classes is available here and the text-based specification here. If  git-based repository cannot be created then a mirror between the existing repository and git must be established.
  • TCK should be open-sourced: A JSR consists of three components: Specification, Reference Implementation, and TCK. The specification is released under a fairly standard license. However as discussed above the source for API classes and specification needs to be made more publicly available. The Reference Implementations are released under an OSI-approved license. IBM led JSR 352 and the TCK is available under Apache License 2.0. Similarly Red Hat led JSR 346 and 349 and the TCK is available under Apache License 2.0. However TCKs for Oracle-led JSRs are available under this license (similar ones for other specifications). Open sourcing the TCK has been discussed multiple times in the past and Oracle already offers TCK to non-profits like Apache and Eclipse Foundation at no charge. However this still seems a last bit of “closed” piece in the otherwise fairly open and transparent process. TCK tests can also serve as extremely valuable resource for the developers to learn the technology. Adam Bien’s SmokeTests and Java EE 7 samples are turning out valuable resources for the developers and container implementors in lack of an open source TCK.A later discussion with David Blevins (founder of Tomitribe) revealed that it is very important to have TCK from the very beginning in order to implement the container and pass compliance eventually. Otherwise significant parts of the container need to be rewritten, as was done for Apache Geronimo, to get compliance. Open sourcing the TCK would certainly allow Tomitribe to work towards Java EE 7 compliance as well.
  • Testing: 90% of the attendees were using Arquillian for testing their apps against single/multiple containers. There was no need felt to file a JSR and standardize it as that could possibly stunt the innovation in this area.
  • Making contributions easier: Steps to contribute a patch to the Reference Implementation should be clearly listed. This is not restricted to but can typically include how to checkout and build workspace, high-level package overview, run smoke tests, steps to add new tests.
  • Potential topics for Java EE 8: Simpler security, standalone CDI, Action-based framework, Event-driven system, standard way of achieving high availability on application server, ability to generate native mobile apps with a Java EE backend.

All in all, Hildeberto Mendonça summarized in three words “Because we care” on why the attendees showed up for the 7pm BoF. If you do care, get involved!

WildFly 8 is getting dressed and Candidate Release 1 is now anyday!

 

Java EE 7 Hackergarten @ Devoxx 2013

What is Hackergarten ?

Hackergarten is a craftmen’s workshop, classroom, a laboratory, a social circle, a writing group, a playground, and an artist’s studio. Our goal is to create something that others can use; whether it be working software, improved documentation, or better educational materials. Our intent is to end each meeting with a patch or similar contribution submitted to an open and public project. Membership is open to anyone willing to contribution their time.

hackergarten-logo

In short, changing the open source world, one commit at a time!

And that’s what we did at Devoxx 2013 yesterday. Several of us got together in the back of a room, did a poll on what technologies everybody is interested in, gathered around the tables, and started hacking right away!

I was coordinating a team that helped create Arquillian tests for Java EE 7 samples. It was pretty amazing that most of the folks stayed from 9:30am – 5pm, without any break. We had lots of interesting discussions, tons of information exchange on how Java EE 7 work, how Arquillian enables to write container-independent tests and run them in a managed or remote environment easily, how to file bugs on JCP specs, and much more.

Here are some pictures from the event:

   
   

Here is the state of samples repo the morning of hackergarten:

devoxx2013-github-before-hackergarten

And here is the state the morning after hackergarten:

devoxx2013-github-after-hackergarten

As you can see the repo got:

  • 5 new contributors
  • 63 new commits
  • 10 more forks

And to give a slightly better idea of what we did in the hackergarten, here is a pulse of samples repo in the last 24 hrs:

devoxx2013-hackergarten-pulse

This to me, summarizes the power of hackergarten.

Many thanks to @aslakknutsen, @radcortez, @pdudits, @alexishassler, @g_scheibel, @xcoulon, @lightguardjp and many others who helped in making this successful. Even @jfarcand participated remotely in this hackergarten and contributed a new sample.

Of course, this was not possible without Andres Almiray‘s initiative!

A Jenkins job is running on cloudbees and will hopefully generate a consolidated test report on WildFly soon.

The whole experience completely blew away my expectations and I’m truly learning the power of Red Hat’s spirit of “Community Powered Collaboration”.

The formal conference starts in a few hours, and I better get my run in before that. Come talk to me and lets talk you can help with this effort.

See you there!

 

Java EE 7 University at Devoxx 2013

Antonio and I gave a What’s New in Java EE 7 Platform University Session at Devoxx 2013 earlier today. The room was pretty big and almost 90% full. We basically took our “50 tips for Java EE 7 in 50 minutes” from JavaOne 2013 and explained each feature with a lot more code samples. We both really enjoyed sharing our passion with the attendees and think highly interactive attendees also had fun. At least that’s what ~98 tweets asked during the session indicate.

The slides from the session are available:

Java EE 7: Whats New in the Java EE Platform @ Devoxx 2013

And all the code samples used in the talk are available at github.com/arun-gupta/javaee7-samples.

And here are some sample tweets from during/after the session:

 

 

 

 

 

And last but not the least:

If you want to learn more about Java EE 7, we’d love to see you at the Hackergarten tomorrow. Help us write tests for these samples and learn some WildFly, GlassFish, and Aquillian skills. Aslak Knutsen, the Arquillian man, will be there himself. And then we have our Java EE 7 hands-on lab on Wednesday, 14:00 – 17:00.

Enjoy some pictures from the event so far …

 
 
   

And the evolving album so far …

I hope to meet lots of you. See ya at Hackergarten tomorrow, 9:30 by back wall of the exhibitor hall!

One session at #Devoxx 2013

I had an interesting time getting into Antwerp. Almost didn’t made it after the only Lufthansa flight from Cluj-Napoca to Munich got cancelled because of technical problems. We were asked to unboard the flight but luckily the flight technicians fixed the problem. So we boarded again and here I’m sitting in my hotel room on the eve of Devoxx 2013. Thank you Lufthansa for your promptness and allowing me to participate in a top-notch conference!

devoxx13-mainpage

With 195 speakers and 200 presentations at Devoxx 2013, there is a lot to choose from. I believe “hallway track” is the best as that allows you to engage with the best developers in the world. Most likely that’s how I’m going to spend my time at the conference and anyway all these sessions will be available on parleys.com later. Anyhow, here is my list of one session that I’d like to attend, if I want to, during each timeslot:

Monday
9:30-12:30: AngularJS end to end by Igor Minar and Misko Hevery
1:30-4:30: Java EE 7: Whats New in the Java EE Platform University by Antonio Goncalves, David Delabassee, Arun Gupta (of course!)
16:45 – 17:15 From Legacy to Cloud in Under an Hour – Live Coding by David Gageot
17:25 – 17:55: Discover the Zen of Writing (Ascii)Docs by Dan Allen
18:05 – 18:35: A hint of NoSQL into My Java EE by Guillaume Scheibel
20:00 – 21:00: Apache Cassandra BOF by Hayato Shimizu

Tuesday
All Day: Java EE 7 Hackergarten by Hackers and Arun Gupta
9:30 – 12:30: Lambda Programming Lab by Stuart Marks, Angela Caicedo, Simon Ritter
13:30 – 16:30 The Modern Java Developer by Matt Raible
16:45 – 17:15 JUnit PowerUp: Practical Testing Tips by James McGivern
17:25 – 17:55 OpenShift Primer: Get your Applications Into the Cloud by Eric Schabell
19:00 – 20:00 HTTP 2.0/SPDY and Jetty in Depth by Simone Bordet and Thomas Becker
21:00 – 22:00 No So Secrets of REST API Versioning by Stephane Rondal

Wednesday
9:30 – 10:15: Devoxx Welcome and Announcements
10:15 – 10:55 Java8 and Beyond Keynote by Mark Reinhold and Brian Goetz
10:55 – 11:30 Java, Chess, and the Internet of Things by Stephen Chin, Richard Bair
12:00 – 13:00 How to do Kickass Software Development by Sven Peters
13:10 – 13:25 Patterns Shmmaterns by Chet Hasse
13:35 – 13:50 HTTP Caching in Practice by Xavier Coulon
14:00 – 17:00 Java EE 7 Hands-on Lab by Antonio Goncalves, Arun Gupta (of course!)
If not giving the lab, then would like to attend:
14:00 – 15:00 What Java EE can learn from Dynamic Languages ? by Remi Forax
15:10 – 16:10 Introducing Vert.x 2.0 – Taking polyglot application to the next level by Tim Fox
16:40 – 17:40 The Curious Case of JavaScript on the JVM by Attila Szegedi
17:50 – 18:50 Push, Mobile & Cloud Oh My! by Burr Sutter
19:00 – 20:00 Java EE Gathering by David Delabasse
20:00 – 21:00 WildFly Application Server – Community BOF by Dimitris Andreadis

Thursday
9:30 – 9:40 Movie and Practical Info
9:40 – 10:20 Shaping the future of Web Development by Lars Bak
10:50 – 11:50 Programmers are Way Cooler Than Musicians by Gert Beevin
12:00 – 13:00 Java EE 7’s Java API for WebSocket by Arun Gupta (of course)
Otherwise would love to attend: A real-time Architecture using Hadoop and Storm by Nathan Bijnens
13:10 – 13:25 Asciidoctor: Because writing docs does not have to suck by Andres Almiray
13:35 – 13:50 Intoducing Forge 2 by Koen Ars
14:00 – 15:00 Building an Application with Backbone.js by Tim Branyen
15:10 – 16:10 JavaPosse LIVE by Dick Wall and Chet Haase
16:40 – 17:40 MongoDB for JPA Developers by Justin Lee
17:50 – 18:50 Devoxx4Kids Best Practice by Daniel de Luca, Regina ten Bruggencate, Roy van Rijn
19:00 – 20:00 Lessons Learned from Devoxx4Kids by Daniel De Luca, Konrad Malawski, Roy van Rijn, Tasha Carl, Linda van der Pal
20:00 – 21:00 JUG Leaders BOF by Mattias Karlsson, Marijn Verburg, Stephan Janssen
20:00 – 22:00 Devoxx Movie
22:00 – … Noxx

I’m leaving Friday early morning and so didn’t care to look through the schedule. There are no lunch/dinner/social breaks in this schedule, so in all practicality I’ll not be able to meet it. And guess that’s why its a wish list!

Don’t feel bad if your session is missing from this list. This is likely because I’ve already seen it at some other conference, familiar with the topic, or probably more interested in the topic listed above … nothing personal 😉

Any suggestions if I’m missing any particularly good session ?

BTW, JBoss/Red Hat has a big contingent at Devoxx and giving lots of interesting sessions!

And most imporantly, please feel free to reach out and talk to me. I’d hate to miss the opportunity to talk to you!

And lets wait to see if we see any naked men in the keynote now 😉

devoxx13-nakedman

Lets Devoxx!

Java EE 7 at Transylvania JUG

Transylvania JUG is now Java EE 7 ready!


(picture by Constantin Pârțac, more pics in his album)

I connected with Gabriel Pop (JUG leader) at QCon London earlier this year and we have been working on dates since then. I’m so glad it finally worked out. The session was scheduled for about 2 hrs but ~130 attendees were having fun and went for an hour beyond that. This was all the more impressive given that it was a weekday.

Their logo is indeed one of the best ones

I walked through lots of Java EE 7 samples and enjoyed the interaction with the attendees. I used a mix of WildFly 8 beta 2 snapshot (get started now) and GlassFish 4 to run different samples. The walkthrough included the following samples:

  • websocket/whiteboard
  • batch/chunk-csv-database
  • batch/chunk-partition
  • batch/listeners
  • jms/send-receive
  • cdi/bean-discovery-all
  • cdi/vetoed
  • concurrency/managedexecutor
  • jaxrs/jaxrs-client
  • jaxrs/async-client
  • jaxrs/async-server
  • json/streaming-parser
  • json/object-parser
  • jta/transaction-scope
  • validation/methods
  • javamail/definition

Slides are, well slides, code is king! :-) IMHO, this is the best way to understand Java EE 7.

Is your JUG interested in getting a similar session for Java EE 7 ? Drop me a note or leave a comment on this blog.

In this country of Nadia Comăneci, it was pretty impressive to see that 30-40% of the attendees were women. And somebody in the audience even made a comment “Women in Romania are smarter than men” 😉 This was very inspiring for me as typically the female attendees are far lower in number.

About 90% of the attendees use some open source technology in their daily life. But only ~6 contribute back. I’m not surprised by that because that is a very typical ratio. David Blevins has written an excellent post on why All Open Source communities need your support. I highly encourage you to read it. Open Source is very much the DNA of Red Hat. jboss.org has plenty of projects that provide you an opportunity to get involved. I highly encourage you to pick a project and start contributing – bugs, patch, docs, feature, anything goes a long way!

Romania is a very running friendly country. Constantin introduced me to a local night 10k  and so I signed up for that. I met some members of local Road Runners club and we instantly connected. Java community is the best and allows me to meet from developers all around the world. We instantly start talking same language, same issues, get into our religious battles. Running community very much mimics that 😉

I enjoyed the course so much that I went back for another 10 miler this morning.

Check out some pictures from the trip:

   
 
   

And the complete album:

I also spent some time clean up github.com/arun-gupta/javaee7-samples in order to prepare for Devoxx Hackergarten. I’d love to see you there!

J-Fall 2013 Report

1 day, 32 sessions, 4 hands-on lab, 1200 developers, 41 speakers = AWESOME J-Fall 2013! There probably was no better way to celebrate the 10th anniversary of this conference.

This was my third J-Fall (2009 and 2011) and the numer of attendees and overall quality of this conference has improved significantly every time.

The conference started for me at Schiphol where I met Sharat Chander from Oracle. The long ride from the airport to Nijkerk gave us lot of time to catch up with my recent ex-colleague. The speakers’ dinner in the evening was very enjoyable and helped with fighting the jetlag.

The very first session was a talk by Jaap ter Woerds on Building scalable network applications with Netty. The talk gave a quick introduction to Netty and showed a sample application built using it. The slides are available. You can always reach out directly to the speaker or to Norman Maurer – core developer of @netty_project.

My very first talk of the conference turned out to be a replacement talk because of a “missing speaker”. The slides are available:


Getting Started with WebSockets and Server-Sent Events
from Arun Gupta

Twitter feedback seems to indicate that ~60 attendees enjoyed the talk. This session is recorded and should be available on parleys.

The second talk was about code-drive introduction to Java EE 7. This talk used Java EE 7 Samples and explained the new/major improvements to the platform. Here are the specific samples explained in the talk:

  • websocket/whiteboard
  • batch/chunk-csv-database
  • json/streaming-generate
  • concurrency/managedexecutor
  • jms/send-receive
  • jaxrs/jaxrs-client
  • cdi/bean-discovery-annotated

All of these samples were created using GlassFish and work on WildFly Beta2 Snapshot (build your self as explained in Tech Tip #1) as well. This session should be available on parleys as well.

The afternoon was packed with the Java EE 7 hands-on lab using NetBeans/GlassFish to about 25 attendees. The latest lab content is always available at github.com/arun-gupta/javaee7-hol. A WildFly version of this lab will is already being worked upon.

And here is my twitter list of the people I met: @BertBertman, @BertBreeman, @Sharat_Chander, @javafxpert, @steveonjava, @hansolo_, @pbakker, @sander_mak, @lucasjellema, @reginatb38, @momatwork, @Bogaart, @tgrall, @JavaWithMarcus, …

Check out some pics …

   
 
 

And the complete album at:

Luxembourg JUG and JAX London Report

My first speaking engagement at Red Hat started with the visit to a new country – Luxembourg, one of the richest in the world and my 37th!

About 85+ JUG members got introduced to Java EE 7 in a typical slide-free code-driven session. The power of Java EE 7 was quite evident as there was about 20% more than usual attendance. WildFly Beta 1 and GlassFish 4 were used to showcase different samples. This also shows the Write Once Deploy Anywhere (WODA) capabilities of the platform. All samples used in the talk are available at github.com/arun-gupta/javaee7-samples.

The visit got arranged after I hooked up with Nick Mpallas on twitter. He showed very warm hospitality during the short visit and I enjoyed learning about JBoss ecosystem from him. I’m pretty impressed by his prompt pull request to add Arquillian support to Java EE 7 samples.

Enjoy some pictures from this visit:

This was followed by a speaking engagement at JAX London. This is my third visit to this annual conference by S&S Media. (2011 Fall, 2011 Spring). I spoke on two different topics and their slide decks are available:


Java EE 7: Boosting Productivity and Embracing HTML5
from Arun Gupta

 


Getting Started with WebSockets and Server-Sent Events
from Arun Gupta

There were ~50 attendees for the platform talk and about ~35 for the WebSocket talk.

In addition, I also spoke at my very first GlassFish Users Group, London meetup as part of JAX London Community Night. Interactive audience and slide-free code-driven introduction to Java EE 7 kept the session entertaining. This was organized by C2B2 Consulting Group who are independent middleware experts based in London. This entire session was recorded and is available:

I had an opportunity to spend some time with Richard Warburton from jClarity – JVM performance analysis and tooling company. They are using Vert.x across different VMs to gather data. Vert.x is a lightweight, high performance application platform for the JVM that’s designed for modern mobile, web, and enterprise applications. More details on vert.x would be available in a subsequent blog but in the meanwhile learn all about jClarity’s usage of Vert.x in this brief interview with Richard:

I also talked briefly with jaxenter.com on my move to Red Hat, wild popularity of the Java EE 7 platform, on what attracts me to JAX London year over year. That interview is also available:

Enjoy some pictures from this visit:

 
 

O’Reilly had a booth and was able to sell most of the best-selling Java EE 7 Essentials copies. But you can always order your own from amazon.com or shop.oreilly.com. I’ve seen O’Reilly.com offering discounts on a regular basis so keep checking. Alternatively attend one of my Java EE 7 hands-on lab at any conference and the first one to complete all the exercises gets a copy from me 😉

And the complete album:

Now on my way to JFall, Transylvania JUG, and Devoxx!

JFall, Transylvania JUG, and Devoxx

Barely back from an exciting trip to Luxembourg JUG and JAX London, and now heading back to Europe again!

This time to JFall, Transylvania JUG, and Devoxx!

nljug-logo

JFall is an annual conference organized by Netherlands JUG (NLJUG). The conference is free for the JUG members after they’ve paid annual subscription. At about 1000+ attendees  (limited by the venue) the conference is a big hit for the local attendees.

I’ll be giving two sessions at JFall 2013 (Nov 6):

  • Java EE 7 Hands-on Lab
  • Code-driven introduction to Java EE 7

I seem to have an odd year cadence with JFall. My first two trips in 2009 and 2011 were with Oracle, and now this year as Red Hat.

This is then followed by a visit to Transylvania JUG in Romania (Nov 7).

transylvania-jug-logo

Looking forward to meet Romanian developers and hopefully sneak a visit to Dracula Castle 😉

And concluding this trip with one of the finest Java conferences:

devoxx_logo

  • Java EE 7: What’s New in the Java EE Platform (11/11)
  • Java EE 7 Hands-on Lab (11/13)
  • Java EE 7’s Java API for WebSocket (11/14)

Read more about why Devoxx is pretty unique. Even though other conferences have taken cues from here over the years but there are still quite a few items that make Devoxx what it is!

Looking forward to meet friends and make new friends!

Feel free to ask me any thing about WildFly or suggest a Tech Tip that needs to be written.

Where will I see you ?