Help me obr you are my only hope - osgi users forum uk 16-nov20111. Help Me OBR, You’re My Only Hope
David Savage
david.savage@paremus.com
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.
2. Help Me OBR,You’re
My Only Hope
A Brief Introduction To The OSGi Bundle 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.
3. A Long Time Ago...
• OSGi Bundle Repository
• Motivation, History
• Main Aspects
• Benefits, Impact on Ecosystem
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.
4. Common OSGi Pain
Points
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.
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. • Dependency Management:
• Development
• Deployment
• Runtime
• Which bundles to install when, why, how
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.
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. • Informally specified & implemented by
Richard Hall ~2004, add-on to Felix
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.
9. • Various problems:
• Provisioning external runtimes
• Distinction between development/
runtime
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.
10. • Others:
• P2
• Nimble
• Sigil
• Maven
• Ivy
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.
11. • Official OBR revived in 2009 by Hal
Hildebrand
• Spec'd by David Savage in EEG
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.
12. The Problem
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.
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. OBR Is Not...
• A management agent/deployer:
• “calculator only”
• A “server” or “database”:
• no defined protocol
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.
15. Main Aspects
• Repository
• Resolver
• Interchange Format
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.
16. A New Model
• Uses 4.3 concept of "wiring"
• Implements often requested functionality
for introspection
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.
17. Environment
<<contains>>
<<expressed by>> <<provides>>
Resource
BundleRevision
<<connected by>> <<connected to>>
Requirement Capability
BundleRequirement Wire BundleCapability
BundleWire
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.
18. • Resources can be
physical or virtual
• Resources have
Capability Requirement
Requirements and
Capabilities
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.
19. • Capabilities have a
namespace and a
map of attributes
Capability Requirement
• Requirements have
a namespace and a
set of directives
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.
20. • A Requirement
matches a Capability
if the namespaces
are equal and the
directives match the
attributes
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.
21. Common Namespaces
• Capabilities:
• osgi.identity → Unique per resource
• osgi.content → Checksums, SCM, etc
• Requirements:
• osgi.wiring.package → Import-Package
• osgi.wiring.bundle → Require-Bundle
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.
22. Repository
• Repository: simple
service(s) that
provide resources
with capabilities
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.
23. Resolution
• Resources + Wiring A
B
C
D
= Environment
• Environment +
Requirements = D B
Resolution C A
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.
24. An Example
osgi.service=servlet.container
effective=active
Active
Servlet
Servlet
Bundle
Container
Servlet
Container
Provider
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.
25. Subsystems
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.
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. <?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. Leftovers
• Limited resolution failure introspection
• Repository event model
• License handling
• Web based service
• Deployment model → Subsystems
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.
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. 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.org
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.