Where creating modular, loosely-coupled, and dynamic software components on the Java platform is becoming the de-facto standard, this is not yet the case for (embedded) native software. Several native OSGi like implementations currently exist, but they all provide their own implementation and design. Native-OSGi is an effort to reach a common specification which solves this problem.
Where creating modular, loosely-coupled, and dynamic software components on the Java platform is becoming the de-facto standard, this is not yet the case for (embedded) native software, mainly due to a lack of standardized solutions. To fill this gap, several native OSGi like implementations currently exist, but they all provide their own implementation and design. To be able to reuse bundles from different implementations, more information and specifications are needed.
The Native-OSGi project is a collaboration of the Apache Celix incubation project, the CTK Plugin Framework project, and the nOSGi project. The goal of Native-OSGi is to define a common specification which can be used by C and C++ OSGi like implementations. It focusses on the API, bundle format and any other aspect which needs to be lined up. For this, the OSGi specification will be taken as a starting point. It can, at least, partially be seen as a continuation of OSGi RFP-89, Universal OSGi which was started in 2007, but never took of. To keep the scope maintainable and limited, Native-OSGi will focus strictly on C and C++ and on enabling transparent interoperability between C and C++ bundles via services while staying close to the programming model of the specific language.
During this talk we will share our experiences with translating the OSGi specification/concepts to a native environment and present the current state of Native-OSGi. While the first part will give you a high-level overview, the second part will go into the details of the specifics of a native OSGi specification and show how it can solve common problems of modular, loosely coupled native software development.
More information about the different project can be found at their websites: Apache Celix: http://incubator.apache.org/celix/ CTK Plugin Framework: http://www.commontk.org/index.php/Documentation/CTK_Plugin_Framework:_In... * nOSGi: http://www.uni-ulm.de/in/vs/proj/nosgi/
More information about the Native-OSGi project can be found at the Native-OSGi GitHub page: https://github.com/abroekhuis/NativeOSGi