Hilf mir OBR, Du bist meine letzte Hoffnung
- 1. Hilf mir, OBR -
Transforming the Way
Du bist meine letzte Hoffnung!
the World Runs Applications
Eine schnelle Einführung in das OSGi Bundle Repository
Holger Hoffstätte
holger.hoffstatte@paremus.com
holger@applied-asynchrony.com
Twitter: @asynchronaut
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 2. Wer bin ich?
• Transforming the Way
Holger Hoffstätte, Dipl.Inf. (FH)
Lebe & arbeite in Deutschland, nahe Köln;
regelmäßige Besuche in London
the World Runs Applications
• Beratender Analyst, Architekt & Entwickler für Paremus Ltd.
Fokus auf 2. Generation Paremus Service Fabric, Messaging, Verteilung
• >20 Jahre Erfahrung mit nebenläufigen/verteilten Systemen,
Agile Prozessberatung, AOP, B2B, Enterprise Integration etc.
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 3. ..das was?
Transforming the Way
OSGi Bundle Repository (OBR)
●
the Geschichte Runs Applications
Motivation,
World
●
Hauptaspekte / Rollen
●
Vorteile, Einflüsse auf OSGi
(nicht wirklich Bundles)
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 4. Typische OSGi Schmerzen
Transforming the Way
• Verwaltung/Kontrolle von Abhängigkeiten:
the World Laufzeit Applications
Runs
Entwicklung, Installation,
• Welche Bundes sollen wann, warum, wie
installiert werden?
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 5. Typische OSGi Schmerzen
• Transforming the Way
Existierende (nicht-OSGi-spezielle) Werkzeuge:
Notlösungen, unvollständig, inkompatibel
the World Runs Applications
(P2, Maven, Ivy, Gradle, Sigil, ..)
• Basieren meist auf „dummen“ Artefakten,
nicht was diese tun
• Keine einheitlichen Wege, um Abhängigkeiten
abzufragen oder einzeln aufzulösen
(zu Entwicklungs- und Laufzeit)
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 6. OBR ist..
Transforming the Way
Hauptsächlich ein standardisiertes Modell,
das beschreibt:
theBundles sindRuns Applications
• Welche World verfügbar?
• Was tun diese?
Kein Management Agent/Deployer: nur ein „Berechner“
Kein „Server/Datenbank“: kein vordefinierter Speicher, Zugriff etc.
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 7. Hauptaspekte
Transforming the Way
OBR hat 3 wesentliche Aufgaben:
• Repository:
theverfügbar? Runs Applications
World
Was ist
• Resolution:
Passende Kombination von Bundles
• Austauschformat
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 8. Bisherige Entwicklung
• Transforming the Way
Informell spezifiziert & implementiert
von Richard Hall ~2004, Teil von Felix
the World Runs Applications
• Verschiede Probleme:
Versorgung von externen Prozessen,
Unterscheidung Entwicklungs-/Laufzeit
• Offizielle Wiederbelebung 2009 von Hal Hildebrand,
neue Spezifikation geleitet von David Savage in OSGi EEG
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 9. Neues Modell!
• Transforming the Way
Implementiert das 4.3 Konzept von "wiring"
• Implementiert häufig benötigte Funktionalität
the World Runs Applications
für Framework-Einsicht zur Laufzeit
(ersetzt PackageAdmin + Hacks)
• Resources:
→ mehr als trad. Bundles
• Capabilities & Requirements:
abstrakte Beschreibung der „Fähigkeiten“
und Abhängigkeiten eines Bundles
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 10. Resources
• Resources sind physisch oder virtuell:
Transforming the Way
trad. Bundle → physische Resource
Capabilities: World Runs Applications
the
• Identity → eindeutige „ID“
Content → Checksumme, Größe..
• Requirements:
osgi.wiring.package → Import-Package
osgi.wiring.bundle → Require-Bundle
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 11. Resources
• Transforming the Way
Capabilities haben einen
Namensraum und Attribute
the haben Runs Applications
• Requirements World
einen Namensraum
und eine Menge von
Anweisungen (Directives)
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 12. Resources
• Transforming the Way
Ein Requirement wird von
einer Capability erfüllt, wenn:
the World Runs Applications
• die Namensräume gleich sind
• die Anweisungen zu den
Attributen „passen“
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 13. Repository
• Repository:
Transforming the Way
Einfacher Dienst, der
the World Runs Applications
Ressourcen mit Fähigkeiten
findet & bereitstellt
• Beliebig viele möglich!
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 14. Auflösung
(von Abhängigkeiten)
Transforming the Way
• Resources + Wiring
the World Runs Applications
→ Environment
• Environment + Requirements
→ Resolution
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 15. Auflösung: Beispiel
Transforming the Way
the World Runs Applications
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 16. Ausblick:
Transforming the Way
Subsystems
the World Runs Applications
(RFC 152)
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 17. Austauschformat
• Transforming the Way
Basiert auf XML Schema
• Beschreibender Name & URI (Identität)
the World Runs Applications
• Versionsnummer (long)
• Resource URLs, Größe, Checksumme, Algo..
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 18. Austauschformat
Transforming the Way
<?xml version="1.0"?>
<repository name="example" increment="1" targetNamespace='http://www.osgi.org/xmlns/obr/v1.0.0'>
<resource>
<capability namespace='osgi.identity'>
the World Runs Applications
<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='1bafd2ece2e88db4cdf835a7f8f0de65fab5b1147977a5dcc59b7c1b8c6f5080' />
</capability>
</resource>
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 19. Mögl. Erweiterungen
• Transforming the Way
Begrenzte Diagnosemöglichkeiten bei fehlgeschlagener Auflösung
• Repository Events
the World Runs Applications
• Lizenzverwaltung/Berücksichtigung
• Web-basiertes Repository
• Deployment Modell → Subsystems
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
- 20. Zusammenfassung!
OBR ist.. Transforming the Way
Klein, the World Runs Applications
●
Robust, Zuverlässig
●
Repariert Defekte selbständig
●
Ein wichtiger Helfer im Kampf
gegen die Dunkle Seite der ungewollten
Komplexität!
Paremus www.paremus.com Nov 2011
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.