Today I continue my week-in-arrears retrospective of the EclipseCon 2009. Authors often mumble into their whiskey about the tyranny of the blank page, but I feel that the full page (of partially illegible notes) is equally tyrannical. And I have no whiskey either.
Just a quick concerned citizen-o-gram by the way, please go and fill out the EclipseCon Survey, paying special attention to the the areas that you would like to see improve. It's important for the program committee next year.
Wednesday 25 March
Building Applications for the Cloud with Amazon
This was the keynote first thing in the morning. I was impressed with Don MacAskill's shoes, and the way that they run SmugMug on Amazons cloudtastical offering. I experience a veritable frisson at the new EC2 deploy and debug tools that Amazon have created for Eclipse. It uses Webtools' server framework and deployment mechanism to allow you to deploy your webservices to machine instances running in EC2, and it allows you to debug them as they run. Very neat. Limited to Tomcat at the moment, I'm sure it'll be no time at all when you will suddenly see it working for things like FUSE ESB and FUSE MR to name but two, 'nuff said. Conclusion - interesting plus frisson. Next step - extend Amazon code to deploy to FUSE ESB instances.
What's Baking in the WTP Incubator
was a little curated number intended to act as a showcase for some new projects that are growing in the WTP Incubator project. In a session of two halves, Shane Clarke gave us an insight into Developing JAX-WS Web Services - this is a new piece of tooling that enhances the dynamic web project approach of WTP so that it's easy to create JAXWS services. I'm biased, since we consume this stuff in FUSE and I'm a committer on the project, but Shane has done a maximum awesome job here, I can't recommend the man highly enough. Unfortunately, this looked like it was a two-hour talk that had to be jammed into twenty-five minutes, so I'm sure that there's plenty we didn't get to see. Conclusion - awesome. Next step - update the Apache CXF wiki with details of this.
Next element in the showcase Incubating XML Security Tools. This incubator project contains a set of capabilities for dealing with various XML Security standards, like partial encryption, signing and the like. The author, Dominik, originally constructed this as an e-learning thing, for people that wanted to experiment with XML Security and see how it all worked. It works pretty well for that, but I'm not sure if there are public APIs in place which would allow you drive the encryption processes programmatically. That would be of more value than the user-driven version. Conclusion - interesting. Next step - somebody translate the help from German please!
From source to automated builds with Buckminster and p2
Buckminster is the software assembly tool that we use to do the STP builds, and it has served us well over the past couple of years, so I was interested to see what has happened recently, given all of the p2 stuff going on, and Eclipse release train requirements around packing and signing and all that. Good news - there's a recent version of Buckminster that is p2ized and fully kitted out for packing and signing headless builds. Just what the doctor ordered. I would rush off to try it out immediately, but I'm stuck here writing in this damn blog. A footnote on the presentation - the subject matter is a little esoteric, but Henrik did a good job explaining it in a way that didn't dive deep into the details - except perhaps with the CSPEX thing. Conclusion - w00t. Next step - update to the Magic Buckminster and plumb in my STP generic build system, then blog about it.
Intriguing title on this session. Perhaps we were to be shown how to program UIs by pure radiant thought alone? Or perhaps we were going to see some Epic-class characters showing us how to do our UI? This was a two-session talk again. First up was UFaceKit - A highlevel Databinding and Widget-Toolkit-Abstraction - the motivation behind this particular piece of work is to provide a higher-level widget toolkit abstraction that can be successfully mapped to alternate widget toolkit implementations, like Swing, GWT, SWT and the like. UFaceKit is now an Eclipse project. Conclusion - interesting. Next step - keep an eye for an opportunity to experiment.
The second talk in the showcase was UI designers : Untangle the knots, use EMF (live) models! (yes, there was an entertaining selection of session titles this year for some reason). We got to see an EMF model representing an SWT UI rendered, live, with instant updates to the UI as you tweaked the model. Very nice. The code that does this is an open source declarative UI framework (ye gods, another one) called Wazaabi. Conclusion - me like! Next step - use this for kick-starting mockups at least.
This next session was one that I was particularly looking forward to. Eclipse, Maven and how they interact is a persistent thorn in my side - always has been - so I was going to this session in the hope that there will be some release from the anguish. There are two Eclipse and Maven projects at the Foundation, and this session was split into two parts to align with the projects. Some people came along hoping for celebrity deathmatch - I just wanted some solutions.
I'm not going to go into the details of the sessions - I can summarize with m2eclipse FTW, apologies to Phil and Brett and Carlos, but m2eclipse is really ploughing resources into this and is moving ahead with a much more complete and broad solution. Conclusion - m2eclipse FTW. Next step - I think I'll have to start committing to this when it moves onto Foundation turf.
I got the chance to have a sit-down chat with Jason of the m2eclipse project later in the day and we talked about where it was going, and I asked some questions about how I can incorporate the thing into the FUSE Tools and meet the double goal of providing a means for developers to move in a frictionless manner from snappy Eclipse builders to Maven CBI approaches and not suffer terrible brain-damage. Jason gave me enough confidence that this will happen, but it's going to require some work. I'll pick up that thread again in another blog entry.