Plug & Care Connector: OSGi-basierte Applikationfür Smartphones und Desktop-SystemeDoreen SeiderDeutsches Zentrum für Luft...
Roter Faden  Hintergrund: EU-Projekt „EmotionAAL“  Idee des Plug&Care Connectors  Realisierung mit OSGi  Best Practices, P...
Das DLRDeutsches Zentrum für Luft- und Raumfahrt   Forschungseinrichtung   Raumfahrt-Agentur   Projektträger              ...
Hintergrund: EU-Projekt „EmotionAAL“       „Support of people with chronical diseases in rural regions“  Ambient Assistent...
Hintergrund: EU-Projekt „EmotionAAL“  Eines der Ziele: Flexibles Telemonitoring-Setup                                     ...
Unflexible Telemonitoring-Setups                                                                          Folie 6         ...
Unflexible Telemonitoring-SetupsConnector-Technologien                                                                    ...
Flexibles Telemonitoring-Setup                                                                        Folie 8             ...
Flexibles Telemonitoring-SetupConnector-Technologie: Plug&Care Connector                                                  ...
Plug&Care ConnectorAnforderungen1.   Unterstützung beliebiger Messgeräte und Expertenzentren (auch im     Nachhinein) ohne...
Plug&Care ConnectorErfüllen der Anforderungen1.   Plugin-Konzept auf Basis von          Modularität von OSGi          Depe...
Plug&Care ConnectorArchitektur                                                            Folie 12                      Pl...
OSGi-Stack: Equinox  Eclipse Software Foundation  R4 Core und Service Compendium und optionale OSGi Services  OSGi-Impleme...
OSGi-Stack: mBS Mobile  Firma ProSyst (http://prosyst.com)  Android, Windows Mobile, Nokia S60  Leicht unterschiedlicher F...
OSGi-Stack: mBS MobileOSGi Management                                                               Folie 15              ...
OSGi-Stack: mBS MobileOSGi Applications                                                               Folie 16            ...
OSGi-Stack: mBS MobileWeb-Widgets  Allgemein       Clientseitige Applikationen       Eigenständig oder Web-Browser-basiert...
OSGi-Stack: mBS MobileWeb-Widgets  Bereitstellen von OSGi-Services        Angelehnt an Distributed-OSGi-Konzept        Dek...
Exkurs: Declarative Services (DS)  Beschreiben der Service-Abhängigkeiten zwischen Bundles  Handling der Abhängigkeiten du...
Exkurs: Declarative Services (DS)    Quelle: Heiko Seeberger                                                              ...
Exkurs: Declarative Services (DS)    Quelle: Heiko Seeberger                                                              ...
Exkurs: Declarative Services (DS)   DS Component Description (minimal)<component name=„Spitzen Tool">    <implementation c...
OSGi-Stack: mBS MobileWeb-Widgets   Deklarieren von OSGi-Services als „exported“   DS Component Description (vom Widget-Se...
OSGi-Stack: mBS MobileWeb-Widgets   Verwenden der OSGi-Services als JavaScript-Objekte   JavaScript-Code in einem Widget:v...
OSGi-Stack: mBS MobileSDK                                                               Folie 25                         P...
Architektur Plug&Care ConnectorTreiber- und Transmitter-Plugins   Anforderungen        Autarkes Deployment        Driver/T...
Architektur Plug&Care ConnectorPlugin-Konzept am Beispiel von Treiber-Plugins   Jeder Treiber als DS Component Factory dek...
Architektur Plug&Care ConnectorPlugin-Konzept am Beispiel von Treiber-Plugins   Verwalten von installierten Treibern: Driv...
Architektur Plug&Care ConnectorPlugin-Konzept am Beispiel von Treiber-Plugins   OSGi-Mechanismen bei Installation (Deploym...
Architektur Plug&Care ConnectorPlugin-Konzept am Beispiel von Treiber-Plugins   OSGi-Mechanismen bei Deinstallation       ...
Architektur Plug&Care ConnectorDatenhandling   Anforderungen        Speichern von Messungen        Speichern von konfiguri...
Architektur Plug&Care ConnectorAbstraktionen am Beispiel von Console   Schichtenarchitektur beteiligter Bundles           ...
Architektur Plug&Care ConnectorAbstraktionen am Beispiel von Bluetooth   Schichtenarchitektur beteiligter Bundles         ...
Architektur Plug&Care ConnectorAbstraktionen am Beispiel von Bluetooth    DS Component Description von dal.bluetooth.jsr82...
Architektur Plug&Care ConnectorAbstraktionen am Beispiel von Bluetooth und Console   Deployment                           ...
Architektur Plug&Care ConnectorThird-Party-Libraries   Plattform-unabhängig         Mitgeliefert in Bundle         Eventue...
Plug & Care ConnectorScreenshots: Settings Widget                                                                     Foli...
Plug & Care ConnectorScreenshots: Chart Widget                                                                  Folie 38  ...
Plug & Care ConnectorScreenshots: RCP GUI                                                              Folie 39           ...
Best-Practices  OSGi-Konzepte „ausleben“      Modularität      Lose Kopplung  Beispiele       Funktionalität von Bundles a...
Probleme  Platformunabhängigkeit        „Classloader-Hölle“ (Write once, run anywhere.)  Testen!        Performanz von Wi...
AusblickArchitektur                                                    Folie 42              Plug&Care Connector > Doreen ...
AusblickAnwendungsgebiete  Sportmedizinischer Sektor       Überwachung von Puls, etc.       Kein zusätzliches Gerät zur Au...
Kontakt          Doreen Seider          Abteilung Verteilte Systeme und          Komponentensoftware (SC-VK)          DLR ...
Upcoming SlideShare
Loading in …5
×

Plug&Care Connector: OSGi-basierte Applikation für Smartphones und Desktop-Systeme

4,043 views
3,960 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,043
On SlideShare
0
From Embeds
0
Number of Embeds
2,488
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Plug&Care Connector: OSGi-basierte Applikation für Smartphones und Desktop-Systeme

  1. 1. Plug & Care Connector: OSGi-basierte Applikationfür Smartphones und Desktop-SystemeDoreen SeiderDeutsches Zentrum für Luft- und Raumfahrt (DLR)BerlinExpertDaysBerlin, 07.04.2011 Folie 1 Plug&Care Connector > Doreen Seider > 07.04.2011
  2. 2. Roter Faden Hintergrund: EU-Projekt „EmotionAAL“ Idee des Plug&Care Connectors Realisierung mit OSGi Best Practices, Probleme, Ausblick Folie 2 Plug&Care Connector > Doreen Seider > 07.04.2011
  3. 3. Das DLRDeutsches Zentrum für Luft- und Raumfahrt Forschungseinrichtung Raumfahrt-Agentur Projektträger Folie 3 Plug&Care Connector > Doreen Seider > 07.04.2011
  4. 4. Hintergrund: EU-Projekt „EmotionAAL“ „Support of people with chronical diseases in rural regions“ Ambient Assistent Living (AAL) 10 Projektpartner aus Deutschland, Österreich und Finnland Laufzeit: Juli 2009 – Juli 2012 DLR: Simulations- und Softwaretechnologie, Institut für Raumfahrtmedizin Folie 4 Plug&Care Connector > Doreen Seider > 07.04.2011
  5. 5. Hintergrund: EU-Projekt „EmotionAAL“ Eines der Ziele: Flexibles Telemonitoring-Setup Folie 5 Plug&Care Connector > Doreen Seider > 07.04.2011
  6. 6. Unflexible Telemonitoring-Setups Folie 6 Plug&Care Connector > Doreen Seider > 07.04.2011
  7. 7. Unflexible Telemonitoring-SetupsConnector-Technologien Folie 7 Plug&Care Connector > Doreen Seider > 07.04.2011
  8. 8. Flexibles Telemonitoring-Setup Folie 8 Plug&Care Connector > Doreen Seider > 07.04.2011
  9. 9. Flexibles Telemonitoring-SetupConnector-Technologie: Plug&Care Connector Folie 9 Plug&Care Connector > Doreen Seider > 07.04.2011
  10. 10. Plug&Care ConnectorAnforderungen1. Unterstützung beliebiger Messgeräte und Expertenzentren (auch im Nachhinein) ohne Plug&Care Connector anzupassen2. Sowohl auf Smartphones (wie Android oder Windows Mobile) als auch auf Desktop-Betriebssystemen lauffähig Folie 10 Plug&Care Connector > Doreen Seider > 07.04.2011
  11. 11. Plug&Care ConnectorErfüllen der Anforderungen1. Plugin-Konzept auf Basis von Modularität von OSGi Dependency Injection durch OSGi Declarative Services2. Plattformunabhängigkeit durch Realisierung als OSGi-Applikation Equinox auf Desktop mBS Mobile auf Smartphone Folie 11 Plug&Care Connector > Doreen Seider > 07.04.2011
  12. 12. Plug&Care ConnectorArchitektur Folie 12 Plug&Care Connector > Doreen Seider > 07.04.2011
  13. 13. OSGi-Stack: Equinox Eclipse Software Foundation R4 Core und Service Compendium und optionale OSGi Services OSGi-Implementierung für Eclipse Folie 13 Plug&Care Connector > Doreen Seider > 07.04.2011
  14. 14. OSGi-Stack: mBS Mobile Firma ProSyst (http://prosyst.com) Android, Windows Mobile, Nokia S60 Leicht unterschiedlicher Funktionsumfang pro Plattform Allen gleich: alle OSGi-Services und Framework-Features spezifiziert in JSR 232 und einige nicht spezifizierte OSGi-Services (HTTP mit JSP 2.0, User Admin, …) Übersicht der Stacks: http://dz.prosyst.com/mbsmobile/ Folie 14 Plug&Care Connector > Doreen Seider > 07.04.2011
  15. 15. OSGi-Stack: mBS MobileOSGi Management Folie 15 Plug&Care Connector > Doreen Seider > 07.04.2011
  16. 16. OSGi-Stack: mBS MobileOSGi Applications Folie 16 Plug&Care Connector > Doreen Seider > 07.04.2011
  17. 17. OSGi-Stack: mBS MobileWeb-Widgets Allgemein Clientseitige Applikationen Eigenständig oder Web-Browser-basiert GUI in HTML GUI- und Geschäftslogik in JavaScript Konzept in mBS Mobile GUI für OSGi-Applikationen Web-Browser-basiert GUI in HTML GUI-Logik in JavaScript Geschäftslogik in Java (OSGi-Services) Folie 17 Plug&Care Connector > Doreen Seider > 07.04.2011
  18. 18. OSGi-Stack: mBS MobileWeb-Widgets Bereitstellen von OSGi-Services Angelehnt an Distributed-OSGi-Konzept Deklarieren von OSGi-Services als „exported“ JavaScript-Bibliothek RSR (mBS Mobile) Finden und Binden von exportierten OSGi-Services Verwenden der OSGi-Services als JavaScript-Objekte Folie 18 Plug&Care Connector > Doreen Seider > 07.04.2011
  19. 19. Exkurs: Declarative Services (DS) Beschreiben der Service-Abhängigkeiten zwischen Bundles Handling der Abhängigkeiten durch DS Runtime Vorteile Geringere Komplexität (Dynamik) Geringere Start-up-Zeiten Folie 19 Plug&Care Connector > Doreen Seider > 07.04.2011
  20. 20. Exkurs: Declarative Services (DS) Quelle: Heiko Seeberger Folie 20 Plug&Care Connector > Doreen Seider > 07.04.2011
  21. 21. Exkurs: Declarative Services (DS) Quelle: Heiko Seeberger Folie 21 Plug&Care Connector > Doreen Seider > 07.04.2011
  22. 22. Exkurs: Declarative Services (DS) DS Component Description (minimal)<component name=„Spitzen Tool"> <implementation class=„de.dlr.tool.internal.SpitzenImpl"/></component> Beispiele zusätzlicher Eigenschaften: <service> <provide interface="de.dlr.tool.Spitzen"/> </service> <property name=„de.dlr.tool.unit">meter</property> Folie 22 Plug&Care Connector > Doreen Seider > 07.04.2011
  23. 23. OSGi-Stack: mBS MobileWeb-Widgets Deklarieren von OSGi-Services als „exported“ DS Component Description (vom Widget-Service):<component name=„Widget Service> <implementation class="de.pncc.application.internal.WidgetServiceImpl"/> <service> <provide interface="de.pncc.application.InternalWidgetService"/> </service> <property name="org.osgi.remote.publish">true</property></component> Folie 23 Plug&Care Connector > Doreen Seider > 07.04.2011
  24. 24. OSGi-Stack: mBS MobileWeb-Widgets Verwenden der OSGi-Services als JavaScript-Objekte JavaScript-Code in einem Widget:var widgetService = RSR.bind(„de.pncc.application.WidgetService“);if (widgetService.isLoggedIn()) { // do something} Folie 24 Plug&Care Connector > Doreen Seider > 07.04.2011
  25. 25. OSGi-Stack: mBS MobileSDK Folie 25 Plug&Care Connector > Doreen Seider > 07.04.2011
  26. 26. Architektur Plug&Care ConnectorTreiber- und Transmitter-Plugins Anforderungen Autarkes Deployment Driver/Transmitter als OSGi Services Mehrere Instanzen auf Grund verschiedener Konfigurationen OSGi so transparent wie möglich Konzepte OSGi Declarative Services (DS) DS Component Factory Folie 26 Plug&Care Connector > Doreen Seider > 07.04.2011
  27. 27. Architektur Plug&Care ConnectorPlugin-Konzept am Beispiel von Treiber-Plugins Jeder Treiber als DS Component Factory deklariert DS Component Description (von Driver B):<component name=„Driver B“ factory="de.pncc.driver"> <implementation class="de.pncc.plugins.drivers.DriverB"/> <service> <provide interface="de.pncc.drivers.Driver"/> </service></component> Folie 27 Plug&Care Connector > Doreen Seider > 07.04.2011
  28. 28. Architektur Plug&Care ConnectorPlugin-Konzept am Beispiel von Treiber-Plugins Verwalten von installierten Treibern: Driver Registry DS Component Injezieren von Component Factorys vom Typ: „de.pncc.driver“<component name=„Driver Registry„ <reference name="de.pncc.driver„ interface="org.osgi.service.component.ComponentFactory„ bind="addDriver„ unbind="removeDriver„ target="(component.factory=de.pncc.driver)"/></component> Folie 28 Plug&Care Connector > Doreen Seider > 07.04.2011
  29. 29. Architektur Plug&Care ConnectorPlugin-Konzept am Beispiel von Treiber-Plugins OSGi-Mechanismen bei Installation (Deployment) Folie 29 Plug&Care Connector > Doreen Seider > 07.04.2011
  30. 30. Architektur Plug&Care ConnectorPlugin-Konzept am Beispiel von Treiber-Plugins OSGi-Mechanismen bei Deinstallation Folie 30 Plug&Care Connector > Doreen Seider > 07.04.2011
  31. 31. Architektur Plug&Care ConnectorDatenhandling Anforderungen Speichern von Messungen Speichern von konfigurierten Treibern und Transmittern Konzepte NeoDatis ODB Von ProSyst als angepasstes OSGi-Bundle bereitgestellt GNU Lesser General Public License (LGPL) Alle Messtypen als Object im Plug&Care Connector gehandelt Konkrete Typen nur in Treiber- und Transmitter-Plugins Satz an Standardtypen bereitgestellt (Kompatibilität) Folie 31 Plug&Care Connector > Doreen Seider > 07.04.2011
  32. 32. Architektur Plug&Care ConnectorAbstraktionen am Beispiel von Console Schichtenarchitektur beteiligter Bundles Folie 32 Plug&Care Connector > Doreen Seider > 07.04.2011
  33. 33. Architektur Plug&Care ConnectorAbstraktionen am Beispiel von Bluetooth Schichtenarchitektur beteiligter Bundles Folie 33 Plug&Care Connector > Doreen Seider > 07.04.2011
  34. 34. Architektur Plug&Care ConnectorAbstraktionen am Beispiel von Bluetooth DS Component Description von dal.bluetooth.jsr82<component name=„de.pncc.dal.bluetooth.JSR82“> <implementation class="de.pncc.dal.bluetooth.jsr82.internal.JSR82BluetoothCommunicator"/> <service> <provide interface="de.pncc.dal.Communicator"/> </service></component> Folie 34 Plug&Care Connector > Doreen Seider > 07.04.2011
  35. 35. Architektur Plug&Care ConnectorAbstraktionen am Beispiel von Bluetooth und Console Deployment Folie 35 Plug&Care Connector > Doreen Seider > 07.04.2011
  36. 36. Architektur Plug&Care ConnectorThird-Party-Libraries Plattform-unabhängig Mitgeliefert in Bundle Eventuell Probleme beim Classloading bei Android Plattform-abhängig Als eigenständige Bundles bereitgestellt Exportieren der gleichen Packages Deployen jeweils eines Bundles pro Plattform Folie 36 Plug&Care Connector > Doreen Seider > 07.04.2011
  37. 37. Plug & Care ConnectorScreenshots: Settings Widget Folie 37 Plug&Care Connector > Doreen Seider > 07.04.2011
  38. 38. Plug & Care ConnectorScreenshots: Chart Widget Folie 38 Plug&Care Connector > Doreen Seider > 07.04.2011
  39. 39. Plug & Care ConnectorScreenshots: RCP GUI Folie 39 Plug&Care Connector > Doreen Seider > 07.04.2011
  40. 40. Best-Practices OSGi-Konzepte „ausleben“ Modularität Lose Kopplung Beispiele Funktionalität von Bundles als OSGi-Services bereitgestellt Individuelles Bundle-Setup beim Deployen DS Component Model für Transparenz da Drittentwickler vorhanden Third-Party-Libraries als OSGi-Bundles zwecks individuellem Setups Folie 40 Plug&Care Connector > Doreen Seider > 07.04.2011
  41. 41. Probleme Platformunabhängigkeit „Classloader-Hölle“ (Write once, run anywhere.)  Testen! Performanz von Widgets  Native GUIs Abhängig von Weiterentwicklung der OSGi-Stacks (z.B. momentan keine Unterstützung für Windows Phone 7) Folie 41 Plug&Care Connector > Doreen Seider > 07.04.2011
  42. 42. AusblickArchitektur Folie 42 Plug&Care Connector > Doreen Seider > 07.04.2011
  43. 43. AusblickAnwendungsgebiete Sportmedizinischer Sektor Überwachung von Puls, etc. Kein zusätzliches Gerät zur Aufzeichnung durch (steigende) Verbreitung des Smartphones Experiment aus der Raumfahrt Neutralisieren von Harn Überwachung des Experiments Durchführung des Experiments nach Model SETI@Home Folie 43 Plug&Care Connector > Doreen Seider > 07.04.2011
  44. 44. Kontakt Doreen Seider Abteilung Verteilte Systeme und Komponentensoftware (SC-VK) DLR Simulations- und Softwaretechnik Köln-Porz / Braunschweig / Berlin E-Mail: Doreen.Seider@dlr.de www.dlr.de/sc/abteilung/verteiltesysteme Folie 44 Plug&Care Connector > Doreen Seider > 07.04.2011

×