Open Services Gateway Initiative mit Malte Teubner

Preview:

Citation preview

Open Services Gateway Initiative

mit Malte Teubner

OSGi Mission

OSGI‘s primary goal is to define and foster rapid adoption of open specification for delivery of managed broadband services to networks in homes, cars and other environment.

OSGi

• Gegründet im März 1999

• Inzwischen über 80 mitarbeitende Firmen

• Jährlicher Release der OSGi-API

• Treffen der verschiedenen Gruppen

Weshalb

• Allgegenwärtigkeit von Breitbandverbindungen und dem Internet

• Neueste Services liefern, installieren und laufen lassen

• Kompatibilität

Connected Home

Einsatz von OSGi

• High-Value Services dynamisch über wide-area Netzwerke auf das Service Gateway laden.

• z.B. Fahrzeug Diagnose, Navigation, Entertainment, etc.

Technische Umsetzung

Experten Gruppen:

• Core Platform EG• Vehicle EG• Device EG• Remote Management EG• Security EG• Architecture EG

Architektur

BundleOSGi Framework

Java Runtime Environment

Operating System

Hardware

Bundle - Motivation

• Als Hüllen-Objekt• Alle Services, Applikationen, etc.• Wird als Jar-Archiv

zusammengefasst und verschickt

• System Bundles• Management Bundles

Bundle - Inhalt

• Java-Classes, html, help files, icons, etc.

• Manifest-File

• Informationen über Abhängigkeiten

• BundleActivator

Das Bundle-Objekt

• Installierte Bundles instantiieren zu einem Bundle-Objekt.

Dieses Objekt besteht aus:

• Bundle Identifier• Bundle Location• Bundle State

Bundle Identifier/Location

• Identifier• Type long• Wird nie wieder benutzt, selbst bei

Deinstallation• Wird nie geändert• getBundleId()

• Location• String vom Installationsort• getLocation()

Bundle State

System Services (Bundles)

• Package Admin Service• Permission Admin Service• Service Tracker• Log Service• http Service• Device Access• Configuration Admin Service• Preferences Service• User Admin Service

Package Admin Service

• Package Sharing

• Problem: Bundle Update oder Deinstallation

• Bietet Policies für Package Sharing den Management Bundles an.

Permission Admin Service

• Bietet den Management Bundles die Möglichkeit Permissions zu setzen.

• z.B. FilePermissionExecutionPermission, etc.

Service Tracker• Bundles werden installiert, gestartet,

gestoppt, geupdated und deinstalliert ohne Neustart.

• Migration inerhalb des Frameworks.

Monitoring wichtig

• Logged alle Service-Registrierungen, Modifikationen und Deinstallationen

Log Service

• LogEntries zum Ablegen von Informationen

• LogReader hollt Entries• LogListener wartet auf Entries und

gibt sie sofort zurück

Http Service

• Benutzung des Hypertext Transfer Protokoll

• Html, XML, Servlets

• Entfernt zugreifen auf das OSGi-Framework mittels Web-Browser

Device Access

• Koordiniert automatisches finden und ankoppeln der Standard-Geräte

• Erleichtert an- und abkoppeln von neuen Geräten

• Ermöglicht Download und Install der Geräte-Treiber on Demand

Configuration Admin Service

Preferences Service

• Daten über einen längeren Zeitraum speichern Boolean, Integer, Long, Float, Double, Byte Array

• Key/Value Paare

User Admin Service

Bundles benutzen den User Admin Service um User Authentisierung durchzuführen und die Autorisierung zu prüfen.

Mitglieder

• BMW• Ericsson• Deutsche Telekom• Motorola• Nokia• Hewlett-Packard• IBM• Und viele mehr

Verbreitung

• Mehrere Firmen haben begonnen Umsetzungen zu veröffentlichen

• SUN, IBM, GateSpace

Zusammenfassung

• Grosse Community

• Akzeptanz

• Lauffähige Umsetzungen

Recommended