Thursday, October 15, 2009

Chapter 26.  OSGi Essentials










Chapter 26. OSGi Essentials


In Chapter 2, "Eclipse RCP Concepts," we outlined the basic Eclipse concepts of plug-ins, the Runtime, applications, products, and the extension registry. Further chapters provided additional detail in the context of particular problems or scenarios related to Hyperbola, our omnipresent chat client example. This chapter digs into the OSGi concepts and constructs that underlie the Eclipse Runtime.


You should think of this chapter as reference material and use it as needed. We cover many advanced topics and explain exactly what your application does from start to finishthe kind of information you need when you have problems and are up late at night troubleshooting. Of course, you are free to read through the chapter and pick up various background information and helpful tips and tricks that can be applied everyday.


The material here is by no means a complete treatment of OSGi and its use in Eclipse; that would take another book! It is, however, useful for people who are:


  • curious about the how plug-ins relate to OSGi constructs such as bundles

  • troubleshooting their application, for example, tracking down ClassNotFoundExceptions

  • designing a set of plug-ins and fragments

  • looking to understand more about how Eclipse starts, runs, and stops


It is worth pointing out here that the OSGi framework specification is just that, a specification for a framework. The framework is intended to be implemented and run on a wide range of platforms and environments. As such, it does not say anything about, for example, how bundles are installed, how they are started, how they are laid out on disk, or even if they are laid out on disk. It is up to implementations to define these characteristics.


The bulk of this chapter is devoted to mapping the OSGi specification onto the Eclipse use case. Readers are encouraged to read the OSGi Framework Specification Release 4 from http://osgi.org and treat this chapter as a guide to the Eclipse implementation and use of that specification.












No comments:

Post a Comment