SlideShare a Scribd company logo
1 of 19
p2
                                              The new Eclipse
                                            provisioning system
© Anyware Technologies-All Right Reserved




                                                 Benjamin Cabé
                                              Anyware Technologies
Agenda

                                              • p2, what's that?
                                                       ►Origins
                                                       ►Concepts
                                                       ►Architecture overview

                                              • Using p2
                                                       ►As a developer
© Anyware Technologies-All Right Reserved




                                                       ►As an ISV
                                                       ►As an end-user

                                              • Coming next (Galileo plan)


                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
The origins : the « Update Manager »

                                              • Assessment
                                                       ►The plug-in mechanism just rocks...
                                                       ►... but installing or updating plug-ins by hand is
                                                        cumbersome

                                              • Since Eclipse 2.1: the « Update Manager »
                                                       ►allows to install & update « features » through GUI...
© Anyware Technologies-All Right Reserved




                                                       ►... which is way too messy for 99% of users




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Update Manager's limitations

                                              • The feature doesn't fit all needs...
                                                       ►deliver a product in different but very similar
                                                        shapes?
                                                       ►install more than just plug-ins & features?

                                              • ...neither does the update site
                                                       ►ship features through different mirrors?
© Anyware Technologies-All Right Reserved




                                                       ►allow the end-user to perform the « initial »
                                                        provisioning?




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Here comes p2!


                                                                                                                  • Reworked UI
                                                                                                                           ►simplified workflow
                                                                                                                           ►better performances

                                                                                                                  • Provision the world!
                                                                                                                           ►plug-ins, .exe, .ini, ... whatever
© Anyware Technologies-All Right Reserved




                                                                                                                  • A very modular framework
                                                                                                                           ►provision more than just Eclipse
                                                                                                                             stuff
                                                                                                                           ►controllable from the outside

                                                                       “If it can be installed, it runs!”
                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Key features

                                              • Optimized updates & installs
                                                       ►multithreaded downloads
                                                       ►best mirror automatically picked

                                              • “Bundle pooling”
                                                       ►shared plug-ins across many Eclipse instances
© Anyware Technologies-All Right Reserved




                                              • Low-level provisioning APIs
                                                       ►headless mode
                                                       ►update a non-running instance

                                              • Installer

                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
The concepts

                                              • Installable Unit :
                                                       ►the description of what is being installed

                                                       ►ID, version
                                                       ►dependencies
                                                       ►actions to perform during install / uninstall / ...
© Anyware Technologies-All Right Reserved




                                                       ►physical artifacts (optional)




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
The concepts (2)

                                              • Installable Units are stored in a
                                                                                             metadata repository


                                              • The actual content (plug-ins, zips, ...) lives in an
© Anyware Technologies-All Right Reserved




                                                                                                artifact repository




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Useful terminology

                                              • Profile
                                                       ►the target of the installed
                                                        stuff

                                              • Planner
                                                       ►the entity that converts a
                                                        list of IUs to install in a
© Anyware Technologies-All Right Reserved




                                                        given profile into
                                                        provisioning steps




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Useful terminology (2)

                                                                                                                            • Engine
                                                                                                                                     ►the mechanism for
                                                                                                                                      executing provisioning
                                                                                                                                      requests

                                                                                                                            • Touchpoint
                                                                                                                                     ►the part of the engine
© Anyware Technologies-All Right Reserved




                                                                                                                                      that actually integrates
                                                                                                                                      the provisioning system in
                                                                                                                                      a given platform




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
« Big Picture »
© Anyware Technologies-All Right Reserved




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Using p2... as an Eclipse developer

                                             • Save hundreds of Mb
                                               thanks to bundle pooling

                                             • Describe a well-defined,
                                               reproducible, development
                                               environment
© Anyware Technologies-All Right Reserved




                                             • Use the dropins folder to
                                               perform quick installs

                                             • Manage target platforms
                                               elegantly

                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Using p2... as an ISV

                                                                                                                            • Deliver an installer on a
                                                                                                                              CD or an USB key

                                                                                                                            • Propose different
                                                                                                                              flavours of your product
                                                                                                                              depending on the
                                                                                                                              customer
© Anyware Technologies-All Right Reserved




                                                                                                                            • Deploy a mirror in your
                                                                                                                              customer's information
                                                                                                                              system


                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Using p2... as an end-user

                                              • Get automatic updates
                                              • Enjoy a clean
                                                uninstalling process

                                              • Get annoyed by some
                                                bugs or missing
© Anyware Technologies-All Right Reserved




                                                documentation but...


                                              • ...Just relax!


                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Coming next

                                              • A real p2 API
                                              • User interaction
                                                       ►improve progress/error reporting
                                                       ►tighter desktop integration (shortcuts, registry keys, ...)

                                              • Tooling / Authoring
© Anyware Technologies-All Right Reserved




                                                       ►IU editor
                                                       ►Repository editors (artifact & metadata)


                                              • IBM, Cloudsmith, Siemens AG, Genuitec, Anyware
                                                Technologies... YOU!
                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Useful resources

                                              • The Eclipse wiki:
                                                       ►http://wiki.eclipse.org/Equinox_p2



                                              • The p2 newsgroup (general issues)
                                                       ►news://news.eclipse.org/eclipse.technology.equinox
© Anyware Technologies-All Right Reserved




                                              • The p2-dev mailing list (technical questions)
                                                       ►https://dev.eclipse.org/mailman/listinfo/p2-dev


                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Thank you!




                                                                                                    Benjamin Cabé
                                                                                                    Eclipse Expert
                                                                     <benjamin.cabe@anyware-tech.com>
© Anyware Technologies-All Right Reserved




                                                                                  http://blog.benjamin-cabe.com
                                                                                  http://www.anyware-tech.com




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Legal notices

                                              • Eclipse and the Eclipse logo are trademarks of
                                                Eclipse Foundation, Inc.

                                              • OSGi is a registered trademark of the OSGi Alliance
                                                in the United States, other countries or both.

                                              • Other company, product, or service names may be
© Anyware Technologies-All Right Reserved




                                                trademarks or service marks of others




                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
Photo & Illustration credits

                                              • Michal Zacharzewski
                                                       ► http://www.sxc.hu/photo/953139
                                              • G Schouten de Jel
                                                       ► http://www.sxc.hu/photo/1090308
                                              • Andrej Sevelin
                                                       ► http://www.sxc.hu/photo/892243
                                              • Dave Di Biase
                                                       ► http://www.sxc.hu/photo/204676
© Anyware Technologies-All Right Reserved




                                              • dunkv@flickr
                                                       ► http://www.flickr.com/photos/dunkv/97119622
                                              • Cathy Kaplan
                                                       ► http://www.sxc.hu/photo/283374
                                              • Mac Pale
                                                       ► http://www.sxc.hu/photo/956527

                                            Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence

More Related Content

Similar to P2, the new Eclipse provisioning system

DejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java SoftwareDejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java Software
Manas Tungare
 
Comparison Ipc Artista V1
Comparison Ipc Artista V1Comparison Ipc Artista V1
Comparison Ipc Artista V1
digital.signage
 
Os Grouchnikov
Os GrouchnikovOs Grouchnikov
Os Grouchnikov
oscon2007
 
Linux Power Management Slideshare
Linux Power Management SlideshareLinux Power Management Slideshare
Linux Power Management Slideshare
Patrick Bellasi
 
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
jjhuff
 
symfony: Open-Source Enterprise Framework
symfony: Open-Source Enterprise Frameworksymfony: Open-Source Enterprise Framework
symfony: Open-Source Enterprise Framework
Fabien Potencier
 

Similar to P2, the new Eclipse provisioning system (20)

Pstrong Cybera 29 Sept 2008
Pstrong Cybera 29 Sept 2008Pstrong Cybera 29 Sept 2008
Pstrong Cybera 29 Sept 2008
 
XS Japan 2008 Ganeti English
XS Japan 2008 Ganeti EnglishXS Japan 2008 Ganeti English
XS Japan 2008 Ganeti English
 
Developing Software That Matters I
Developing Software That Matters IDeveloping Software That Matters I
Developing Software That Matters I
 
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
 
The Boundaryless Value-Chain
The Boundaryless Value-ChainThe Boundaryless Value-Chain
The Boundaryless Value-Chain
 
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code QualityHigh-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
 
Cloud computing, Virtualisation and the Future
Cloud computing, Virtualisation and the FutureCloud computing, Virtualisation and the Future
Cloud computing, Virtualisation and the Future
 
DejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java SoftwareDejaVOO: A Regression Testing Tool for Java Software
DejaVOO: A Regression Testing Tool for Java Software
 
A Tale Of Two Systems
A Tale Of Two SystemsA Tale Of Two Systems
A Tale Of Two Systems
 
Comparison Ipc Artista V1
Comparison Ipc Artista V1Comparison Ipc Artista V1
Comparison Ipc Artista V1
 
Os Grouchnikov
Os GrouchnikovOs Grouchnikov
Os Grouchnikov
 
Really Simple Document Management - 2009 Update
Really Simple Document Management - 2009 UpdateReally Simple Document Management - 2009 Update
Really Simple Document Management - 2009 Update
 
MWLUG Chicago Keynote - Ed Brill
MWLUG Chicago Keynote - Ed BrillMWLUG Chicago Keynote - Ed Brill
MWLUG Chicago Keynote - Ed Brill
 
AJUBY Open Source Application Builder
AJUBY Open Source Application BuilderAJUBY Open Source Application Builder
AJUBY Open Source Application Builder
 
Moving Windows Server Apps to the cloud in 3 Easy Steps
Moving Windows Server Apps to the cloud in 3 Easy StepsMoving Windows Server Apps to the cloud in 3 Easy Steps
Moving Windows Server Apps to the cloud in 3 Easy Steps
 
Linux Power Management Slideshare
Linux Power Management SlideshareLinux Power Management Slideshare
Linux Power Management Slideshare
 
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
 
Java/Swing
Java/SwingJava/Swing
Java/Swing
 
symfony: Open-Source Enterprise Framework
symfony: Open-Source Enterprise Frameworksymfony: Open-Source Enterprise Framework
symfony: Open-Source Enterprise Framework
 
Android Development Workshop V2
Android Development Workshop   V2Android Development Workshop   V2
Android Development Workshop V2
 

More from Benjamin Cabé

Open-source IoT cookbook
Open-source IoT cookbookOpen-source IoT cookbook
Open-source IoT cookbook
Benjamin Cabé
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Benjamin Cabé
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014
Benjamin Cabé
 
Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013
Benjamin Cabé
 

More from Benjamin Cabé (20)

IoT Developer Survey 2018
IoT Developer Survey 2018IoT Developer Survey 2018
IoT Developer Survey 2018
 
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018
 
JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
 
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in hand
 
Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016
 
Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
 
Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...
 
End-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackEnd-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stack
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoT
 
Open-source IoT cookbook
Open-source IoT cookbookOpen-source IoT cookbook
Open-source IoT cookbook
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetup
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014
 
Overview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleOverview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day Grenoble
 
Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

P2, the new Eclipse provisioning system

  • 1. p2 The new Eclipse provisioning system © Anyware Technologies-All Right Reserved Benjamin Cabé Anyware Technologies
  • 2. Agenda • p2, what's that? ►Origins ►Concepts ►Architecture overview • Using p2 ►As a developer © Anyware Technologies-All Right Reserved ►As an ISV ►As an end-user • Coming next (Galileo plan) Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 3. The origins : the « Update Manager » • Assessment ►The plug-in mechanism just rocks... ►... but installing or updating plug-ins by hand is cumbersome • Since Eclipse 2.1: the « Update Manager » ►allows to install & update « features » through GUI... © Anyware Technologies-All Right Reserved ►... which is way too messy for 99% of users Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 4. Update Manager's limitations • The feature doesn't fit all needs... ►deliver a product in different but very similar shapes? ►install more than just plug-ins & features? • ...neither does the update site ►ship features through different mirrors? © Anyware Technologies-All Right Reserved ►allow the end-user to perform the « initial » provisioning? Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 5. Here comes p2! • Reworked UI ►simplified workflow ►better performances • Provision the world! ►plug-ins, .exe, .ini, ... whatever © Anyware Technologies-All Right Reserved • A very modular framework ►provision more than just Eclipse stuff ►controllable from the outside “If it can be installed, it runs!” Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 6. Key features • Optimized updates & installs ►multithreaded downloads ►best mirror automatically picked • “Bundle pooling” ►shared plug-ins across many Eclipse instances © Anyware Technologies-All Right Reserved • Low-level provisioning APIs ►headless mode ►update a non-running instance • Installer Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 7. The concepts • Installable Unit : ►the description of what is being installed ►ID, version ►dependencies ►actions to perform during install / uninstall / ... © Anyware Technologies-All Right Reserved ►physical artifacts (optional) Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 8. The concepts (2) • Installable Units are stored in a metadata repository • The actual content (plug-ins, zips, ...) lives in an © Anyware Technologies-All Right Reserved artifact repository Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 9. Useful terminology • Profile ►the target of the installed stuff • Planner ►the entity that converts a list of IUs to install in a © Anyware Technologies-All Right Reserved given profile into provisioning steps Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 10. Useful terminology (2) • Engine ►the mechanism for executing provisioning requests • Touchpoint ►the part of the engine © Anyware Technologies-All Right Reserved that actually integrates the provisioning system in a given platform Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 11. « Big Picture » © Anyware Technologies-All Right Reserved Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 12. Using p2... as an Eclipse developer • Save hundreds of Mb thanks to bundle pooling • Describe a well-defined, reproducible, development environment © Anyware Technologies-All Right Reserved • Use the dropins folder to perform quick installs • Manage target platforms elegantly Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 13. Using p2... as an ISV • Deliver an installer on a CD or an USB key • Propose different flavours of your product depending on the customer © Anyware Technologies-All Right Reserved • Deploy a mirror in your customer's information system Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 14. Using p2... as an end-user • Get automatic updates • Enjoy a clean uninstalling process • Get annoyed by some bugs or missing © Anyware Technologies-All Right Reserved documentation but... • ...Just relax! Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 15. Coming next • A real p2 API • User interaction ►improve progress/error reporting ►tighter desktop integration (shortcuts, registry keys, ...) • Tooling / Authoring © Anyware Technologies-All Right Reserved ►IU editor ►Repository editors (artifact & metadata) • IBM, Cloudsmith, Siemens AG, Genuitec, Anyware Technologies... YOU! Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 16. Useful resources • The Eclipse wiki: ►http://wiki.eclipse.org/Equinox_p2 • The p2 newsgroup (general issues) ►news://news.eclipse.org/eclipse.technology.equinox © Anyware Technologies-All Right Reserved • The p2-dev mailing list (technical questions) ►https://dev.eclipse.org/mailman/listinfo/p2-dev Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 17. Thank you! Benjamin Cabé Eclipse Expert <benjamin.cabe@anyware-tech.com> © Anyware Technologies-All Right Reserved http://blog.benjamin-cabe.com http://www.anyware-tech.com Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 18. Legal notices • Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. • OSGi is a registered trademark of the OSGi Alliance in the United States, other countries or both. • Other company, product, or service names may be © Anyware Technologies-All Right Reserved trademarks or service marks of others Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence
  • 19. Photo & Illustration credits • Michal Zacharzewski ► http://www.sxc.hu/photo/953139 • G Schouten de Jel ► http://www.sxc.hu/photo/1090308 • Andrej Sevelin ► http://www.sxc.hu/photo/892243 • Dave Di Biase ► http://www.sxc.hu/photo/204676 © Anyware Technologies-All Right Reserved • dunkv@flickr ► http://www.flickr.com/photos/dunkv/97119622 • Cathy Kaplan ► http://www.sxc.hu/photo/283374 • Mac Pale ► http://www.sxc.hu/photo/956527 Copyright © 2008 Anyware Technologies, Made available under the Creative Commons Attribution-Non commercial-No derivative 2.0 licence