Tag Archives: devoxx

Docker, Kubernetes, and Microservices Replay from Devoxx 2015

Devoxx 2015 BE Arun

Java gives us Write Once Run Anywhere (WORA) because of the common abstraction provided by Java Virtual Machine. The binary byte code produced by Java is understood by the JVM running on multiple operating systems. This allows Java code to run on any operating system. But deploying such applications typically requires to tune the JVM, setup application server, install appropriate database drivers, other similar configuration. Docker nicely complements WORA by defining a way to package Java applications, and include all the configuration in a an easy to describe format. This can be called as Package Once Deploy Anywhere, or PODA.

Docker PODA

Do you want to learn more about how Docker helps with PODA?
How do you create multi-container applications using Docker Compose?
How do you deploy this multi-container application on multiple hosts running in a Docker Swarm cluster?
What new features Docker introduced in 1.9 release – particularly multi-host networking and persistent storage?
How do you deploy Docker containers using Kubernetes?
How does Kubernetes help with scaling applications?
How does Docker Swarm compare with Kubernetes?

I had the privilege of delivering a 3-hour university on Docker and Kubernetes followed by a 3-hour hands-on lab. The replay of the university session is now available:

Slides for the university are available at: github.com/javaee-samples/docker-java/tree/master/slides

The contents from the hands-on lab are available at bit.ly/dockerlab.

In addition, I also gave a 3-hour university on Refactor your Java EE Applications using Microservices and Containers. This session explained:

  • Basic characteristics of Microservices
  • Showed a simple shopping cart monolithic application, and how it was refactored to multiple microservices (github.com/arun-gupta/microservices)
  • Talked about transactions, event sourcing and CQRS
  • How KumuluzEE was used to create standalone JARs
  • Explained how such microservices can be deployed using Docker

Slides from this session are available at: github.com/arun-gupta/microservices/tree/master/slides

Replay is available at:

The response on twitter was quite positive:

And in case you are interested, watch a quick interview with Voxxed team:



Java EE 7 Video Course on voxxed.com

java-ee-logo voxxed

Voxxed.com is a new initiative by the successful team behind Devoxx. This was announced at Devoxx 2014 Belgium keynote. Some of the key aspects of Voxxed are:
  • It’s a space to share ideas – whether that means submitting articles, tutorials, or blog posts, or telling the Voxxed editorial team about some news or ideas you’ve got that you’d like them to broadcast on your behalf to the whole community.
  • “Devoxx everyday,” bringing together the best of the conversation from the Java ecosystem into one portal.
  • A place to facilitate discussion and wider learning with curated links to wider Parleys presentations and interviews.
  • A new kind of media portal which will be hugely influenced by the community that uses it.

Stephan Janssen (@stephan007), the serial entrepreneur and the man behind Devoxx had to say the following about this initiative:

The Voxxed story starts with Devoxx, which I started in part so that I could get my personal fix of the best tech content around. I’m proud of how important Devoxx has become for developers in this community, but it only happens a few times a year. Where can I go then for a daily community hit, especially with online media so fragmented? So I thought, let’s bring everything together by pulling in blog feeds, reporting news, and housing tutorials, presentations and training courses – everything that people share that makes Devoxx what it is, into one place

There are so many people out there with amazing tech know-how that fly under the radar. I hope Voxxed can be the place where they share their stories. It’s also somewhere for new talent to shine. The Rockstars of our sector probably had their first speaking gig at a local community event. But not everyone enjoys the sometimes terrifying arena of a few hundred people staring back at them. By letting the community publish online, Voxxed gives new voices a platform. Today is just the first stage – a site that looks good, is easy to use and has great content. The next stage is for the community to drive it with excellent content and ideas”

Lucy Carey (@Lucyrushi), editor of Voxxed, says:

I love the creativity and energy of the tech sector, and one of the best parts of my job is being able to share stories from the people behind all the exciting stuff that this huge community is generating. When I heard that there was an opportunity to get involved with a new site developed by the people behind Parleys and Devoxx, I was hugely keen to come on board.

I’m proud and excited to be part of the inaugural launch of voxxed.com with a video course on Learning Java EE 7 Essentials, check out a preview:

The first version of this course provide introduction to the following Java EE 7 technologies:

  • Java API for WebSocket (JSR 356)
  • Java API for JSON Processing (JSR 353)
  • Batch Processing for the Java Platform (JSR 352)
  • Concurrency Utilities for Java EE (JSR 353)
  • Java API for RESTful Services (JSR 339)
  • Java Message Service (JSR 343)
  • Contexts & Dependency Injection (JSR 346)

The four new technologies in the course, WebSocket, JSON-P, Batch, and Concurrency, are explained in detail. Key features of JAX-RS 2.0, JMS 2.0, and CDI 1.1 are explained in detail, with a clearly marked emphasis on new features added in Java EE 7.

This is purely a technology-focused course. So whether you are using WildFly, GlassFish, or TmaxSoft JEUS today or will be using JBoss EAP 7+, WebLogic 12.1.4+, WebSphere Liberty Profile or any other Java EE 7 compliant application server, this course would be a great way to understand the key concepts of technology.It discusses the patterns and anti-patterns of different technologies using code-extensive slides.

Buy the course here!

If your team is embarking on a new project that uses Java EE 7 technology, this course will server as a great introduction as well. The usual benefits of parleys.com such as offline viewing, synchronized slides + video, ability to skip slides etc are all available as well.

Future additions planned for this course are:

  • JavaServer Faces (JSR 344)
  • Java Servlets (JSR 340)
  • Java API for Persistence (JSR 338)
  • Enteprise JavaBeans (JSR 345)
  • Develop/Deploy/Debug a Java EE 7 Application Eclipse
  • Develop/Deploy/Debug a Java EE 7 Application using NetBeans
  • Develop/Deploy/Debug a Java EE 7 Application using IntelliJ
  • Java EE 7 Development/Deployment on OpenShift

The course is available at an introductory low price of €69.99. Bulk pricing discounts are also available, drop a comment on the blog for that. However this price will increase as more course items are added in the next few weeks. If you purchase the course today, then future updates/additions are free!

So, act now and purchase this course today :-)

Many thanks to Carlo and rest of the Parleys team for their wonderful support through out the process!

Devoxx 2013 Parleys Channel : Java EE Talks and Red Hat Projects Session Replays

Devoxx 2-13 Parleys Channel is now released, a week before Christmas. All the talks, quickies, interviews are available for you to enjoy!


Antonio and I gave a university session on Java EE 7 and the replay is now available in two parts:

Replay of my Java EE 7’s WebSocket API talk is also available:

Here is my brief interview on about 2 months old position at Red Hat:

In general, there were lots of talks on Java EE …

And some talks on Red Hat projects …

And some of my favorites …

I like doing running streaks but with these many fresh talks from Devoxx, I guess a parleys streak is looking very likely. A presentation a day and get reborn every day :-)

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.


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:


And here is the state the morning 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:


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!


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:

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

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

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

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 😉


Lets 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!


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


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:


  • 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 ?