This is the first in a series of long overdue trip reports now that the unofficial global pre-Summer-vacation conference season is finally winding down after a few hectic months. In terms of both chronology and geography I should start with DevNexus 2015, but I am making a deliberate choice to start with Voxxed Days Algiers instead. It's not often I get to feel I was given an opportunity to make a small difference for folks that deserve much better - Voxxed Days Algiers for me was a genuine honor and privilege affording just such a rare sentiment.
Voxxed Days Algiers was held on May 23 in Algiers, Algeria. This was the inaugural version of this event - indeed it was the first event of it's kind in Algeria, Java centric or otherwise. This is despite the very sizable number of developers of Algerian origin, domestically and worldwide. Besides the Devoxx and Voxxed brand, the event can be credited by and large to the grassroots efforts of the Algeria JUG as well as the neighboring Morocco JUG. Some of the good folks involved include Badr El Houari (Morocco JUG leader), Abderrazak Bouadma (Algeria JUG leader), Meziane Djaout, Yasmine Nasri (Algeria JUG), Yazid Cherif (Algeria JUG), Bessem Hmidi (ESPRIT JUG Tunisia leader) and Mohamed Taman (Egypt JUG leader). Personally I have to especially thank Badr for cordially inviting me to the event and Abderrazak for making the trip a unique unforgettable experience. The event was a humble but profound first step in the right direction for Algerian developers. The event definitely had a strong Java and Java EE showing.
I started the day taking part in the opening keynote featuring the Voxxed Days Algiers team. I aimed to reinforce the significance of the event as well as our team's recognition of it and welcomed attendees to the global Java/EE community. After the keynote I remained in the hall to deliver our current flagship Java EE 8 road map talk.
The talk covers the possibilities for Java EE 8 such as HTTP 2/Servlet 4, Server-Sent Events (SSE), a new standard action-oriented web framework, security simplification, REST management/monitoring, even better JSON support, CDI 2, platform-wide CDI alignment, more pruning, JCache, JMS.next() and Java SE 8 alignment. I also cover Adopt-a-JSR. The slides for the talk are here:
I noted that the detailed speaker notes are available to anyone in the downloadable PowerPoint deck. This means that anyone could deliver the talk if they were so inclined. Concurrent to my talk local Algerian speaker Bilal Khiat delivered a talk covering the Java EE concurrency utilities. Bilal is a Java EE advocate and WebLogic + Oracle Middleware expert.
After lunch I delivered my second 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. Concurrent to my talk Bilal delivered a talk on building event-driven enterprise applications using JMS and WebSocket.
I finished the conference with my talk on effectively testing Java EE applications using Arquillian. The talk basically goes through each major Java EE API and demonstrates through code how the API could be tested using Arquillian. The slides for the talk is posted below:
The code for the talk is available on GitHub. If you are looking into testing Java EE applications using Arquillian, the code should be very helpful to you. Feel free to give me a holler if you need any help. Concurrent to my talk my good friend Bessem Hmidi talked about his very cool project AngularBeans. AngularBeans is a very useful marriage of AngularJS, CDI and Java EE. In case this intrigues you (and it should) I have a brief recent write-up for the project on The Aquarium. The conference ended on a great note celebrating the 20th anniversary of Java - my second such in-person celebration after Voxxed Days Istanbul (trip report coming soon).
Sadly Algeria remains one of the last great frontiers of global tourism. The country offers food, culture, legendary North African hospitality, a history well soaked with ebbs and flows of tragedy and triumph, not to mention stunning natural beauty. While in Algeria I did not miss the opportunity to take a few days off to explore as much as I could. Thanks to some very kind help from Abderrazak's brother Abdenour I saw pretty much all of Algiers save for the UNESCO World Heritage site Casbah (currently a giant renovation project) as well as the Tipaza Roman ruins (yet another one of Algeria's numerous UNESCO World Heritage sites). I do have pictures to show from my great experience in Algeria (click here if you are having trouble seeing the embedded album):
The generous, unconditional amount of time that Abdenour and Abderrazak spent with me after the conference would frankly put many in my own family to utter shame. If North Africans are the kings of hospitality, Abdenour and Abderrazak are undoubtedly the emperors :-). Thanks to Abdenour there was actually someone around to take a thoughtful picture of me at Tipaza (the steps are from an ancient Roman amphitheater):
Next time I have an opportunity to go to Algeria, I plan to make the trip to see one of the most breathtaking views on planet Earth - Sunrise over the Hoggar mountain chain in the heart of the Algerian Sahara (the Tuareg tribes that make this place their home quite understandably call it "the end of the world"):
All in all, this was one of the most fulfilling trips I've taken in a while, both professionally and personally. I sincerely wish all the best for Voxxed Days Algiers. I hope to see the event grow in the coming years and become a first class destination for the best and the brightest in the Java world...