Enterprise grade Java.
You'll read about Conferences, Java User Groups, Java, Integration, Reactive, Microservices and other technologies.

Thursday, May 15, 2014

JavaOne 2014 - Some First Analysis on Submissions

17:28 Thursday, May 15, 2014 Posted by Test No comments:
, ,
Time is running away these days. So many things happening in parallel and of course the most important Java conference is in the middle of everything. JavaOne 2014 closed the CfP doors already and voting is well underway. There are very few things the Program Committee is allowed to talk about but after having skipped that kind of analysis last year it was time for me to ask for permission and so I can start to spread some excitement about the content. Please keep in mind, that every number you see in here are just percentages; there is not a single hint on concrete counts or other numbers in here. It's all about proportions and overall weight. And one last remark: This is the complete overview about the submissions. The final conference program will be shaped out of it. A big "Thank you!" to the program chair Stephen Chin who was kind enough to gave his permission for publication.

Submission Types
A good starting point is the overall distribution of submissions over the different session types. Speakers could select any of four different types for their submission. The classic session, a BoF (Birds of a feather) a tutorial or a HoL (Hands on Lab)
Not a big surprise that most of the submissions are sessions (75%). This is slightly more than in 2012 (70,14%) Second most proposed content are BoFs. Followed by HoLs and Tutorials. Even if this sounds final for now the proportions might change because types get switched on request of the program committee.

Submissions per Track
Beside the non surprising type distribution the overall spread per track is another important figure. What is moving the community these days and which tracks got the most attention? There are nine different tracks to pick from. Clients and UI, Core Java Platform, Internet of Things, JVM Languages, Java and Security, Tools and Techniques, Server-Side Java, Java in the Cloud and Agile Development.

Very few proposals are moved around from track to track during the voting process but it happens. Spread out over the tracks is comparably equal. Slight leader is the "Tools and Techniques" Track. But the overall distribution doesn't allow to identify a clear leader.

Oracle vs. Non-Oracle Submissions
And the last two metrics I'm going to look at should answer the question about Oracle's involvement in general. Many people still believe that the JavaOne content is mostly driven by the company behind it. First of all, take the time to see and feel it for yourself. There is still plenty of time to register and take the chance to attend this amazing conference.

Exactly 70% of the proposals come from the broader Java community. Only 30% have been proposed by Oracle employees. Compared with the 2012 numbers this is only marginally worse by 1%. Note, that this only includes the proposals where the first speaker is an Oracle employee. I was asking myself the question if there is some track Oracle explicitly jumps in:

Overall answer: Just a bit ;) There are only two tracks where there are significant more proposals from Oracle than from the community. Internet of Things makes the most significant different and Clients and UI marks the other spot. Given all the latest hype around both topics this is anything but surprising. I am very pleased to see, that the Tools and Techniques track is completely owned by the community. My interpretation: It's pretty clear who knows how to use Java right ;)

JavaOne is once again going to be a great, community driven conference with a lot of awesome content! If you haven't done so take a look and register! The final program is going to be announced in a few weeks and there still is plenty of time to find a flight and a hotel near by. Save the date: September 28 – October 2, 2014! And don't forget to follow @JavaOneConf or Like the JavaOne FB page and keep up to date by reading the official blog!

Monday, May 5, 2014

XRebel on GlassFish 4

09:25 Monday, May 5, 2014 Posted by Test No comments:
The cool Zeroturnaround guys recently opened the private beta for their latest product which is an interactive and live profiler for your Java EE apps. Anton showed me the M3 at DevNation and I was curious to get my hands on it. Here is the first test-drive and some screenshots.

Getting It And Setting It Up
First thing to keep in mind is, that it is a private beta. So you have to apply online to get access to it. After you've been approved you get an email with a password and URL to download the roughly 5MB large ZIP file which comes with a single jar and a bunch of text files. You can download the first documentation as a PDF and there is not much more than this for now. Setting it up also is very straight forward. As usual the jar has to be registered as a java-agent. In GlassFish you typically do this at the JVM settings (-javaagent:D:/path/to/xrebel.jar). For convenience reasons I decided to replace the debug feature and automatically activate XRebel while being in debug mode.

If that is done you're ready to go. All you need to do is to install your favorite application and give it a try. I decided to use latest EE7 DDD-sample project developed by parts of the GlassFish team: Cargotracker. Clone the SVN from Java.net and import it into NetBeans 8. Build it and deploy it to GlassFish. Point your browser to http://localhost:8080/cargo-tracker/ and you can see the first XRebel magic happen.

First Impressions
Let's have a look at what XRebel can do for you.

The tiny little control-panel is integrated in all pages you navigate through and gives you access to all kinds of runtime information. But first of all lets tweak the settings a bit and reduce the inspected number of classes a bit by configuring the package hierarchy we're interested in:

Beside that you can also tweak thresholds and notifications on the settings page. After you've done that you can redirect your browser to the public landing page of the application (http://localhost:8080/cargo-tracker/public/track.xhtml) and watch XRebel do it's magic. A click on the session symbol brings up the HttpSession details:

The dialog let's you inspect all the objects placed in the session and size. The little icon in the control panel keeps track of growth and alerts you if something unexpected happens. Even more impressive is the SQL inspection.

You can drill down to individual SQL statements, see the complete statement including resolved parameters, affected rows, execution times and execution timestamp. A tiny search box let's you specifically search for expressions and if you don't want to see the complete call-stacks you can simply switch the tab and look at all the queries as a one-pager.
The newest milestone M4 also has an exception tracer:

Which gives you a better parsed result of the occurred exception and little more details about the exact path where it happened.

Bottom Line
It is an amazing little helper. Minimal intrusive. No configuration in your application and still keeps track of most of the critical things you're interested in knowing. I'm curious for the upcoming betas and of course of the final product and it's licensing. Keep up the good work guys. I love your creativity when it comes to making better tools for developers.