Submit Search
Upload
OSGi For Eclipse Developers
•
22 likes
•
4,199 views
Chris Aniszczyk
Follow
A presentation given at JAX 2009
Read less
Read more
Technology
Report
Share
Report
Share
1 of 46
Recommended
What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)
Chris Aniszczyk
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
mfrancis
Together in Eclipse
Together in Eclipse
Tomasz Zarna
Democamp Munich 2013: Are you still manually coding UIs?
Democamp Munich 2013: Are you still manually coding UIs?
Maximilian Kögel
Best Strategy for Developing App Architecture and High Quality App
Best Strategy for Developing App Architecture and High Quality App
Flurry, Inc.
Compare framework
Compare framework
Tomasz Zarna
Rational Rhapsody Workflow Integration with Visual Studio
Rational Rhapsody Workflow Integration with Visual Studio
Frank Braun
15 EMF projects in 25 minutes
15 EMF projects in 25 minutes
Cédric Brun
Recommended
What's New in Plug-in Development (Galileo)
What's New in Plug-in Development (Galileo)
Chris Aniszczyk
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
mfrancis
Together in Eclipse
Together in Eclipse
Tomasz Zarna
Democamp Munich 2013: Are you still manually coding UIs?
Democamp Munich 2013: Are you still manually coding UIs?
Maximilian Kögel
Best Strategy for Developing App Architecture and High Quality App
Best Strategy for Developing App Architecture and High Quality App
Flurry, Inc.
Compare framework
Compare framework
Tomasz Zarna
Rational Rhapsody Workflow Integration with Visual Studio
Rational Rhapsody Workflow Integration with Visual Studio
Frank Braun
15 EMF projects in 25 minutes
15 EMF projects in 25 minutes
Cédric Brun
OSGi, Eclipse and API Tooling
OSGi, Eclipse and API Tooling
Chris Aniszczyk
Papyrus for real-time embedded
Papyrus for real-time embedded
Charles Rivet
Practical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approach
Mark Cocker
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
Curity
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013
Jeff Haynie
Strategic guidance
Strategic guidance
Roger Pence
Adobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for Android
Mark Doherty
Pose Extraction for Real-Time Workout Assistant: Milestone 2
Pose Extraction for Real-Time Workout Assistant: Milestone 2
Zachary Christmas
Pose extraction for real time workout assistant - milestone 1
Pose extraction for real time workout assistant - milestone 1
Zachary Christmas
Pose Extraction for Real-Time Workout Assistant: Milestone 3
Pose Extraction for Real-Time Workout Assistant: Milestone 3
Zachary Christmas
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Open Source Experience
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
mfrancis
What do you need to know about g rpc on .net
What do you need to know about g rpc on .net
Moon Technolabs Pvt. Ltd.
OpenStack_Horizon_Why
OpenStack_Horizon_Why
praphul sinha
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Ralf Sternberg
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Eric Jain
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
Chris Aniszczyk
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
mfrancis
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
guestb69b980e
P2 Introduction
P2 Introduction
irbull
PDE Good Practices
PDE Good Practices
Ankur Sharma
Intro to OSGi and Eclipse Virgo
Intro to OSGi and Eclipse Virgo
Gordon Dickens
More Related Content
What's hot
OSGi, Eclipse and API Tooling
OSGi, Eclipse and API Tooling
Chris Aniszczyk
Papyrus for real-time embedded
Papyrus for real-time embedded
Charles Rivet
Practical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approach
Mark Cocker
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
Curity
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013
Jeff Haynie
Strategic guidance
Strategic guidance
Roger Pence
Adobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for Android
Mark Doherty
Pose Extraction for Real-Time Workout Assistant: Milestone 2
Pose Extraction for Real-Time Workout Assistant: Milestone 2
Zachary Christmas
Pose extraction for real time workout assistant - milestone 1
Pose extraction for real time workout assistant - milestone 1
Zachary Christmas
Pose Extraction for Real-Time Workout Assistant: Milestone 3
Pose Extraction for Real-Time Workout Assistant: Milestone 3
Zachary Christmas
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Open Source Experience
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
mfrancis
What do you need to know about g rpc on .net
What do you need to know about g rpc on .net
Moon Technolabs Pvt. Ltd.
OpenStack_Horizon_Why
OpenStack_Horizon_Why
praphul sinha
What's hot
(14)
OSGi, Eclipse and API Tooling
OSGi, Eclipse and API Tooling
Papyrus for real-time embedded
Papyrus for real-time embedded
Practical CICS application deployment using DevOps approach
Practical CICS application deployment using DevOps approach
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013
Strategic guidance
Strategic guidance
Adobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for Android
Pose Extraction for Real-Time Workout Assistant: Milestone 2
Pose Extraction for Real-Time Workout Assistant: Milestone 2
Pose extraction for real time workout assistant - milestone 1
Pose extraction for real time workout assistant - milestone 1
Pose Extraction for Real-Time Workout Assistant: Milestone 3
Pose Extraction for Real-Time Workout Assistant: Milestone 3
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
Town Hall - Business Implications of Open Source OSGi Implementations - BJ Ha...
What do you need to know about g rpc on .net
What do you need to know about g rpc on .net
OpenStack_Horizon_Why
OpenStack_Horizon_Why
Viewers also liked
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Ralf Sternberg
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Eric Jain
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
Chris Aniszczyk
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
mfrancis
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
guestb69b980e
P2 Introduction
P2 Introduction
irbull
PDE Good Practices
PDE Good Practices
Ankur Sharma
Intro to OSGi and Eclipse Virgo
Intro to OSGi and Eclipse Virgo
Gordon Dickens
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Noopur Gupta
Eclipse plug in development
Eclipse plug in development
Martin Toshev
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
mikaelbarbero
Viewers also liked
(11)
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
P2 Introduction
P2 Introduction
PDE Good Practices
PDE Good Practices
Intro to OSGi and Eclipse Virgo
Intro to OSGi and Eclipse Virgo
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Eclipse plug in development
Eclipse plug in development
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
Similar to OSGi For Eclipse Developers
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
Cédric Brun
OSGi Versioning & Testing
OSGi Versioning & Testing
Chris Aniszczyk
OSGi Versioning And Testing
OSGi Versioning And Testing
pvanderlei
Eclipse Way
Eclipse Way
Tomasz Zarna
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
Yoann Rodiere
2010 06 22 omg - obeo
2010 06 22 omg - obeo
Etienne Juliot
Keynote de Mike Milinkovich
Keynote de Mike Milinkovich
EclipseDayParis
Eclipse Rich Ajax Platform
Eclipse Rich Ajax Platform
Fabian Lange
Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)
Chris Aniszczyk
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
mfrancis
Overview of Eclipse technologies
Overview of Eclipse technologies
PT.JUG
Enterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm Server
Sam Brannen
An Open Source OSGi Plug-In for Eclipse - Mikaël Desertot, University of Gre...
An Open Source OSGi Plug-In for Eclipse - Mikaël Desertot, University of Gre...
mfrancis
IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)
Tonny Madsen
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB Project
Wuff: Building Eclipse Applications and Plugins with Gradle
Wuff: Building Eclipse Applications and Plugins with Gradle
Andrey Hihlovsky
DemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - Introdcution
Ákos Horváth
Eclipse
Eclipse
Nicola Pedot
Python Experience in KKBOX Group
Python Experience in KKBOX Group
Shuen-Huei Guan
Object Oriented Cobol
Object Oriented Cobol
Dov Keshet
Similar to OSGi For Eclipse Developers
(20)
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
OSGi Versioning & Testing
OSGi Versioning & Testing
OSGi Versioning And Testing
OSGi Versioning And Testing
Eclipse Way
Eclipse Way
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
2010 06 22 omg - obeo
2010 06 22 omg - obeo
Keynote de Mike Milinkovich
Keynote de Mike Milinkovich
Eclipse Rich Ajax Platform
Eclipse Rich Ajax Platform
Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
Overview of Eclipse technologies
Overview of Eclipse technologies
Enterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm Server
An Open Source OSGi Plug-In for Eclipse - Mikaël Desertot, University of Gre...
An Open Source OSGi Plug-In for Eclipse - Mikaël Desertot, University of Gre...
IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
Wuff: Building Eclipse Applications and Plugins with Gradle
Wuff: Building Eclipse Applications and Plugins with Gradle
DemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - Introdcution
Eclipse
Eclipse
Python Experience in KKBOX Group
Python Experience in KKBOX Group
Object Oriented Cobol
Object Oriented Cobol
More from Chris Aniszczyk
Bringing an open source project to the Linux Foundation
Bringing an open source project to the Linux Foundation
Chris Aniszczyk
Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)
Chris Aniszczyk
Open Container Initiative Update
Open Container Initiative Update
Chris Aniszczyk
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
Chris Aniszczyk
Rise of Open Source Programs
Rise of Open Source Programs
Chris Aniszczyk
The Open Container Initiative (OCI) at 12 months
The Open Container Initiative (OCI) at 12 months
Chris Aniszczyk
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
Chris Aniszczyk
Getting Students Involved in Open Source
Getting Students Involved in Open Source
Chris Aniszczyk
Life at Twitter + Career Advice for Students
Life at Twitter + Career Advice for Students
Chris Aniszczyk
Creating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from Twitter
Chris Aniszczyk
The Open Source... Behind the Tweets
The Open Source... Behind the Tweets
Chris Aniszczyk
Apache Mesos at Twitter (Texas LinuxFest 2014)
Apache Mesos at Twitter (Texas LinuxFest 2014)
Chris Aniszczyk
Evolution of The Twitter Stack
Evolution of The Twitter Stack
Chris Aniszczyk
Open Source Craft at Twitter
Open Source Craft at Twitter
Chris Aniszczyk
Open Source Compliance at Twitter
Open Source Compliance at Twitter
Chris Aniszczyk
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Chris Aniszczyk
Effective Git with Eclipse
Effective Git with Eclipse
Chris Aniszczyk
Evolution of Version Control In Open Source
Evolution of Version Control In Open Source
Chris Aniszczyk
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
Chris Aniszczyk
SWTBot Tutorial
SWTBot Tutorial
Chris Aniszczyk
More from Chris Aniszczyk
(20)
Bringing an open source project to the Linux Foundation
Bringing an open source project to the Linux Foundation
Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)
Open Container Initiative Update
Open Container Initiative Update
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
Rise of Open Source Programs
Rise of Open Source Programs
The Open Container Initiative (OCI) at 12 months
The Open Container Initiative (OCI) at 12 months
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
Getting Students Involved in Open Source
Getting Students Involved in Open Source
Life at Twitter + Career Advice for Students
Life at Twitter + Career Advice for Students
Creating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from Twitter
The Open Source... Behind the Tweets
The Open Source... Behind the Tweets
Apache Mesos at Twitter (Texas LinuxFest 2014)
Apache Mesos at Twitter (Texas LinuxFest 2014)
Evolution of The Twitter Stack
Evolution of The Twitter Stack
Open Source Craft at Twitter
Open Source Craft at Twitter
Open Source Compliance at Twitter
Open Source Compliance at Twitter
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Git with Eclipse
Effective Git with Eclipse
Evolution of Version Control In Open Source
Evolution of Version Control In Open Source
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
SWTBot Tutorial
SWTBot Tutorial
Recently uploaded
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Recently uploaded
(20)
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Slack Application Development 101 Slides
Slack Application Development 101 Slides
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
OSGi For Eclipse Developers
1.
OSGi for Eclipse
Developers Chris Aniszczyk (EclipseSource) zx@eclipsesource.com http://twitter.com/caniszczyk Bernd Kolb (SAP) bernd.kolb@sap.com http://twitter.com/berndkolb Martin Lippert (it-agile) lippert@acm.org © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
2.
Overview
• Introduction • Topics Frameworks o Import-Package vs. Require-Bundle o Dynamic Bundles o Versioning o Extensions and Services o Compendium Services o OSGi Tooling o • Conclusion © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
3.
Introduction
• OSGi Alliance Worldwide consortium of technology innovators that advances o OSGi technology • OSGi Technology Set of specifications that define a dynamic component system for o Java OSGi is a lot more than Eclipse • Many Eclipse developers oblivious to OSGi topics • How about starting with a history lesson? © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
4.
A Blast from
the Past... • Eclipse had it's own non-standard plug-in model • OSGi and old Eclipse plug-in model were similar © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
5.
Eclipse + OSGi
FTW • Eclipse went to OSGi in 3.0 with Equinox* The transition went “smoothly” o *http://portal.acm.org/citation.cfm?id=1086616 © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
6.
© 2009 by
C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
7.
Eclipse
folks Plug-In © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
8.
Eclipse
OSGi folks guys Bundle Plug-In © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
9.
Overview
• Introduction • Topics Frameworks o Import-Package vs. Require-Bundle o Dynamic Bundles o Versioning o Extensions and Services o Compendium Services o OSGi Tooling o • Conclusion © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
10.
Frameworks
• There’s a world outside of Eclipse and Equinox © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
11.
Be aware of
special headers… • Forget about: Eclipse-BuddyPolicy o Eclipse-PatchFragment o Eclipse-SourceBundle o Eclipse-… o Otherwise you are tied to Equinox • Tip: PAX Runner to test against multiple frameworks http://wiki.ops4j.org/display/ops4j/Pax+Runner o © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
12.
Overview
• Introduction • Topics Frameworks o Import-Package vs. Require-Bundle o Dynamic Bundles o Versioning o Extensions and Services o Compendium Services o OSGi Tooling o • Conclusion © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
13.
The Alien called
“Import-Package” • Eclipse Dependencies are declared using Require-Bundle o Never heard of Import-Package, sounds strange o Plug-in • OSGi Uuuha, no, please don’t use Require-Bundle at all o o Instead, define dependencies using Import-Package Bundle © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
14.
What is the
difference? • Require-Bundle Imports all exported packages of the bundle, including re- o exported and split bundle packages p-1.0.1 p-1.0.1 q-1.0 q-1.0 t u Require Bundle • Import-Package Import just the package you need o p-1.0 p-1.0.1 q-1.0 q-1.0 t u Import Package © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
15.
When to use
what? • Prefer using Import-Package Lighter coupling between bundles o Less visibilities o Eases refactoring p-1.0.1 o p-1.0 q-1.0 t u q-1.0 • Require-Bundle, when necessary Higher coupling between bundles o Use only for very specific situations: o split packages (same package in different bundles) © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
16.
Overview
• Introduction • Topics Frameworks o Import-Package vs. Require-Bundle o Dynamic Bundles o Versioning o Extensions and Services o Compendium Services o OSGi Tooling o • Conclusion © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
17.
Bundles are dynamic?
You're kidding… © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
18.
Dynamics with OSGi
• OSGi allows you to manage bundles at runtime Install o Update o Uninstall o • But there is no magic behind the scenes nothing is changed automatically o objects stay the same o references remain valid o • This means you need to cleanup after yourself so the GC can help you! © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
19.
Updating a bundle
at runtime means... • Dependent bundles (with wires to the updated bundle via Require-Bundle or Import-Package) are stopped and re-started • The consequence: updating a bundle might cause the system to “restart” o this is not what I associate with “cool dynamics” o When programming anticipate OSGi’s dynamics © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
20.
Think about dependencies
• Less is more! Less dependencies o Dependency Inversion Principle (DIP) o • Think more about APIs API in separate bundle o depend only on API bundle o implementation can change o © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
21.
Overview
• Introduction • Topics Frameworks o Import-Package vs. Require-Bundle o Dynamic Bundles o Versioning o Extensions and Services o Compendium Services o OSGi Tooling o • Conclusion © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
22.
Versioning Guidelines
• Bundle-Version: 3.4.2.qualifier 3 - major version 4 - minor version 2 - micro version • From the OSGi specification... • Eclipse Versioning Guidelines http://wiki.eclipse.org/Version_Numbering © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
23.
Versioning Bundles
• On Bundle level Each Bundle has a version o You should set a version range when using require-bundle o • On Package level Packages should also have a version when exported o o Remember: Import-Package o Package imports should have version ranges as well! • Summary Version everything! o A version isn’t a marketing number! o © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
24.
Versioning Tools
• PDE API Tools http://www.eclipse.org/pde/pde-api-tools/ • Assists with the mechanics of API evolution Binary compatibility (breaking) issues API leaks API freeze issues Suggestions bundle versions Runs headless and in your workspace © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
25.
Overview
• Introduction • Topics Frameworks o Import-Package vs. Require-Bundle o Dynamic Bundles o Versioning o Extensions and Services o Compendium Services o OSGi Tooling o • Conclusion © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
26.
OSGi Services –
another alien… • Services? SOA? Oh no... please no buzzwords!!! • Something like Extension Points? • Hey, wait! o OSGi Services are the key feature to build modular and dynamic apps © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
27.
OSGi Services –
your best friend OSGi Service providers: OSGi Service consumers: implement an interface and register lookup a service via the interface an implementation © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
28.
Versioned Contracts
• the service interface is the contract many consumers possible o many producers possible o • this contract is versioned multiple versions of service might be available o you get only those that matches your dependencies o You cannot get that with extension points singleton bundles − You always get the latest version − © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
29.
“You come and
go” • A bundle is started: services are registered o and available from that on o • A bundle is stopped: services are unregistered o no longer available o • OSGi services are dynamic by definition! + dozens of techniques to deal with these dynamics o © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
30.
Life Cycle Differences
• Services are bound to the ACTIVE state • Extensions are available in RESOLVED state © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
31.
Declarative and lazy
• OSGi services are bound to the active state they need class loading to happen o they need objects to be created o • There are declarative approaches for OSGi services OSGi Declarative Services o OSGi Blueprint o Spring Dynamic Modules o iPOJO o © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
32.
When to use
what? • OSGi Services: Dependencies between bundles o Dynamics o Looser coupling o quot;I provide a service for anybody out therequot; o quot;I need a service and don't care who delivers itquot; o • Extension-Registry: UI contributions (too small for OSGi services) o Non-code contributions o quot;I open up myself for extensions that I don't know upfrontquot; o If you have tons of thousand of extensions o © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
33.
Overview
• Introduction • Topics Frameworks o Import-Package vs. Require-Bundle o Dynamic Bundles o Versioning o Extensions and Services o Compendium Services o OSGi Tooling o • Conclusion © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
34.
Compendium Services
• OSGi has spec’d 20+ services • LogService • EventAdmin • HttpService • Declarative Services • Configuration Admin © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
35.
LogService
• A general purpose message logger (20kb) • LogService Log message, level, exception, service ref, bundle o • LogReaderService Retrieve current or previous log entries o • Note: ExtendedLogService (bug 260672) named loggers o extended log entry (e.g., thread id) o filters for log listeners o © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
36.
EventAdmin
• An inter-bundle pub-sub system (30kb) • EventAdmin publish events synchronously and asynchronously o postEvent(new Event(quot;com/acme/timerquot;, time )); sendEvent(new Event(quot;com/acme/timerquot;, time )); • EventHandler handle events based on topics o handleEvent(Event event) • Event has topic and properties as attributes o © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
37.
HttpService
• A way to register servlets and resources • HttpService Register servlets and resources o • Http Registry (org.eclipse.equinox.http.registry) © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
38.
Declarative Services
• A declarative model for publishing, finding and binding to OSGi services (150kb) • ServiceTracker's – the programmatic way to get a service – suck © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
39.
Declarative Services Tooling
Graphical Editor • Validation • Source Editing • © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
40.
ConfigAdmin
• A service to configure components (bundles) o A configuration is a list of key-value pairs • The configuration admin service persists and distributes these configurations to interested parties • Components to be configured register a ManagedService • To apply several configurations of the same kind you could use a ManagedServiceFactory © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
41.
Overview
• Introduction • Topics Frameworks o Import-Package vs. Require-Bundle o Dynamic Bundles o Versioning o Extensions and Services o Compendium Services o OSGi Tooling o • Conclusion © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
42.
PDE
• Eclipse has been tooling OSGi forever with PDE Plug-ins == Bundles! Blugins? o • PDE Tools: Bundles o Fragments o Declarative Services o • New Plug-in Project wizard has OSGi love © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
43.
BND
• Bundle Tool (BND) creates and diagnoses OSGi bundles o Maven, Eclipse and Ant integration o http://www.aqute.biz/Code/Bnd o • Relies on specification (.bnd file) + classpath • Generates bundle artifacts like manifests • Useful for converting third party libs to bundles © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
44.
Sigil
• Provides OSGi Tooling • http://sigil.codecauldron.org/ • driven by sigil.properties file • BND used under the covers • bundles fetched from repositories based on your Import-Package statements © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
45.
© 2009 by
C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
46.
Thank you for
your attention! • Questions and feedback welcome! C. Aniszczyk zx@eclipsesource.com http://twitter.com/caniszczyk B. Kolb bernd.kolb@sap.com http://twitter.com/berndkolb M. Lippert (it-agile) lippert@acm.org © 2009 by C. Aniszczyk, B. Kolb | OSGi for Eclipse Developers | April 23rd, 2009
Editor's Notes