Update 1: added content about Greg Wilkin's Async IO session.


The first real day of the conference began with session one of two obligatory Oracle booth duty assignments.  Our booth had two foci: showing off Java EE 7 using the Cargo Tracker Blueprints Application and providing insight into our plans for Java EE 8.  To spice things up a bit and perhaps draw some people in, I brought along my kit-built homebrew Theremin, pictured here. Homebrew Theremin In my opinion, Java EE 8 is all about solidifying the platform by increasing cohesion between the already loosely copuled parts, while making incremental improvements to the parts of the platform that relate directly to building HTML5 delivered web applications and hosting them on the cloud. I've taken the liberty of uploading David Delabassee's excellent Java EE 8 slides to slideshare (Congrats on the $118 million payout, by the way.)  I always enjoy doing booth duty.  I look at it like I'm a TA doing office hours: if people want to catch me at JavaOne, this is the best time for it.


Another fun aspect of JavaOne is how it all blends together.  Towards the end of my booth duty session, my colleague and Servlet co-spec lead Shing Wai Chan stopped by and we put the finishing touches on our slides for "CON5898 - What Servlet 4.0 Means to You".  Of all the JavaOne conference sessions and BOFs in which I played a role this year, this was to be the most technical.  I've uploaded the slides to slideshareDavid Delabassee tells me this one will be in the first or second group to be uploaded to Parleys.  There were 162 pre-registrations for the session and I'd estimate there were about 200 in the room.  The session was notable for being the only Java EE session that featured Java SE 9 technical content.  After explaining the why and how of HTTP2, as well as how it may be exposed in the Servlet 4.0 API, I included some content on JEP110, the HTTP2 client for Java SE 9.  Both the client and server side are still very undefined at this point, but it's good to give people an insight into where we're going.


Directly after the Servlet 4.0 session, we lead a parade over to the Sutter conference room in the Hilton for the combined JSF 2.3/Servlet 4.0 EG kick-off meeting.  While a pale shadow of its former self, it was still a useful meeting.  The full audio has been uploaded to the project area on java.net for both Servlet and JSF.  My intention for the meeting was to establish the scope for these two specs and decide on next steps.  One big take-away, suggested by Greg Wilkins, is the need for additional use cases for HTTP2 server push, aside from the obvious and important one of a web framework that has a-priori knowledge of the resources that are associated with a given web page. We all took the action item to look for such cases and share them with the EG.  Another notable item for the kick-off meeting was an interesting idea from Neil Griffin.  Neil suggested we might investigate using our announced dependency on Java SE 8 and its built-in JavaScript engine, to increase the dynamism of JSF apps.  Briefly, Neil's idea is to introduce a lifecycle phase after render-response that would do some processing on the rendered view to prepare it for quick display in the browser DOM, delivering a direct-to-DOM view of the page.  I asked Neil to think about it some more and consider sharing the idea on the EG list.


As a general rule, I like to listen at more than I talk, but today the only session I was able to attend was Greg Wilkins's CON2236 Async IO session.  The slides have already been posted at the JavaOne website.  Greg is an excellent speaker, do make a point of seeing this session when it comes up on Parleys.  Greg did an excellent job of explaining the gotchas of async IO programming, without any Responsive Manifesto hype.  Very interestingly, he did admit that the his original objections to some of the Async Servlet API during the JSR-340 expert group discussion proved to be unfounded and that he rather liked how the API turned out in the end.


JCP Party Picture Next on the agenda was the Annual JCP Awards Party.  The nominees and award winners are documented at < https://jcp.org/en/press/news/awards/2014award_nominees >.  There was some real competition in the events this year, but I'm happy to announce that Heather VanCura won the JCP Member/Participant of the year award.  Speaking as a fellow Oracle employee, we all owe a debt of gratitude to Heather and her colleagues for continuing to demonstrate the value of the Java Community Process within a very shareholder-value (that is, short-term value) focused company.  Standards pay dividends, but they tend to be long-term rather than short term.


This year continues the tradition started last year of hosting the event at the Cityscape area on the top floor of the San Francisco Hilton.  In the image at left you'll see Heather announcing the awards. You'll also notice some musical instruments.  These were furnished courtesy of JFrog and played by a group fronted by Geert Bevin. The group was a pick-up band composed of members of the Java Community and went by the name of, "The NullPointers".  In addition to Geert, the band included Freddy Guime of the Chicago Java Users Group, Frank Greco of the New York Java Users Group, Jim Weaver, Java Developer Advocate for Oracle, Zoran Severac, Cesar Hernandez, and Mattias Karlsson, of JFokus.  I was going to sit-in on keyboard, but, as mentioned above, things blend together at JavaOne, and I had to leave the party early to present my JSF 2.3 BOF over at Moscone.  Thankfully the band gave me another chance to sit in during their 2nd performance on Wednesday.  It was sub-optimal to have to leave such a great event, but the community is more important than the community, in this case, so off to Moscone I went.


This was the first year since the Oracle acquisition that any part of JavaOne has been held in Moscone.  This year only the Mondy night BOFs were held there, but I'm hoping it's the beginning of a trend.  This being a BOF, rather than a technical session, I incorporated content from two JSF Expert Group Members, Kito Mann and Ian Hlavats.  My slides are at slideshare, as well as Ian's. The basic idea for JSF 2.3 is to provide a vehicle to attend to the fit and finish of the JSF spec, addressing JSF customer issues that have accrued over the years, and give the community a vehicle to propose, drive, and implement features that they feel are important, subject to final-cut from Manfred and I.  The former category will include things like multi-component validation, Ajax method invocation, and better CDI integration.  The latter category may include things like Kito's proposed JSON component rendering and Ian's proposed Twitter Bootstrap integration.  Again, the emphasis in the latter category is for the community to do the heavy lifting, with oversight, veto authority and integration help from Oracle.


That's not a bad first day!  Booth duty, technical session, EG meeting, JCP Party, and BOF.