Java2Days 2010

Java2Days 2010
   On 7th and 8th of October I had to attend the Java2Days conference. I had to because I won a free pass from some lottery and well… you do not miss events like that if they are free, do you? That would be like throwing away a hundred euro.

   According to the organizers the conference combined three conferences – the Java2Days conference, the Cloud2Days and Mobile2Days. What this actually meant was that there were three parallel streams of sessions the two of them being branded as Java2Days and the third being branded as Cloud2Days on the first day and Mobile2Days on the second day where Mobile2Days included non-Java technology sessions like Windows Phone 7 and Objective-C sessions. I did not attend any of these because I am not interested in mobile and I find cloud talks a bit boring even if they are technical and they usually tend to be less technical than a normal talk on a conference like this.

   The conference had some holes in the organization. There was just one place where most of the attendees had to get their passes and there was a big queue. There were not enough bottles of water. I know that these things cost money but with a €100 pass, no lunch included in the price and sponsors like Oracle, SAP and VMware one would expect at least enough water.

   The actual conference opened with a speech from the organizers which was translated in English and French (WTF?!?) by some girls from English and French language schools. I do not know about the girl that translated in French but the girl that translated in English had terrible live translation skills. She made grammar mistakes, lacked the vocabulary to translate the speech and could not remember the names of the people and companies she had to translate. Her pronunciation was good though. The whole conference was in English (this is why this article is in English) and even the Bulgarian speakers spoke in English so why the embarrassment?

   A keynote from some big suit from Oracle followed where he talked about the importance of Java for Oracle. He was Serbian but spoke in Bulgarian because he had lived here several years. After these useless stuff that managed to ruin the schedule for this hall for the rest of the day the actual sessions began.

   Java EE 6 Why and How J2EE Became Popular Again was presented by Alexis Pouchkine from Oracle. It discussed the new things in Java EE 6. I did not understand most of them but it seems like Java EE 6 includes out of the box some popular stuff like dependency injection that Java developers had to use third party libraries for. It was kind of interesting even for me.

   Introduction to Spring Integration and What Is New in Spring Integration 2.0 was presented by Josh Long and Oleg Zhurakousky from Spring Source (i.e. VMware). This was just the first of several presentations of SpringSource software from these guys. They seem cool team of presenters but the enterprise-oriented stuff they present is boring to me especially since I lack the Java platform background needed to understand some of the stuff. The Spring Integration framework seems to be something similar to Oracle Service Bus or the combination of WCF and WF in the .NET world that was named Dublin (Maybe it still is but I do not follow it) but it is much more lightweight. It just manages messages by providing things like queues, protocol abstractions, etc.

   Building Pseudo-Functional DSLs on Top of Java was exactly the kind of session I attended this conference for.  It was presented by Nikolce Mihajlovski and dealt with his ideas about creating libraries for building DSLs. The core idea of the examples was similar to the Guava project by Google, however instead of using method chaining he went for a Lisp-like approach and had some cool things that guarantee that his work will not be completely obsolete once lambdas make it into the Java language. Guava on the other hand can be shift + deleted in 2012 (when lambdas are supposed to come). The basic idea is to build a LINQ-like expression tree and execute it lazily. There is also some stuff that allows implementing an interface or inheriting a class at runtime. Pretty cool session.

   An in Depth Look at Apache Wicket was presented by the coolest presenter on the conference Andrew Lombardi - a devoted Mac fan with a big smile and presentations filled with a lot of jokes. Wicket itself is a component oriented web framework really similar to ASP.NET Web Forms. It has lower level of abstraction compared to Web Forms but compensates with greater control over HTML. The coolest feature is the ability to view a wicket template as a separate HTML page without any server code running.

   Intro to Spring was again presented by the SpringSource team. The presentation was not originally on the schedule but they did it instead of another presentation because very few people in the audience raised their hands when they were asked if they used Spring in the first Spring session. Of course most of the audience uses Spring but they are too lame to raise their hands. It was good for me because I understood much more things in this presentation than I would have in the much more advanced one. It basically showed how to do dependency injection with Spring and how they built on top of the core framework to provide many more things like the Spring Integration framework from the other presentation.

   Building RESTful Web Services with Java was presented by Vassil Popovski from VMware. He showed some libraries for easily creating RESTful services. The libraries are pretty much equivalent in functionality and ease of use to the WCF REST Starter Kit in the .NET world. However they are far less powerful than monsters like OData (WCF Data Services).

   Google App Engine for Java presented by Ice Penov was a basic overview of the App Engine features for Java. From what he pointed out as advantages and disadvantages of the platform and what the audience asked it seems like Windows Azure is better cloud platform for Java developers. I have not checked the tooling but I am pretty sure that with Azure you get the full set of Java libraries and can use whatever web framework you like, you get the SQL Services if you want it so you can have a relational database, you will get alternative vendors so you will not be vendor locked. The only thing that seems better offer in the App Engine is the APIs to access Google services like the Google Account or GTalk. I have not compared prices.

   The second day of the conference started with Java EE 6 Tools Show by Arun Gupta from Oracle. He demoed how cool the integrated ex-SUN stack can be. With the NetBeans – GlassFish combination developers get some pretty cool wizards and auto configuration. It is still very far from what Visual Studio has to offer in this respect but it seems like it is as close as it gets in the Java world. However it looks like Java developers do not really like it. Funny people.

   Scala – a Modern Object-Oriented Functional Language on the JVM was presented by Vassil Dichev. The presentation itself was introductory and basic. The good news is that there seems to be a lot of interested in the Bulgarian Java community in Scala. I believe this interest comes later than it should have but at least it is there. The room was crowded and there were a lot of questions. However most of the questions were stupid. For example the question if Scala can call Java methods was asked three times despite this being in the presentation and despite the fact that the answer is obvious. I personally do not see any reason for anyone to use the Java language today. There is not a single thing in that is easier to do in Java than in Scala and you can do so much more. However people are still using Java… go figure!

   Simulating Dynamic Features in Java was another presentation from Nikolce Mihajlovski this time dealing with providing something like dynamic language support in Java. This was purely conceptual presentation. He proposed ways to implement dynamic methods at edit time, at compile time and by playing with the bytecode. It seems to me that the only practical method is the edit-time code generation. Overall the presentation was far worse than the one for the DSLs. However it got me thinking how much more interesting is the Java language world. People are thinking of crazy ways to work around the limitations of the language and in the .NET world we have LINQ built from Microsoft for years and we have the dynamic features in C# and VB.NET already out. None of Nikolce's projects makes any sense in the .NET world.

   Examining the Java – JavaFX relationship was presented by Saša Slavnić presented some basic stuff about JavaFX. However the talk included interesting discussions about the direction that JavaFX is going and how it is going to compete with Flash and Silverlight. I had to point out that JavaFX and Silverlight DO NOT COMPETE with each other but they both compete with Flash. The sad thing here was that very few people attended and they seemed not really enthusiastic about JavaFX. It seems like the Java community does not believe in this technology.

   Introduction to RabbitMQ and Spring AMQP project was another lecture by the SpringSource team. I did not really understand what it was all about. Obviously there is some interoperability standard and they built framework and client for messaging between different technologies but I could not follow it. It also seems to overlap with the Spring Integration framework presented earlier.

   HTML 5 Time to Step In was a presentation with the obvious conclusion that it is NOT time to step in yet, at least in production environments. The presenter was the crowd favorite Andrew. He had some trouble with the projector which for some reason was put on top of some box and the slides were tilted and skewed. He noted that this is what the HTML 5 spec is in the moment. He was giving Opera fans hard time, joking with IE (though he acknowledged in the presentation that the IE guys invented AJAX) and making fun of PCs. I was thinking of removing my sweater under which I was wearing my "I'm a PC" t-shirt but it was cold. He was excited that someone ported Wolfenstein 3D in JavaScript with Canvas. The demo was laggy. I guess when you use a Mac you get excited about 18 years old games.

   Sexier Apps with Flex and Spring was a presented by Josh Long and James Ward. It seems like what they presented is roughly equivalent to the WCF RIA services in the .NET world. The RIA part is obviously not JavaFX but Flex. When they asked who uses Flex more people raised their hands than even attended the JavaFX session and I think this is really sad.

   A Look Inside the Java Community Process was presented by Reza Rahman and was an overview of how the biggest problem of the Java world in my opinion works. While it seems cool that anyone can influence the direction in which the platform is going the process seems really slow and there is a lot of bureaucracy and politics there. Oracle are determined to speed up the process which is good.

   Everything ended with a joint Q&A session that looked quite promising about the future of Java but we had to leave.

   Overall the conference was a good experience for me. I cannot skip the comparison with the .NET related conferences in Bulgaria. Overall it seems like Java2Days is what MS days was 3 years ago when I first attended and DevReach has always been better than MS Days. Since then there are much more sessions and attendees and the overall technical level is higher. This is just the second Java2Days and I believe it has a great future. However the reluctance of the Java community to pay for anything (including but not limited to conferences) can become a problem.  See you on the conference next year if I get a free pass again. See? I do not want to pay therefore I am already fitting in the Java community.
Tags:   english events 
Posted by:   Stilgar
20:13 09.10.2010


First Previous 1 Next Last 

Posted by   ivelinka   on   13:00 12.10.2010

A Java conference seen through the eyes of a .NET developer!

Posted by   Fanboy (Unregistered)   on   21:08 13.10.2010

A most excellent report! Shame I didn't read it...

First Previous 1 Next Last 

Post as:

Post a comment: