0
Help Me OBR, You’re My Only Hope    David Savage    david.savage@paremus.comHelp Me OBR,You’re My Only Hope               ...
Help Me OBR,You’re                    My Only Hope             A Brief Introduction To The OSGi Bundle RepositoryHelp Me O...
A Long Time Ago...             • OSGi Bundle Repository              • Motivation, History              • Main Aspects    ...
Common OSGi Pain                        PointsHelp Me OBR,You’re My Only Hope                                          www...
Help Me OBR,You’re My Only Hope                                          www.paremus.com                                  ...
• Dependency Management:              • Development              • Deployment              • Runtime             • Which b...
The Story So Far...Help Me OBR,You’re My Only Hope                                          www.paremus.com               ...
• Informally specified & implemented by                      Richard Hall ~2004, add-on to FelixHelp Me OBR,You’re My Only ...
• Various problems:              • Provisioning external runtimes              • Distinction between development/         ...
• Others:              • P2              • Nimble              • Sigil              • Maven              • IvyHelp Me OBR,...
• Official OBR revived in 2009 by Hal                      Hildebrand             • Specd by David Savage in EEGHelp Me OBR...
The ProblemHelp Me OBR,You’re My Only Hope                                          www.paremus.com                       ...
OBR Is...             • Primarily a standardised Model to describe:              • Which Bundles are available?           ...
OBR Is Not...             • A management agent/deployer:              • “calculator only”             • A “server” or “dat...
Main Aspects             • Repository             • Resolver             • Interchange FormatHelp Me OBR,You’re My Only Ho...
A New Model             • Uses 4.3 concept of "wiring"             • Implements often requested functionality             ...
Environment                                                                                <<contains>>                   ...
• Resources can be                    physical or virtual            • Resources have                                     ...
• Capabilities have a                   namespace and a                   map of attributes                               ...
• A Requirement                      matches a Capability                      if the namespaces                      are ...
Common Namespaces             • Capabilities:              • osgi.identity → Unique per resource              • osgi.conte...
Repository             • Repository: simple                      service(s) that                      provide resources   ...
Resolution             • Resources + Wiring                                                                           A   ...
An Example                                                  osgi.service=servlet.container                                ...
SubsystemsHelp Me OBR,You’re My Only Hope                                          www.paremus.com                        ...
Interchange Format             • Based on XML Schema             • Human-readable Name & URI for                      repo...
<?xml version=”1.0”?>     <repository name=”example” increment=”1”     targetNamespace=”http://www.osgi.org/xmlns/obr/v1.0...
Leftovers             • Limited resolution failure introspection             • Repository event model             • Licens...
Conclusion             • OBR:              • Small, robust, reliable              • Fixes Things Automatically            ...
Questions?             •        Email: david.savage@paremus.com             •        Twitter: @davemssavage             • ...
Upcoming SlideShare
Loading in...5
×

Help me obr you are my only hope - osgi users forum uk 16-nov2011

1,821

Published on

Presentation by David Savage at UK OSGi Users' Forum UK on Nov 16, 2011 in London.

Abstract: The OSGi Bundle Repository (OBR) is an upcoming specification that defines a unified way of resolving and accessing bundles to be deployed into an OSGi framework. This talk will explain its origins, history, relationship to the latest framework enhancements, and its various roles and responsibilities. We will conclude with a look at how it relates to other services and possible future extensions.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,821
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Help me obr you are my only hope - osgi users forum uk 16-nov2011"

  1. 1. Help Me OBR, You’re My Only Hope David Savage david.savage@paremus.comHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  2. 2. Help Me OBR,You’re My Only Hope A Brief Introduction To The OSGi Bundle RepositoryHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  3. 3. A Long Time Ago... • OSGi Bundle Repository • Motivation, History • Main Aspects • Benefits, Impact on EcosystemHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  4. 4. Common OSGi Pain PointsHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  5. 5. Help Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  6. 6. • Dependency Management: • Development • Deployment • Runtime • Which bundles to install when, why, howHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  7. 7. The Story So Far...Help Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  8. 8. • Informally specified & implemented by Richard Hall ~2004, add-on to FelixHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  9. 9. • Various problems: • Provisioning external runtimes • Distinction between development/ runtimeHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  10. 10. • Others: • P2 • Nimble • Sigil • Maven • IvyHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  11. 11. • Official OBR revived in 2009 by Hal Hildebrand • Specd by David Savage in EEGHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  12. 12. The ProblemHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  13. 13. OBR Is... • Primarily a standardised Model to describe: • Which Bundles are available? • What do they do?Help Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  14. 14. OBR Is Not... • A management agent/deployer: • “calculator only” • A “server” or “database”: • no defined protocolHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  15. 15. Main Aspects • Repository • Resolver • Interchange FormatHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  16. 16. A New Model • Uses 4.3 concept of "wiring" • Implements often requested functionality for introspectionHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  17. 17. Environment <<contains>> <<expressed by>> <<provides>> Resource BundleRevision <<connected by>> <<connected to>> Requirement Capability BundleRequirement Wire BundleCapability BundleWireHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  18. 18. • Resources can be physical or virtual • Resources have Capability Requirement Requirements and CapabilitiesHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  19. 19. • Capabilities have a namespace and a map of attributes Capability Requirement • Requirements have a namespace and a set of directivesHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  20. 20. • A Requirement matches a Capability if the namespaces are equal and the directives match the attributesHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  21. 21. Common Namespaces • Capabilities: • osgi.identity → Unique per resource • osgi.content → Checksums, SCM, etc • Requirements: • osgi.wiring.package → Import-Package • osgi.wiring.bundle → Require-BundleHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  22. 22. Repository • Repository: simple service(s) that provide resources with capabilitiesHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  23. 23. Resolution • Resources + Wiring A B C D = Environment • Environment + Requirements = D B Resolution C AHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  24. 24. An Example osgi.service=servlet.container effective=active Active Servlet Servlet Bundle Container Servlet Container ProviderHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  25. 25. SubsystemsHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  26. 26. Interchange Format • Based on XML Schema • Human-readable Name & URI for repository identity • Version increment (long) • Resource URLs, Size, Checksums..Help Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  27. 27. <?xml version=”1.0”?> <repository name=”example” increment=”1” targetNamespace=”http://www.osgi.org/xmlns/obr/v1.0.0”> <resource> <capability namespace=”osgi.identity”> <attribute name=”osgi.identity” value=”org.foo.mumble” /> <attribute name=”version” type=”version” value=”1.0.0” /> <attribute name=”type” value=”osgi.bundle” /> </capability> <capability namespace=”osgi.content”> <attribute name=”osgi.content” value=”org/foo/ org.foo.mumble-1.0.0.jar” /> <attribute name=”size” type=”long” value=”46725” /> <attribute name=”checksum” value=”1bafd2ece2e88db4cdf835a7f8f0de65fab5b1147977a5dcc59b7c1b8 c6f5080” /> </capability> </resource> </repository>Help Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  28. 28. Leftovers • Limited resolution failure introspection • Repository event model • License handling • Web based service • Deployment model → SubsystemsHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  29. 29. Conclusion • OBR: • Small, robust, reliable • Fixes Things Automatically • Gets The Job Done!Help Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  30. 30. Questions? • Email: david.savage@paremus.com • Twitter: @davemssavage • Blog: http://chronological- thought.blogspot.com • Book: http://www.manning.com/hall/ • Paremus: http://www.paremus.com • OSGi: http://www.osgi.orgHelp Me OBR,You’re My Only Hope www.paremus.com November 2011 Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×