Hilf mir OBR, Du bist meine letzte Hoffnung
-
Upload
holger-hoffstaette -
Category
Technology
-
view
266 -
download
0
description
Transcript of Hilf mir OBR, Du bist meine letzte Hoffnung
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Hilf mir, OBR -Du bist meine letzte Hoffnung!
Eine schnelle Einführung in das OSGi Bundle Repository
Holger Hoffstä[email protected]@applied-asynchrony.com
Twitter: @asynchronaut
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Wer bin ich?• Holger Hoffstätte, Dipl.Inf. (FH)
Lebe & arbeite in Deutschland, nahe Köln;regelmäßige Besuche in London
• 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.
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
..das was?
OSGi Bundle Repository (OBR)● Motivation, Geschichte
● Hauptaspekte / Rollen
● Vorteile, Einflüsse auf OSGi
(nicht wirklich Bundles)
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Typische OSGi Schmerzen
• Verwaltung/Kontrolle von Abhängigkeiten:Entwicklung, Installation, Laufzeit
• Welche Bundes sollen wann, warum, wieinstalliert werden?
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Typische OSGi Schmerzen• Existierende (nicht-OSGi-spezielle) Werkzeuge:
Notlösungen, unvollständig, inkompatibel(P2, Maven, Ivy, Gradle, Sigil, ..)
• Basieren meist auf „dummen“ Artefakten,nicht was diese tun
• Keine einheitlichen Wege, um Abhängigkeitenabzufragen oder einzeln aufzulösen(zu Entwicklungs- und Laufzeit)
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
OBR ist..Hauptsächlich ein standardisiertes Modell,das beschreibt:
• Welche Bundles sind verfügbar?
• Was tun diese?
Kein Management Agent/Deployer: nur ein „Berechner“Kein „Server/Datenbank“: kein vordefinierter Speicher, Zugriff etc.
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
HauptaspekteOBR hat 3 wesentliche Aufgaben:
• Repository:Was ist verfügbar?
• Resolution:Passende Kombination von Bundles
• Austauschformat
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Bisherige Entwicklung• Informell spezifiziert & implementiert
von Richard Hall ~2004, Teil von Felix
• Verschiede Probleme:Versorgung von externen Prozessen,Unterscheidung Entwicklungs-/Laufzeit
• Offizielle Wiederbelebung 2009 von Hal Hildebrand,neue Spezifikation geleitet von David Savage in OSGi EEG
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Neues Modell!• Implementiert das 4.3 Konzept von "wiring"
• Implementiert häufig benötigte Funktionalitätfü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
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Resources• Resources sind physisch oder virtuell:
trad. Bundle → physische Resource
• Capabilities:Identity → eindeutige „ID“Content → Checksumme, Größe..
• Requirements:osgi.wiring.package → Import-Packageosgi.wiring.bundle → Require-Bundle
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Resources• Capabilities haben einen
Namensraum und Attribute
• Requirements habeneinen Namensraumund eine Menge vonAnweisungen (Directives)
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Resources• Ein Requirement wird von
einer Capability erfüllt, wenn:
• die Namensräume gleich sind
• die Anweisungen zu denAttributen „passen“
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Repository• Repository:
Einfacher Dienst, derRessourcen mit Fähigkeitenfindet & bereitstellt
• Beliebig viele möglich!
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Auflösung(von Abhängigkeiten)
• Resources + Wiring→ Environment
• Environment + Requirements→ Resolution
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Auflösung: Beispiel
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Ausblick:Subsystems(RFC 152)
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Austauschformat• Basiert auf XML Schema
• Beschreibender Name & URI (Identität)
• Versionsnummer (long)
• Resource URLs, Größe, Checksumme, Algo..
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Austauschformat<?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='1bafd2ece2e88db4cdf835a7f8f0de65fab5b1147977a5dcc59b7c1b8c6f5080' /> </capability> </resource>
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Mögl. Erweiterungen• Begrenzte Diagnosemöglichkeiten bei fehlgeschlagener Auflösung
• Repository Events
• Lizenzverwaltung/Berücksichtigung
• Web-basiertes Repository
• Deployment Modell → Subsystems
www.paremus.com
Transforming the Way the World Runs Applications
Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus Nov 2011
Zusammenfassung!
OBR ist..●Klein, Robust, Zuverlässig
●Repariert Defekte selbständig
●Ein wichtiger Helfer im Kampfgegen die Dunkle Seite der ungewollten Komplexität!