On the 10th of November it was time again: an Eclipse Demo Camp took place in the East Hotel in Hamburg, Germany. This time, the Demo Camp was sponsored by Itemis, it-agile, froglic and of course the Eclipse Foundation. The organisators of the evening were Peter Friese (Itemis) and Martin Lippert (it-agile) who intruduced the presenters.

Harald Wellmann of Innovative Systems GmbH (Harman/Becker Automotive Systems) talked about “Europe on a Disk – Geoprocessing for Car Navigation Systems”. He talked about their usage of Eclipse and OSGi to build the map compiler on top of these and explained different benefits and drawbacks in using this technology. Additionally, he talked about Jump and uDig which is used for displaying maps in the Eclipse Map Processing Toolkit. Apart from the technical point of view, the talk gave an interesting little insight how the maps for our beloved navigational systems are created.

The second talk was given by Gerd Wütherich ( independant consultant) and was about “Spring Dynamic Modules for OSGi Service Platforms”. He demostrated how to use Spring in order to harness the power of OSGis dynamic Java lifecycle in enterprise applications. While presenting he showed some small demos. In his order service example, two persistence services were available and one went “offline”, so the other one jumped in to take over. Once the second service went down too, the application was waiting (with a timeout) until some persistence service was available. As a “a world in a nutshell” this was a great demo of how to use dynamic modules.

After the second talk was a little break with italian food. (Which I did not try, so I will not comment on it, but it looked delicious.)

Miguel Garcia ( TUHH) and Rakesh Prithiviraj were talking about “Rethinking the Architecture of Java ORM in terms of LINQ”. This session basically covered a “what we (Java developers) could learn from .NET” features. As far as I understood, LINQ (Language INtegrated Query) is a query which is translated to a query for a specific natural datasource. Visualö Studio seems to provide good support for these kind of queries including content assist. Java on the other hand seems to struggle to provide as good support. The talk covered ideas of how to get at least close, if not catch up. I honestly do not understand, why such a innovative mechanism as LINQ was not introduced in Java much earlier? ( Slides of the two)

The last talk was given by Stephan Herrmann ( TU Berlin) discussed “Plugin reuse and adaptation with Object Teams: Don’t settle for a compromise!”. This was basically an intruduction to Object Teams, a language extension to Java, which was developed over the past seven-eight years at the TU Berlin. This extension does not only cover the fundamental aspects but supports the complete Eclipse tool support: content assist, debugger and finally, compiler. Object Teams provides something, which Stephan explained as inheritence on object level (instead on on the class level). It provides the ability to modify objects (especially class instances, not classes!) with additional behavior. So, it is possible to adapt classes to change their runtime behavior with so-called Role Classes. On method level, the roles can be applied in a call-in or call-out fashion, depending on when they have to be invoked. From the point of view of software engineering and language design this was a very interesting talk. (For more information refer to ObjectTeams, Slides are online at Slides).

And after the end of this talk, 23:00h had passed (we started at 19:00 o’clock). However, seeing many familiar faces and having a pleasant conversation, together with great presentations made it worth staying up late.