The best way to start with OSGi on the server side is with a mini-project to help clarify concepts and workout the mechanics.
I have chosen a simple idea: build a volatile cache that stores objects. The interface with it is simple HTTP calls to perform usual operations: get, set, clear and get info. Additionally, Unit Testing will of course be used (but not Acceptance Testing in this case).
We start with building a component that serves as the controller for the system. It encapsulates any implementation details and answers to the system requests.
Read on for a short tutorial on how to setup the a first bundle, add an interface and some logging and fire up the appropriate OSGi environment.