Thursday, March 15, 2007

QCon: Cold Turkey after EclipseCon

Last week at EclipseCon I had the feeling that my evangelist days were numbered. At that conference it was too easy to think that we conquered the world and could claim victory. In comparison, QCon is a bit going cold turkey. There seems to be something called .NET from an obscure company in Redmond that is also being used to build systems. I even met a woman from IBM focusing on open source software that was not really aware of OSGi. I guess that I have to keep on running around in my Ask me about OSGi shirts a bit longer.

Though the news is not all bad, Rod Johnson (he seem to be an even more frequent conference speaker than I) from Interface21 (the Spring people), gave a very interesting presentation in which the OSGi technology played a major role. He even followed the OSGi marketing missives as a new member, explaining that the OSGi Alliance denies they have anything to do with gateways. Of course the effect is that he is educating most of the the audience about the fact that we once had something to do with gateways! Anyway, it was a good presentation that helped to alleviate the first withdrawal symptoms.

Rod also gave a presentation about Aspect Oriented Programming that was quite interesting. I was at the OOPSLA 97 conference where AOP was first made public and have followed it over time, now and then playing a bit with it. However, I always shied away of using it in real products. It is interesting how Spring allows you to use many of the AspectJ features without really requiring any AspectJ compiler. The integration facilities of Spring are quite powerful, just the fact that they use XML is a bit off-putting.

This dislike of XML is the reason that I read the Grails book lastnight (the party was way too noisy and too crowded, so I walked back from Soho after 2 minutes and 12 seconds in the bar). Grails is supposed to be Java's answer to Ruby on Rails (RoR). Key feature of Ruby on Rails is that it does not use XML! Last year at Oredev Niclas Nilsson of Activa gave a cool presentation of RoR on Öredev in Malmö. Anything that actively avoids XML configuration files has my undivided attention.

Unfortunately, Ruby has its own world disjoint from Java. JRuby is supposed to correct this shortcoming but in the meantime Grails is trying to clone and surpass RoR.

Grails consists of Spring (configuration, bean handling, MVC model), Hibernate (persistence), Quartz (scheduling), and Canoo (testing), all bound together using Groovy. I had eyed the Groovy language but never really looked into it. I must admit from the Grails book's explanation I was quite impressed. I am not completely clear how they do all their magic but it looks impressive. This seems a really nice dynamic language that is well integrated into Java. Recently I spent some flights trying out Scala but that syntax was a bit harder to digest (though it is a static typed language while Groovy has typing as an option). Key thing is that Groovy supports closures and syntax for lists and maps. The lack of closures in Java is an unforgivable oversight and the lack of special syntax for lists and maps is a major inconvenience.

Key thing of Grails is that it uses a lot of conventions to minimize the coding one has to do. A code generator uses conventions to create most of the boiler plate code that is so prevalent in enterprise software. I have read the book but not played with it yet so I might be disappointed when I really start to play with it, we'll see. But so far it looks promising.

I am not sure if it is my advanced age or the industry is accelerating but I never felt so behind in catching up with emerging technologies. I guess I have to take some weeks off and learn to work with all those libraries and frameworks that seem to become mainstream. Spring, Hibernate, Grails, Linq, Scala, Groovy, AOP, JRuby, Jython, .NET 3.0, Struts, the list seems endless.

A lot of these technologies have become mainstream and through the Enterprise Expert Group they have become key technologies that should run on OSGi service platforms. Grails seems to contain most of theses hot technologies so creating an application with it and making it run on
an OSGi framework would teach me a lot. A cool project would be to port the OBR repository to Grails and run it on an OSGi framework. OBR v2 seems a very suitable application for it. Then again, time is always in short supply somehow. Which reminds me, I better fine tune my slides for my presentation.

Peter Kriens

Monday, March 12, 2007

Reflecting on EclipseCon 2007

If you followed this blog you have noticed how BJ Hargrave practiced real time blogging from his Blackberry. If you were not on the conference, you must have realized what you have missed a lot. For any OSGi aficionado, this was the conference to be.

So what were the top 3 observations?

Number one by far is just the sheer number of people that talked about OSGi success stories. I can only conclude that the OSGi technology must work. JBoss (who has just become an OSGi member), BEA, IBM, Siemens, Compuware, Oracle, and others all indicate that modularity really helps. Companies seem to benefit tremendously by having modularity. John Wells from BEA made an interesting observation about this. They had always thought they worked in a modular fashion until they tried to use the OSGi technology. To their utter surprise they found out when they ported their system to an OSGi platform that very little existing code was actually modular. I think this is common for all of us; if you do not verify the modularity of the systems you build, it is highly unlikely that you will have it. The only way to get the benefits of modularity is by enforcing the rules, and the OSGi specifications are one of the few standards in this area.

The second observation is that the OSGi service model is becoming more and more important. Interesting, because a few years ago we had serious discussions inside the OSGi Alliance if the service model was relevant. We even broke up the specification in different layers to allow the specifications to be advocated in parts: the execution environment, the module layer, the life cycle layer, and the service layer. Several parties in the industry told us that the modularity layer was cool but they had no use for the service layer. Some even said that did not want to use OSGi just for the service layer. Even in JSR 291 we considered removing the service layer. In the end we decided to keep this layer because it felt too weird to create a novel mechanism to provide the optional services like Package Admin service and Start Level service. It is now hard to believe that we ever considered this! Most projects presented on the EclipseCon were heavily using the service registry. There were even complaints about the support for making service usage simpler, a clear task for R5. A good example of the power of the service model was shown by Jan S. Rellermeyer from ETH. He made the service registry distributed, allowing applications to use each other’s services even if they ran on different machines. Distribution is a cornerstone for the Enterprise Expert Group so Jan’s presentation was very interesting in this light.

The last, but probably most important, observation is that we really need a book. I think that every presentation that I sat in started with complaining about the lack of documentation for beginners. Almost unanimously they like the quality of the specification but indicate that the specification is too concise and detailed for programmers that want to use the specification. It really is time to start writing this book about OSGi ... I am pretty sure others are working on this as well but I guess I can provide a lot of background information that others cannot. Sigh, if I only had more time.

We will clearly do something again on EclipseCon 2008. It was heartwarming to see how the people from the Eclipse Foundation have helped us this year: Ian Skerret, Mike Milinkovich, and Bjorn Freeman-Benson. They sure radiated a lot of enthusiasm for the OSGi technologies (I actually had to blush during the press conference). Thanks! I can assure you that the experience has been very good for us too!

Peter Kriens

P.S. I am speaking on Thursday at QCon in London.

P.P.S. Next week we have a Vehicle Requirements meeting in Eindhoven, the Netherlands, which is open to non-OSGi members. Read more …

Friday, March 9, 2007

OSGi BOF at EclipseCon was great time

The OSGi BOF at EclipseCon was well attended. Perhaps it was the open bar at the back of the room? :-)

But in any case, it was very information and we did a lot of great networking with OSGi users. Some members of the OSGi Board of Directors also attended and enjoyed mingling with the OSGi community at EclipseCon.

Goodbye to EclipseCon 2007

Today was the last day of EclipseCon. It was a really great conference for OSGi users with a broad selection of sessions for all interests.

Today we has a cool short talk from Nokia and Sprint about OSGi enabled mobile phones coming soon from Sprint. Neil Bartlett gave a interesting talk on security in OSGi/Eclipse RCP applications. Perhaps the highlight of the day was the session from BEA on their experience using OSGi technology in their mSA software. And we finished up the conference with an OSGi management session from ProSyst.

Wow! What a great conference. The EclipseCon organizer's were also very happy to have had the OSGi Developer Conference at EclipseCon and are very excited about doing this again next year. Me too. If you missed EclipseCon this year, start making plans to attend the OSGi Developer Conference at EclipseCon in 2008!

Wednesday, March 7, 2007

EclipseCon: OSGi Panel Discussion was a hit

We just finished the "OSGi: Was It Good For You Too?" panel discussion. It went
really well and we seemed to keep the attention of the audience! In
addition to questions I asked as moderator, the audience also had some
really good questions.

Peter Kriens brought some OSGi t-shirts which we gave out to the audience
members who asked questions (we had a number of t-shirt left so we gave
them out to those who stuck around for more discussion after the panel).

Tuesday, March 6, 2007

New Eclipse project lead by Oracle features OSGi runtime components for persistence services

After a really funny key note from Dilbert author Scott Adam, Eclipse held a press conference. One noteworthy item from the press conference was founding OSGi member Oracle announcing they are leading a new Eclipse project to provide a comprehensive persistence platform for the OSGi Service Platform.

PS. A really good article on OSGi was published today in eWeek.

EclipseCon Monday wrap-up

Monday was tutorial day at EclipseCon. There were a number of OSGi related tutorials which were well attended. Building Service Oriented Bundle Architectures was an all day tutorial on bundle programming. The session had over 60 attendees and Peter Kriens was tapped to deliver the "keynote" for the day. The Spring and OSGi Combined short tutorial also has a great turnout. We had a full room with over 40 attendees. The attendees were great and asked lots of awesome questions.

Finally, there was a Server-side Equinox BOF at 8:45pm (!) that was standing room only. There are a lot of people using or interested in using OSGi in server-side uses. And to make the BOF perfect, some kind soul from Compuware appeared with a bucket full of ice-cold Corona beer (which is an appropriate beer choice since Compuware leads the Eclipse Corona project :-).

Monday, March 5, 2007

EclipseCon 2007, Monday

It is kind of amazing to see how much OSGi is present at this year's EclipseCon. There are 4 tutorials today, there is an OSGi Camp (I am sitting there right now), and lots and lots of people carry the little blue sticker that shows they are interested in OSGi. Oh yes, there is also this strange guy running around with "Ask me about OSGi" on his back. Oops, that is me.

BJ Hargrave and I will keep you posted during the week so pay attention! Wish you were here.

Peter Kriens

OSGi DevCon @ EclipseCon is about to start

After missing my flight from Orlando but somehow still catching my flight from Dallas, I've made it to Santa Clara. I am really looking forward to the start of EclipseCon tomorrow. The conference was great last year and I think it will be even better this year with the addition of the OSGi track. But perhaps I am biased :-)

I will be doing a bit of guest blogging this week from EclipseCon, in addition to Peter, to keep you caught up on the goings on here. They probably won't be as pithy as Peter's blogs, but hopefully they will be informative.

Tomorrow I will present a tutorial on Spring and OSGi with Martin Lippert. If you are unlucky and are not signed up to attend the tutorial tomorrow, you can download the presentations which will provide directions on how to access the tutorial code. Let me know what you think.