Eclipse Summit Europe 2008, Part 1

Posted by Mike Haller on Wednesday, November 19. 2008 at 21:41 in Eclipse
Eclipse Summit Europe 2008, Part 1

This year's the first time I attended an Eclipse-related conference: the Eclipse Summit Europe 2008 in Ludwigsburg near Stuttgart in Germany. There were so many intersting talks on the schedule and so i didn't plan exactly to which i'm going to listen to. I arrived in Ludwigsburg on 19.11.2008 at the "Forum am Schlosspark" just in time for the Keynote of Dave Thomas at 9 o'clock.

Dave Thomas was the CEO of OTI. He's a professor and talked about the next generation of embedded software. And he was very provocative about the current generation of software. The software we build is just not simple enough. I think his key point was that if any other industry out there would produce their products the same they we build software, nobody would use the products. When it become more technical, I scribbled down some keywords. Good for taking an in-depth look on these topics later on
- Yahoo Pipes
- DabbleDB
- Embeddable software
- Real components
- Frameworks introduce a lot of dependencies
- We are doing a bad job.
- JavaScript, LUA, Erlang better languages for certain jobs
- Non-Java VMs

The next talk was "Eclipse Project Update", held by Philippe Mulet. He compiled a presentation of some nice improvements in PDE, the e4 project, the Eclipse DOM, some new branding capabilities and styling of UI using CSS. He also made sure everybody left with knowing that the Ecliipse 3.x stream is going to be continued and maintained. New features in e4 which prove to be good will be downmerged. The bad side about the presentation was that the beamer did not work in the first few minutes and the presenter was hard to understand.

Heiko Seeberger and Martin Lippert held a tech-talk about how Aspect-Weaving in OSGi is going to be supported. There is an incubation project at Equinox called "aspects". It supports modularized aspects, caching of weaved classes and, more importantly, the dynamic nature of the OSGi platform. When bundles providing aspects are uninstalled, affected bundles are refreshed. Hence, it's possible to enable/disable aspects at runtime. He also showed a funny monitoring tool as an example application for aspects. The aspects inject monitoring of method calls and object interaction and visualizes it. Bundles are drawn on the screen and edges between bundles are highlighted when bundles communicate with each other. Have to find that thing and try it out. Probably demo code in TPTP somewhere.
Aspect bundles only need aop.xml and additional manifest headers and the runtime needs the "aspects" bundles of course. The presentation was great, because it was short and the demo actually worked and we could see something.

Service Discovery and Remote Services with Eclipse Communication Framework was the presentation of Jan Rellermeyer, Markus Kuppe and Scott Lewis. I've just a few keywords for this one as I'm going to digg deeper later. However, sadly the live demo was not quite working as the WiFi seemed to be a bit unstable. However, they showed a "discovered" Webcam service, which was viewing the main foyer. The keywords: SLP, RFC119, R-OSGi, EMF Net4J. I later had a short talk with Jan about R-OSGi, Service Discore and Remote Services in general. I'm quite impressed about the topic and find it very interesting. We also strived the topic about software which "forgets" - which seems to be a very essential part in the mobile and public world of services. Jan's way in R-OSGi to provide transparent remote services is to dynamically create proxy bundles at runtime. Using static byte-code analysis, he can package the service interfaces and all related dependencies into a new client-side bundle. The vision also seems to include a description language for user interfaces of services. Hence, services describe their UI e.g. the same way a WebService does with WSDL. The user interface description can then be used on the client to render on the client-specific graphical toolkit capabilities, be it Cocoa, SWT, HTML or whatever else.

One of the big talks was "Building Jazz with Jazz" by Andre Weinand of IBM. He talked about the history of the development team, how they found their way of the development process and how they eat their own dog food by incrementally start using new featuress of Jazz to built Jazz itself. Their product is Rational Team Concert, which is based on the Jazz Platform. They use component based development and one of the key phrases is "Architecture follows organization". Over a year ago I had a talk with an ex-collegue (Stefan) which is now working for IBM and he told me that "Jazz" is going to be really cool. Back then, I was interested but could not yet see the impact of Jazz and how it will be actually using it in a development team. The Jazz team works distributed in 6 or 7 places and about 70-80 people. One of the remarkable features of Jazz is the support for isolation levels. Other keywords: Repository workspace, streams, suspend/resume, work items, tasks, team of teams

Jeff McAffer and Paul Vanderlei showed some best practices when it comes to OSGi and Equinox. The focused on services, service discovery, dependency resolution using Declarative Services (which will be part of Eclipse 3.5, right now it's separated). At some point of the talk, they got me. It was then they showed how evil the Service Tracker is and why not use it. I've used Service Trackers of course, since they're much easier to deal with in contrast to sing service references and keep track of them manually. However, they showed that it's evil and leads to ugly code. And code which does not perform well in the dynamic aspects of OSGi. Declarative Services to the rescue! They showed how to bind/unbind POJOs using a separate Component and DS. They compared Extension Pattern vs Registration Pattern vs Whiteboard pattern using an example application called "Toast": a nice little UI for the automatice use-case where operations and UI can be enabled/disabled and where various implementations of services live, e.g. a GPS service, a Radio Tuner service and an Emergency Service. Details at http://tinyurl.com/5mcayy

As I know Gilles from IRC, i went to his talk where he and his collegues presented the "SBB Rail Control System Disposition" application. It's an Eclipse RCP based applications for railroad dispatcher personnel. What I liked about the show was that they focused on the business-side´of their use-case. It was very interesting to see how many trains, tracks, signals, sensors etc. were involved and how this all fits together. Later in the talk, they gave an architectural overview and went deeper into technology: Java, Oracle Coherence, Oracle Database, Tibco Rendezvous, Transparent Cloud, Tibco Switches etc. Everything quite impressive stuff. They're handling 1.5TB/data per day which must be available in less than a second at the dispatchers workstation. They said they can only perform so well because they use asynchronous broadcasting. The dispatcher monitors all the railroad traffic and needs to adapt to changes, e.g. for delayed trains and move them to other tracks to prevent "resource conflicts". The RCP application manages 8 displays with 15 windows each. They couldn't do it with Swing and they're using a standard SWT Canvas to draw a lot of domain-specific diagrams. Funny and interesting!

My employer Innovations is sponsor for the Eclipse Summit and also has a booth there. Volker Grossmann and Jan Trnke hold a talk about data management in a real project at the EUREX. EUREX is a financial exchange and they previously had the problem to maintain 10'000 "securities" per day manually. They had to do something, as the data quality got worse and they did a project with Visual Rules. Using such a sophisticated business rules management system brought them into a position where they can improve the data quality by extracting business knowledge into over 2000 rules. A very impressive side effect of extracting the business know-how into a visual, understandable form is that they could increase the automation up to 98%. Only 5 out of now 100'000 securities per day need to be handled manually. In fact, the data quality of EUREX has become so good that: "Eurex data quality is now market reference."

The evening passed and after a talk with the guys from Versant (they've got an Object Database which seems to fit my current problem) and attending to the Persistence BOF, i went to the hotel for a cold beer and to write this blog post. Good night, tomorrow's going to be another exhausting day with lots of information.


Kai Grabfelder
interesting post, keep up the good work tomorrow ;-)

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications
 
Submitted comments will be subject to moderation before being displayed.
 

About

My name is Mike Haller and I'm a software developer and architect at Innovations Software Technology in Germany. I love programming, playing games and reading books. I like good food, making photos and learning and mentoring about the craftsmanship of commercial software development.

Quicksearch