How do you use OSGi? (part 2)

A couple of weeks ago I sent a form to OSGi dev mailing list. I have started to share the summary of answers with the community. As there were many questions, I decided to split the content and publicize it as several posts. If you are interested, the first part is here.

In the last couple of months, I visited some companies. I had the idea that every OSGi developer uses Eclipse. I was surprised as I saw that many developers prefer InterlliJ even without direct OSGi support. I had to ask the following question to get a clear picture:

osgi-survey-summary-devenvThe second answer is Eclipse + BndTools. Sadly Google cuts the end of it down. There might be some overlappings as two developers responded Eclipse and Eclipse + BndTools together. There were some developers, who filled the other section with the following contents:

  • Command line
  • Vim
  • Looking at moving from Netbeans to Eclipse + BndTools

We are developing an Eclipse plugin at the moment to support starting, stopping and upgrading OSGi containers based on Maven configuration. We will check if we can develop an IntelliJ plugin as it seems to be very popular, too.

I was interested if people are satisfied with their IDE or they need other features. So I asked the following question:

What features do you miss in your development environment during your work?

People had lots of ideas for new features here:

  • Bndtools for IntelliJ would be nice, if 100% compatible
  • Most IDEs seem to ignore the fact that the real work is done by the CI; it’s fairly useless to integrate testing in an IDE if it cannot be scripted and run consistently on a CI server
  • IntelliJ has very poor support for OSGi compared to its Java EE and Spring integration
  • Stability. Eclipse crashes a lot and the plugis will break other plugins. I have lost maven capabilities on a number of instances and have to reinstall
  • Integration between BndTools and Karaf
  • a component diagram generated from DS or other component frameworks would be very nice to get a higher-level overview ; bndtools not used because only Eclipse and forces conventions on us (e.g cnf/) that leak into git, and our build.
  • Manifest Viewer and Diff
  • Dependency resolution at build time based on OSGI meta data
  • Debug Tooling and visualization for service/ component startup. IDE based Service Catalog for finding and using appropriate services with descriptions (meta data service) how to use them as a developer.
  • something that can ease for debugging
  • P2 Repo support in Bnd
  • realtime baseline error feedback
  • none
  • BndTools (the same developer answered that he/she develops with IntelliJ)
  • Looking for developer studio for IntelliJ 🙂

All of them are very valuable answers to me. However, I would like to highlight one:

a component diagram generated from DS or other component frameworks would be very nice to get a higher-level overview

I talked to other guys, and it seems that many of us want this feature. I wanted it, too. That is why I started to develop a WebConsole plugin for our component model. The latest version (that includes the graph) of the webconsole plugin is not released yet, but the majority of the work is done. Here is a screenshot in case you are interested:

osgi-survey-summary-ecmgraph

Part 3 will come within a couple of days. Stay tuned!

Advertisements

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.

Tagged with: , ,
Posted in Uncategorized
2 comments on “How do you use OSGi? (part 2)
  1. Jens Kübler says:

    Here is some initial work for debbugging SCR via RMI
    https://github.com/cleanerx/OSGI-Declarative-Service-UI

  2. […] A couple of weeks ago I sent a form to OSGi dev mailing list. I have started to share the summary of answers with the community. As there were many questions, I decided to split the content and publicize it as several posts. If you are interested, the previous part is here. […]

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: