SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
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.
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.
..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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

Weitere ähnliche Inhalte

Andere mochten auch

OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015mfrancis
 
Gfk Smart Home Studie
Gfk Smart Home StudieGfk Smart Home Studie
Gfk Smart Home StudiemyDLS
 
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...OSGiUsers
 
Deutsche Telekom Smarthome - Eine Einführung
Deutsche Telekom Smarthome - Eine EinführungDeutsche Telekom Smarthome - Eine Einführung
Deutsche Telekom Smarthome - Eine EinführungOSGiUsers
 
n-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit Smartcardsn-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit SmartcardsOSGiUsers
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeawaysHavas
 

Andere mochten auch (6)

OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015OSGi IoT Demo & Contest 2015
OSGi IoT Demo & Contest 2015
 
Gfk Smart Home Studie
Gfk Smart Home StudieGfk Smart Home Studie
Gfk Smart Home Studie
 
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
 
Deutsche Telekom Smarthome - Eine Einführung
Deutsche Telekom Smarthome - Eine EinführungDeutsche Telekom Smarthome - Eine Einführung
Deutsche Telekom Smarthome - Eine Einführung
 
n-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit Smartcardsn-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit Smartcards
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeaways
 

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.