Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Java2Days 2014 Trip Report

DZone's Guide to

Java2Days 2014 Trip Report

· Java Zone
Free Resource

Bitbucket is for the code that takes us to Mars, decodes the human genome, or drives your next car. What will your code do? Get started with Bitbucket today, it's free.

Java2Days 2014 was held on November 17-19 in Sofia, Bulgaria. It is far and away the largest Java conference in the Balkans region and now perhaps one of the most important conferences in Europe as a whole. Far beyond the modest borders of Bulgaria it seemed to increasingly attract audiences from as far as Serbia, Bosnia/Herzegovina, Albania and Macedonia. This was another great year for this rapidly growing, vibrant event. It attracted a host of international and local speakers including Arun Gupta, Geertjan Wielenga, Roberto Cortez, Ivan St. Ivanov, Andy Gumbrecht and Andrew Lombardi. Topics included Java SE, Java EE, HTML5/JavaScript, mobile, OSGi, IoT and the cloud. If the conference is not on your map already, it should be. It is simply inspiring to see a youthful, energetic Java community rise in this once very tumultuous, repressed part of our world.

One of the most unique things about Java2Days that one should appreciate is that it is an event run entirely by women - the incredibly capable trio of Yoana Ivanova, Iva Abadjieva and Nadia Kostova (left to right in the image below). It is the only Java conference that I know of for which this is true. Iva's husband Emo Abadjiev (inset, bottom) and Bulgaria JUG leader, Forge commiter Ivan St. Ivanov (inset top) also contribute many hours of hard work into the conference. I am very proud to be able to call all these passionate, down-to-earth, genuinely good people my friends and gracious hosts in Bulgaria. Other than now Java Champion Yara Senger of The Developer Conference (TDC) Brazil, Java2Days was the first international conference to invite me as a speaker while I was still an independent. In fact I feel very honored to say that I was the first and last speaker of the very first Java2Days a few years ago. They have been very kind to invite me back every year since. Though I have not always been able to accept the invitation largely due to personal scheduling reasons, I am very glad I was able to speak at Java2Days one more time this year.

My first talk of the conference, right after the opening keynote was our likely new flagship talk for this year titled "What's Coming in Java EE 8". 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:

The talk was packed and was very well-received. My hope is that we will see greater participation in the Java EE 8 JSRs from the Balkans. The Bulgaria JUG is already active in OpenJDK thanks to Ivan. After me Arun delivered a very popular talk of his titled "Nuts and Bolts of WebSocket".

After that talk Arun, I and Ivan ran the Java EE 7 hands-on lab. This is basically the same lab that Arun developed while still at Oracle. Arun has since evolved the lab to run on both WildFly and GlassFish. The materials for Arun's lab is available on GitHub. You should feel free to check it out - the lab is intended to be entirely self-directed. The lab really went very well. The attendees provided excellent feedback and the lab was packed even given a fairly sizable space. Towards the end of the day Andy Gumbrecht had a very cool presentation on moving from Tomcat to the Java EE platform very easily using TomEE titled "Apache Tomcat to Apache TomEE in 1-n Steps".

On the second day of the conference around lunch time Roberto and Ivan presented a talk on JBatch titled "Java EE 7 Batch Processing in the Real World". This is the same talk that they presented at JavaOne 2014 embedded below:

After Roberto and Ivan's talk Geertjan presented a very cool talk on developing either desktop/web or mobile HTML 5 applications using Java EE 7 as a back-end. At the same time I delivered my thus far very popular talk on aligning Java EE 7 with the HTML 5/JavaScript Rich Client landscape as a workshop (I did the same thing at JavaOne 2014). I use AngularJS for my demo but the concepts can apply to any JavaScript (or even native mobile) front-end using a Java EE 7 back-end. This session was a full house and was very well-received. The slide deck for the talk is posted below:

The demo code is posted on GitHub: https://github.com/m-reza-rahman/javaee-javascript. Do give me a shout if you need help getting the demo up and running but it should be very straightforward.

After the workshop I helped Ivan run a hands-on lab on Forge and Arquillian. The Forge part of the lab is available for all and can be done entirely on your own. Antonio Goncalves has a pretty nice blog entry on running the lab.

I closed the conference with a bang back in the main hall with my talk titled "Why Open Standards and Java/EE Matter (to You)". The talk is designed to be a keynote and covers a very important topic that I think there's far too little material out there on. It talks about the core value proposition for standards like Java EE in maintaining a healthy competitive marketplace. It differentiates open technical standards from so called "de-facto standards" and explores the relationship between open source and open standards. I also talk about what the community can do to make standards really work. The talk taps into one of my fields of study that I never pursued in my career and few developers really seem to have even a basic grasp of - economic analysis. This is a talk I've been waiting to give for many years and I am glad I was finally able to start presenting it. To some degree it embodies many of the core motivations that keep me doing what I do to try to help move the Java EE standard forward. The slides for the talk are here:

Besides a very lavish speaker dinner (the most lavish I have ever experienced at a conference), one of the very cool things our extremely gracious Bulgarian hosts do is take interested speakers outside the capital city of Sofia to the picturesque country side. On my request, this year we went to the Devil's Throat cavern. The tour this time was unfortunately pretty sparse with just me, Iva, Yoana and Nadia. Although modest by comparison of the likes of the Mammoth cave of Kentucky or the Ape cave lava tubes of Mount Saint Helen's, Devil's Throat is the second largest cave in mountainous Bulgaria and contains the tallest underground waterfall in the Balkans. Besides it's geology Devil's Throat is actually unique because of it's very special place in world history and literature. It is said to be the inspiration for the ancient Greek underworld and it's overlord, the feared god Hades (the cave is very close to the modern day Greek border). It's main space is assumed to be the real world origin of the mythical main hall of Hades. It is easy to see why if you think about how the cave may have felt like without the modern amenities of concrete/metal ladders/steps and electricity, with the thundering sound of a deep underground waterfall in the background. Below are some pictures I took of the cave and it's immediate surroundings:

All in all it was great to be back in Bulgaria/Java2Days. I hope to return soon and see all of my kind Bulgarian friends once again.

Bitbucket is the Git solution for professional teams who code with a purpose, not just as a hobby. Get started today, it's free.

Topics:

Published at DZone with permission of Reza Rahman, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}