OSGiCon Europe 2013

Last week I attended to EclipseCon Europe that was located at Ludwigsburg. Although there were many interesting talks I was more interested in the speeches of OSGiCon that was co-located with EclipseCon. OSGi is a specification that snaked into the Enterprise Java world in the last years and due to it’s perfection nobody will be able to kick it out.

In the last two years I forced my colleagues to switch the projects to OSGi. I had a painful period of time as I was the one who my colleagues could point at when something did not work. I started to create simple set of tools to help their work in a way that they could use the technologies they used before. As a result I presented these tools in a speech.

I visited several forums recently and I saw that some guys really prefer Declarative Services to Blueprint. As I worked a lot with Spring I chose blueprint after switching to OSGi. However, we ran into many problems with Blueprint and many of our projects could not reach version 1.0.0 as we missed a couple of features from Blueprint. One of my goal was to catch Peter Kriens for a little chat and ask him about the use-cases we have. Well, he convinced me to give a shot to DS. I will try it out on one of our next projects.

Peter started to create a new project called enRoute. As much as I understand his goal is to have a sample code that shows, how to use OSGi in the enterprise world. It has every “layer”  an enterprise application has to have (persistence, business logic and web UI). I am really happy that a project like this exists as in the future I could tell my new colleagues to check that to get the basic knowledge. Concerning to the persistence layer, I found that he used a TransactionServletFilter. I saw solutions like this before and I had a really bad feeling about them. I tried to explain this to Peter. I am not sure what his impression was (probably that I am a bit aggressive when I want to let others know about my opinion :)) but my one was that it would be really necessary to collect all the use-cases  of persistence handling. Therefore my next task will be to write down my thoughts in a very clear way so it can be the base of a discussion.

Another impression I got at the conference that many people prefer Gradle (and ANT) to Maven. I must say I was a bit surprised. My company switched to Maven from ANT as soon as it was possible. The early versions of m2eclispe plugin were really buggy and we suffered a lot. However, it was still worthy as with the dependency management of Maven we saved lots of time. We use Maven since that and we are pretty satisfied. I really liked the strict rules of Maven so I knew that my colleagues could not create shitty build file. As we work with Maven, a big part of my speech was about a maven plugin that helped a lot for us to work with OSGi.

After the speech I got the following negative feedback on EclipseCon site: “Got the impossion that they missed what’s happened in the past few years, looked really old school”.  This comment made me think a lot. What did I miss? I looked for solutions on the internet and I could not find any solution that makes it possible that could at least partly support TDD with Maven and Eclipse. I know about BndTools, but it supports ANT, which we left years ago. I know about Gradle, but it is still more the future. The Eclipse Gradle plugin lacks many feature the M2E plugin has. I would be really happy to get more information what I missed in the past few years. In the answer I would like to see at least one “modern” alternative solution that supports the development workflow I introduced. Not to be mistaken, I am not huffish, I am interested. I would be the happiest if I could tell my colleagues that there is a solution better than the current.

I had colleagues in the past year who said “we should use Gradle/Scala/Netbeans/Idea/… as they are much more modern as the technologies we work with”.. After I asked, none of them could show me a complete solution with those technologies. I was flexible, I told them that they could make changes in our workflow in a way that they provide the same code quality but somehow they did not come back with a showcase with the “modern technologies” :).

I also attended to a very interesting discussion (OSGi en Route: What Is It?). It was started by Peter Kriens. He talked about his new project, called en Route. However, it became soon a discussion about OSGi itself. Why is it hard to learn? How could be the marketing of OSGi better? People already had a couple of beers and wines before the meeting so some of the speeches were a bit funny :). Although I am pretty sure I will follow the “en Route” project, the more interesting part for me here was that programmers could get in touch with the OSGi leaders in a very informal way. I told them that their website is not the best. Information is hidden and people close it before finding what they were looking for. I checked the site now again and I found that there are much more information now than a couple of years ago. I could find links to the tutorials. BUT. The “Getting started” is still not the most important message of the site. If I look at it, I see that there is conference. Cool. But if I look at the site of any other technologies, the first thing I get is the “Get started for dummies”. I think, OSGi guys should refactor the site a bit in the way that news are only the second most important thing on the site.

I had also a nice chat with David Bosschaert. He said that they are working on an OSGi certification program where not a framework but a programmer can get a paper. I am very interested where it goes and I would like to be one of the firsts who gets this certificate.

I think I got what I wanted at the conference. However, I am not sure I would have this feeling if I had not attended to the BoF. More BoF (informal talk with the technology leaders filled with alcohol) next year!


About Balázs Zsoldos

Balazs Zsoldos is the co-founder of Everit. He is the leader of the development of Everit OpenSource Components. Developing Java based solutions is not only his job but also his passion. He believes in simplicity. That is why he decided to design and build as many simple, but useful goal-oriented modules as he can. As the base of the stack, he chose OSGi. Balazs does not believe in monoholitic frameworks, therefore all of the solutions that was designed by him can be used separately. In the beginning of his career, Balazs was a big fan of JEE and Spring. After a while, he changed his mind and started to try replacing everything with non-magical solutions that do not contain interceptors, weaving, etc.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: