-
Notifications
You must be signed in to change notification settings - Fork 313
Getting started with OSGi
Eclipse Kura uses OSGi as its core technology. In short, Eclipse Kura is divided into several units that can be viewed as micro services, called Bundles. Those Bundles can be started and stopped at runtime and have associated a lifecycle and configuration properties that can be defined using some metadata. Dependency injection and bundle management is all orchestrated by the underlying OSGi engine implementation. In Kura case, Eclipse Equinox is used.
To get started with OSGi you can refer to the first 5 chapters of the OSGi specification (R8) - your main reference. You might read those chapters two times in your lifetime: once you get started for the first time, and once after a while you are developing using OSGi; it will trigger an "Aha!" moment for many of the OSGi aspects and will help you understand many of the obscure errors that you will encounter. Another good resource is the book OSGI in Action.
To find out more about Declarative Service you can refer to the following articles:
We are currently using Eclipse Tycho to build all of our bundles. To get started with Tycho, the following articles can be really useful:
- Maven Tycho for building Eclipse plug-ins, OSGi bundles and Eclipse applications with the command line - Tutorial
- Tycho Advanced by Dirk Fauth
- OSGi – bundles / fragments / dependencies
Many interesting articles can be found here. For internationalization, you can refer to the following articles:
- Eclipse Internationalization Part 1/4 – Current Situation by Dirk Fauth
- Eclipse Internationalization Part 2/4 – New Message Extension by Dirk Fauth and Tom Schindl
- Eclipse Internationalization Part 3/4 – Migration by Dirk Fauth
- Eclipse Internationalization Part 4/4 – New Features by Dirk Fauth
To get started with OSGi remote services:
User Documentation: https://eclipse-kura.github.io/kura/. Found a problem? Open a new issue or start a discussion.