Using Dependency Injection to Integrate Eclipse Extensions with OSGi Services

Neil Bartlett (Independent)

Eclipse As A Platform · Long Talk
Presentation
Tuesday, 11:10, 50 minutes | Room 206 | Download in iCal Format

7
·
8
·
9
·
10
·
11
·
12
·
13
·
14
·
15
·
16
·
17
·
18
·
19

Neil Bartlett

Many Eclipse developers have begun to explore the facilities of OSGi, in particular the Service Registry which offers a powerful way to separate the implementation of services from their interfaces, and thus enhance the reusability of components.

However, there is some tension between OSGi's Services and Eclipse's Extensions, because they were both designed independently to perform very similar jobs. Moreover there is no documented approach to integrating the two models, and this has persuaded many developers to choose one over the other. Since Extensions are unavoidable in RCP applications and in Eclipse SDK plug-ins, this means that Services are not much used in those environments. That's a problem, both because RCP application developers are missing out on one of the best reasons for building on OSGi, and also increasingly because they will be unable to use components developed by third parties that do use Services.

In this talk I will describe an approach based on Dependency Injection -- as used in Spring or Guice -- to make Extensions and Services work together. Along the way I will cover the main differences between the two models, and when it is appropriate to use each one.

Neil is a Java developer and consultant specialising in Eclipse RCP and OSGi, in particular their use in large enterprise settings. Recently he has helped a number of financial institutions with their adoption of RCP and evangelises the use of the RCP/OSGi technology platform for both client and server-side development.

Floor Plan

Gold sponsors

BEA logo

IBM logo

Wind River logo

Replay Solutions logo

JBoss logo

SOPERA logo

Cloudsmith logo

BIRT Exchange logo

Skyway Software logo

Oracle

BlackBerry logo

AMD logo

Silver sponsors

Sybase

Google

Genuitec

Instantiations

Teamprise

Telelogic

Innoopract

Business Objects

LynuxWorks logo

Hardware sponsor

AMD logo

Media sponsors

Extension Media

Methods and Tools

ACM

Addison-Wesley logo

SD Times logo

Open Systems Publishing

Software Test & Performance logo

SDForum

Be a Sponsor