P2, the new Eclipse provisioning system

4,201 views

Published on

An introduction to the p2 platform, and a brief presentation of what's coming next (Eclipse 3.5+)

Published in: Technology, Art & Photos
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,201
On SlideShare
0
From Embeds
0
Number of Embeds
412
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

P2, the new Eclipse provisioning system

  1. 1. p2 The new Eclipse provisioning system © Anyware Technologies-All Right Reserved Benjamin Cabé Anyware Technologies
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×