The p2 Provisioning Platform. Eclipse European Summit - Ludwigsburg. Oct 27-29, 2009 Henrik Lindberg, Cloudsmith Inc

Similar documents
Equinox Project Update

Build and Provision: Two Sides of the Coin We Love to Hate

Equinox Project 3.6 Release Review

ECF 3.0 Release Review

Eclipse Buckminster. The Definitive Guide. Henrik Lindberg, Cloudsmith Inc. Thomas Hallgren, Cloudsmith Inc.

B3 Modeling Unbreakable Builds. Eclipse Modeling Day Nov 16-19, Ed Merks, Bjorn Freeman-Benson, Miles Daffin

Eclipse Packaging Project

The JSF Tools Project

Smart Client development with the Eclipse Rich Client Platform

Equinox OSGi: Pervasive Componentization

Liberate your components with OSGi services

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon

Eclipse Packaging Project

Buckminster. Ganymede Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

e4 Project 0.9 Release Review

TestingofScout Application. Ludwigsburg,

Eclipse SOA Tools Platform Project

Eclipse 4.0. Jochen Krause EclipseSource

Distributed OSGi Services with the Eclipse Communication Framework. Jan S. Rellermeyer, ETH Zürich Markus Kuppe, Versant Inc.

From the RCP Book To Reality. Jean-Michel Lemieux IBM Rational, Ottawa, Canada

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008

OSGi. Building and Managing Pluggable Applications

Eclipse Lyo Overview. Michael Fiedler, Eclipse Lyo committer IBM Corporation

SDD Proposal to COSMOS

Eclipse project update by the Eclipse project PMC March 11 th 2008

Eclipse b3. Eclipse Project Creation Review. November, 2009 Henrik Lindberg, Cloudsmith Inc. Project Creation Review

The Actual Real World at EclipseCon/ALM

Service Discovery and Remote Services with the Eclipse Communication Framework

Equinox Framework: How to get Hooked

Under the Paul Fremantle, CTO, WSO2

Buckminster. Helios Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

OSGi on the Server. Martin Lippert (it-agile GmbH)

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

ECLIPSE RICH CLIENT PLATFORM

Converting Eclipse metadata into CUDF

eclipse rich ajax platform (rap)

Class Dependency Analyzer CDA Developer Guide

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress*

Creation Review. Kepler: managing the complexity of software communities. Carlos Sanchez, DevZuz.

Exactly Quickstart Guide Version

AD105 Introduction to Application Development for the IBM Workplace Managed Client

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009

Call: Hyperion Planning Course Content:35-40hours Course Outline Planning Overview

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Creation Review. Eclipse IAM: Eclipse Integration for Apache Maven. Carlos Sanchez

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks

Configuring Artifactory

Akana API Platform: Upgrade Guide

Tuscany: Applying OSGi modularity after the fact

Application Integration with WebSphere Portal V7

The Harmony Framework.

Configure IBM Urban Code Deploy to manage Workload Automation for z/os objects By Maria Elena Massino

WP6 Personal Mobility Assistant. D6.4: Application Design Studio Prototype

Note, you must have Java installed on your computer in order to use Exactly. Download Java here: Installing Exactly

Target Management New and Noteworthy. Martin Oberhuber, Wind River

Slide 1 CS 170 Java Programming 1 Duration: 00:00:49 Advance mode: Auto

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

Workplace Client Technology, Micro Edition. WCTME Enterprise Offering Application Developer s Guide

IBM Rational Software

REASONS TO USE A BINARY REPOSITORY MANAGER WHEN DEVELOPING WITH. White Paper

Designing Future Aircraft with Eclipse RCP

Eclipse Lyo: Re-thinking tool integrations

Eclipse Memory Analyzer Graduation, Move and 1.0 Release Review

Distributing JavaFX Applications with Java WebStart and Artifactory

Tools to Develop New Linux Applications

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

MAVEN MOCK TEST MAVEN MOCK TEST I

Documentum Composer EMC. Quick Start Guide. Version 6.5 SP3

1.2. Name(s) and address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008

The Eclipse Parallel Tools Platform Project

The Eclipse Rich Ajax Platform

Getting the Most from Eclipse

Oracle Identity Governance 11g R2: Develop Identity Provisioning

Swordfish The Eclipse SOA Runtime Framework. Copyright SOPERA GmbH, Content is made available under the EPL v1.0.

Software Development Kit

PHP Composer 9 Benefits of Using a Binary Repository Manager

Spring and OSGi. Martin Lippert akquinet agile GmbH Bernd Kolb Gerd Wütherich

Error Code 407 Proxy Authentication Required Maven

Red Hat JBoss Fuse 6.1

Oracle Application Server 10g Integration Interconnect. An Oracle Technical White Paper January 2005

ECF 3.3/Helios. ECF 3.3 Release 2010 by Composent, Inc. and others, made available under the EPL v1.0

SDN controller: Intent-based Northbound Interface realization for extended applications

SpringSource Tool Suite 2.7.1

GAVIN KING RED HAT CEYLON SWARM

Nuxeo Roadmap. From Memphis to Chicago Nuxeo Team

Apache Felix. Richard S. Hall. A Standard Plugin Model for Apache. Atlanta, Georgia U.S.A. November 13th, 2007

Bernhard Dorninger Software Competence Center Hagenberg. Experiences with OSGi in industrial applications

SCA Tools: new & noteworthy

Carsten Ziegeler

MAVEN INTERVIEW QUESTIONS

Breaking Apart the Monolith with Modularity and Microservices CON3127

Modular Java Applications with Spring, dm Server and OSGi

EMF Europa Simultaneous Release

WP5 Mobility Services Framework. D5.1.2: Service Development API Prototype II

Adobe Experience Manager

Unidesk AppConfig Utility Ver 1.0

Getting Started with Red Apps

EMC Documentum Composer

Centroid 2.0 User Guide. Version 1.0

Transcription:

The p2 Provisioning Platform Eclipse European Summit - Ludwigsburg Oct 27-29, 2009 Henrik Lindberg, Cloudsmith Inc 2009 Jeff McAffer EclipseSource, Pascal Rpicault IBM, Henrik Lindberg Cloudsmith. Made available under EPL Public License v1.0 1

Provision what where Engineers Users source code open source in-house built licensed software applications runtimes tools Automated Builds Test Test 2

Wide range of requirements packaged applications source code strict policy control full flexibility approved repositories any repository fixed configuration dynamic configuration fully automatic user driven (headless) update to latest update to policy controlled (downgrade) 3

Installation state of the art < Eclipse 3.4 Unzipping is not installing! 4

Eclipse and Provisioning 5

p2 is installing! A replacement for the old Update Manager New UI, simplified workflow Manage Eclipse, RCP and more exe, ini, bundles, registry keys, settings, native code, Shared bundles across Eclipse-based products An installer A provisioning solution for OSGi systems Managing non-running instance Start level, framework extension Fine-grained dependency management Extensible GUI and Headless One consistent model 6

New user interactions Simple update workflow Replace multi-steps wizards New metaphors Drag n Drop for install, adding repos, More flexible repositories Connect to p2 repos, Update Sites, (OBR, Maven, ) Managed folders Explicit watched locations Drop content to have it installed No need to unzip and -clean 7

From Install to Update Installing and Updating are the same operations Installed shape same as zip shape Flexibility in delivery Programmatic API for all operations p2 offers a continuum from installation to updating 8

Concepts and Architecture 9

Installable Units Decouple decision making from the actual content IU (id, ver) Everything is an IU Everything is installable

Anatomy of an IU Properties Provided Capabilities Required Capabilities IU (id, ver) Artifacts Actions

p2 Architecture Metadata Artifacts Director Repositories Runtimes Touchpoints Engine Profiles Eclipse Eclipse Classic Other OS Eclipse for C++ 12

p2 in Action Data transfer Director Provisioning operation requested IU install, uninstall, update operations Metadata fetched and constraints analyzed Repositories Transports Mirroring p2 Update Site Http/Https File system Volume Engine Eclipse/OSGi Native/OS IUs configured into runtimes Artifact availability and mirroring Profile updated Runtimes Profiles 13

SAT-based resolution The installation problem is NP-complete Map dependencies to Boolean formula Use SAT4J If there is no solution it will tell us If there is a solution we will get an optimal one Special thanks to Daniel LeBerre and Anne Parrain 14

Optimizing and Processing Artifacts Repository Pack200 Optimizer Canonical Pack200 JBDiff Pack200 Processor Artifact Repository 15

p2 releases 16

Releases Eclipse 3.4 - Ganymede Replace Update Manager Improved functionality Minimal disruption Starting point for new provisioning platform Provisional API Client side only Eclipse 3.5 - Galileo Themes: Robustness, completeness, performance, ease of use Flexible options for inclusion in RCP applications Composite repositories Omni Version Eclipse 3.6 - Helios API, Java 1.5 Internal cleanup Ease of use in API Availability on non Equinox OSGi implementations 17

Summary p2 is a powerful provisioning platform Highly extensible Enable the creation of comprehensive solutions The basis of Eclipse provisioning going forward mailto:p2-dev@eclipse.org http://wiki.eclipse.org/equinox/p2 18

Terminology p2 / Agent The provisioning infrastructure on client machines Installable Unit (IU) Metadata that describes things that can be installed/configured Artifact The actual content being installed/configured(e.g., bundle JARs) Repository A store of metadata or artifacts Profile The target of install/management operations Director The decision-making entity in the provisioning system Engine The mechanism for executing provisioning requests Touchpoints Integration with particular runtime or management systems 19