First Native OSGi Developers Meeting
After a general introduction round, we discussed the current state of the available open-source frameworks (Celix, SOF, nOSGi, and CTK) and tried to identify common needs and goals. The projects had a lot in common, but also differed in some interesting ways.
Another very important discussion was centered about two questions which pop up frequently.
Why is a native (C or C++) OSGi framework needed?
- C and C++ as programming languages are here to stay (whether you like it or not).
- Traditional application domains (for example in medical imaging, embedded devices, sensor networks, etc.) often use native languages and possibly rely on a large native (legacy) code-base.
- Native developers designing scalable, modular platforms for a dynamically reconfigurable (embedded) environment need a light-weight yet powerful module system (just like Java developers).
What are the benefits of a native (C or C++) OSGi framework?
- Builds upon a mature API design for a dynamic environment, supporting native developers in creating modular platforms.
- Allows the creation of a hybrid Java and C/C++ architecture (via remote services) as an alternative to JNI.
- Maximizes the performance per watt ratio for (embedded) devices.
- Eases future software migrations of native components to a Java OSGi-based system.
We strongly believe that there is a market (community) for Native OSGi and quickly agreed on trying to draft a C and C++ API in the near future and have it reviewed by the community.
Having a common API would allow us to re-use bundles originating from different projects, as it is common in the Java OSGi community. Additionally, it would hopefully help us in growing a community and to foster collaboration between the existing native OSGi framework implementations.
A large part of the afternoon discussions focused on the meaning of a Module Layer in a native setting and about C and C++ interoperability. I think we are heading in the right directions but there are still many details to work out.
blog comments powered by Disqus