EclipseCon and OSGi DevCon 2013

For years now, EclipseCon and the OSGi DevCon have joined forces in North America to stage a conference that covers modular applications in the broadest sense of the word. Traditionally, the conference was held in Santa Clara, but starting last year, it is moving around within the continent. This year, Boston was the host, and the beautifully located Seaport Hotel was a great venue. Located between the airport and the city center, the latter within walking distance, the many bars and restaurants provided more than enough entertainment. The conference itself was spread out over three floors and provided enough locations to sit down and talk to people.

Monday was filled with tutorials, and Paul and me spent the morning in a well attended session hosted by fellow Bndtools committers Neil and Ferry where they took us through the basic steps of building an OSGi application with Bndtools. We learned some new stuff about the resolver and how to add requirements and capabilities to the manifest of bundles. We spent the afternoon discussing Bndtools, and I continued work on the Amdatu Web components, extending Swagger with the capability to deal with complex types.

Tuesday to Thursday featured various sessions. We spent most our time in the OSGi track, but also learned about how to use JavaFX in Eclipse 4. It’s amazing to see what a big mess Oracle has made packaging JavaFX, requiring lots of complicated classloader hacks to even bootstrap it correctly. Tuesday afternoon started with Paul giving a talk about the state of the new RFC about CDI. This dependency injection framework is popular in the JavaEE world and having it available in the OSGi world could seriously make life easier for developers switching from that domain. Later that afternoon, we gave our talk about modular Java in the cloud, explaining how we’ve deployed and scaled the PulseOn application. It was clearly a popular topic, as the room was so packed that some people had to sit on the floor whilst others could not even get in.

The keynotes in the morning ranged from being okay to brilliant. Highlights for me were definitely the ones by Zach from Github, who promoted experimentation and openness and made some very good points along the way and Stephen from Redmonk, who explained how developers had become the new Kingmakers, making decisions about IT that years ago would have been made by CEOs and thereby fueling the open source revolution.

Exciting new stuff in the OSGi world is the resolver becoming more usable both inside frameworks like Apache Felix and Equinox, where the latter now actually uses the resolver that was developed as part of Felix, and outside. There seemed to be consensus about how the resolver is helping a lot at development time, but at deployment time most people agreed that it’s probably better to “fix” the exact configuration instead of having it dynamically resolved because there you don’t want any surprises. This neatly fits in with the model we’ve supported in Apache ACE from the start. Other interesting news came from the Cloud working group that seemed to have found a set of building blocks for cloud applications. It’s still too early to tell, but so far the steps taken seem very sensible and we should consider prototyping some of them within Amdatu.

Less exciting to me is the new subsystem specification. I feel it is way too complex to really help people, and at runtime it just makes things a lot harder to maintain. Simply having separate OSGi containers running side by side is a lot easier and if you couple that with both remote services and the ability to create REST endpoint, I think you have all the building blocks you need there.

Finally, we attended a workshop where we discussed the need for a standardized “OSGi like solution” in JavaScript. We mostly sat together and figured out what would be the best way to approach this. Simon Kaegi, a seasoned JavaScript and OSGi developer, lead the session and explained what prior work had been done within the Orion project and what approach he though we should take based on those experiences. An interesting remark came from Ferry who basically proposed to do away with the low level APIs completely and simply expose a declarative services like dependency injection framework. It’s an interesting thought to see what the APIs would look like if you did that and if there really is a lot of functionality you would loosed when doing so.

As always the atmosphere that whole week was one of openness. We met lots of old friends, made new ones, and were part of a city that was very relaxed, respectful of pedestrians and entertained us with some excellent food and an NBA match that was great, despite the fact the Celtics lost. After visiting Boston about 15 years ago for my first ever IEEE conference, presenting my paper about the application of genetic algorithms to solve engineering problems, it was great to be back and it confirmed to me that this is definitely one of my favourite cities in the US.

Posted in Report Tagged with: , ,