Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Software ubiquitärer Systeme –Beispiele für Projekte und Anwendungen
PRO DV Software AG, DortmundStefan Michaelis – [email protected]
2
Inhaltsübersicht
Kurze Vorstellung PRO DV (wirklich kurz)
Das Projekt Mobile EmerGIS
Das Projekt Galileo4FB
Das Projekt MORE
� Anwendungsszenarien
� Genutzte Technologie und Standards� Eigenentwicklungen� Lessons Learned
3
PRO DV Software AG – das Unternehmen
30 Jahre Erfahrung –über 1.000 erfolgreiche IT-Projekte
IT-Lösungs- und Consulting-Partner u. a. in den Bereichen:
� Zivile Sicherheit
� Kritische Infrastrukturen� Umweltschutz� Financial Solutions
Insbesondere mit den Technologien:� Serviceorientierte Architekturen (SOA)� Portaltechnologien und Geo-Services (Geo)
4
Safety & Security Solutions
Unsere Lösungen und Dienstleistungen für die Bereiche Zivil- und Bevölkerungsschutz, Krisenmanagement und Krisenübung für den Öffentlichen Bereich und für die Privatwirtschaft.
� deNIS IIplus – Deutsches Notfallinformationssystem
� deNIS IIÜSA
� SaSIS � SaSISÜSA
PRO DV Software AG – das Unternehmen
6
Mobile EmerGIS - Anforderungen
Entwicklung einer mobilen EDV Lösung zur Unterstützung von Einsatzkräften in der Schadenslage
Zielgruppe / Anwender: Einsatzleiter, Leiter (z.B. Feuerwehr, Polizei, THW) und Zugführer, Fachberater, Leitende Notärzte
Nutzung mobiler Endgeräte vor Ort (PDA)
Mobil verfügbare Karten, „mobiles GIS“ (stand-alone)
Anbindung an zentrales NotfallinformationssystemSchnittstelle zu deNISIIplus
Integration von GPS-Funktionalität, georeferenzierte Fotos
Möglichkeit zur Nachverfolgung des Einsatzes
Mobile EmerGIS
8
Demonstrator GPS-Fotos und mobiles GIS
Kartenansicht
Einfache Steuerung durch Click in Karte bzw. auf But ton
Verschieben, Zentrieren auf Position , Zoom
GPS-Foto vom Standort oder Foto mit Koordinaten aus Kartenbild
Mobile EmerGIS
10
Galileo 4 Fire Brigades
Mobiles System zur Lokalisierung, Überwachung des Gesundheitszustands und Warnung von Einsatzkräften der Feuerwehr
Genaue Positionsbestimmung durch Galileo bzw. GPS, Nutzung von Galileo-Diensten
Drahtlose Sensordatenübermittlung (biometrische Daten, Umweltdaten)
Sicheres Vernetzungskonzept
Visualisierung von Daten auf mobilen Geräten
Kartographie - mobil verfügbares GIS
Galileo4FB
11
GALILEO, das europäische Satellitennavigationssyste m
Open Serviceweltweit verfügbarer, kostenloser Navigationsdienst
Commercial Servicekostenpflichtig, Korrekturdaten, Verfügbarkeitsgarantie
Safety of Life Servicefür sicherheitskritische Bereiche wie Luft- oder SchiffsverkehrWarnung bei Ausfall / Unzuverlässigkeit
Public Regulated Servicenur für hoheitliche Zwecke, verschlüsselt, Schutzfunktion
Galileo4FB
12
Demonstrator Fat Client
mobiles Endgerät: robuster Tablet-PC bzw. Convertible
zentrale Anwendung:einfaches mobiles GIS
Nutz- und Bedienbarkeit unter Feuerwehrbedingungen
Galileo4FB
14
Ergebnisse und Erkenntnisse aus den Projekten
Funktionsfähige GIS-Software für Mobiltelefone und PDAs
Kopplung mit Sensorik und Schnittstellen in den Geräten (Handykameraetc.)
Aber:� Wenig Modularität
� Weniger Wiederverwendbarkeit� Keine Kopplung an existierende Standards
16
MORE - Network-centric Middleware for GrOup communicatio n and Resource Sharing across Heterogeneous Embedded Systems
Forschungsprojekt von 2006-2009, gefördert durch die Europäische Union
8 Partner aus 5 europäischen Ländern
Ziele der Middleware:
� Einfache Integration heterogener eingebetteter Systeme im Netz
� Verwaltung und Optimierung des Ressourcenverbrauchs� Gruppenkommunikation sowohl zwischen Mensch und Maschine als
auch Maschine zu Maschine� Gatewaydienste zu bestehenden Systemen
MORE
17
Szenario I: Betreuung von Diabetespatienten
Therapie, regelmäßige Checkupsbeim Arzt, Schulung
Idee: Verbesserung der Beziehungzwischen Patient und Arzt durch ständig verfügbare Daten
Ziel: Vermeidung von Komplikationenund schnellere Schulung der Patienten 1-5 Messungen pro Tag!
MORE - Szenarien
20
Szenario II: Umweltmonitoring für den Klimaschutz
0
1000
2000
3000
4000
5000
6000
1977
1979
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
Year
Num
ber
For
est F
ires
/ Bur
nt A
rea
(ha)
.
0
2
4
6
8
10
12
14
Dam
age
Mio
. €
.
Damage in Mio. € Burnt Area (ha) N° Forest Fires
Wirtschaftlicher Schaden (D):
1977 - 1990: av. 1.5 Mio € / y
1991 - 2006: av. 2.5 Mio € / y
Kosten der Vorbeugung(D):
~ 10 Mio. € / y
Erhöhtes Risiko seit den 80ern
Quelle: TU Dresden
MORE - Szenarien
26
Anforderungen der Anwender aus den Szenarien
Einfache Nutzung der Software (User Interface)
Transparenter Zugang zu den Daten
� Remote und lokal müssen sich gleich „anfühlen“
Stabilität und Zuverlässigkeit
Konfigurierbarkeit
Sicherheit (Verschlüsselung)
MORE - Szenarien
27
Klassifikation von Hardware – Eingebettete Systeme
Proprietary Devices - Actuator, Sensors (months-years powersupply)
Network enabled limited Devices - Wireless Modules, simplemobile phones (few kBytes Mem, days-weeks power supply)
Network enabled Wireless Devices - Smartphones (Memory afew hundred kBytes, several days power supply )
Personal Devices - PDA (few Mbytes Memory, few hundredMHz Processor, several days power supply)
Desktop Systems - Personal Computers
Server Systems
Em
bedd
ed
Sys
tem
sAccess Points - (diskless, several 10 Mbyte Memory, few 100MHz Processor, infrastructure power supply)
MORE
28
Im Projekt genutzte Hardware
(Natürlich) Standard PCs mit Windows, Linux, MacOSx
Gumstix Connex and Verdex
� 400MHz bis 600MHz CPU
� 64MB bis 128 MB RAM� WLAN
OpenMoko Neo Freerunner Smartphone
Nokia N810 Digital Assistant
Hyperion (früher Siemens) TC65/XT75 Wireless Modules
Indirekte Unterstützung für diverse Ipaq-PDAs, Mobiltelefone
MORE
29
Architektur von MORE – Die Welt besteht aus Services
Alle Funktionen werden in Services gruppiertSOA, Service Oriented Architecture
Alle Services besitzen nach außen eine standardisierte Schnittstelle
Austauschbare Connectors spezifizierendas konkrete Zugriffsprotokoll
MORE
32
Eingesetzte Software - OSGi
Ziel: Größere Modularität und Kapselung von Abhängigkeiten
Grundgerüst für den modularen Aufbau von Eclipse
Prinzip: Gruppierung von Funktionalität in Jar-Archiven und Export bereitgestellter Funktionen
Verschiedene Open Source und kommerzielle Frameworks verfügbar
� Equinox (Eclipse)
� Felix (Apache)� Knopflerfish� mBedded Server Equinox Edition
MORE - Standards
33
Web Services haben im Internet weite Verbreitung gefunden: Google, Twitter, Flickr...
Auch eingebettete Systeme verfügen zunehmend über standardisierte Netzschnittstellen
DPWS definiert Web Services speziell für eingebettete Systeme
� Einschränkungen: CPU, Speicher, Footprint
� Reduktion auf die grundlegenden Funktionen: Plug&Play, asynchroner und eventgesteuerter Zugriff
Zielsetzung: Aufbau komplexer und adaptiver Systeme basierend auf autonomen und interoperablen Komponenten
Eingesetze Software: DPWS – Device Profile for Web Ser vices
MORE - Standards
34
Deviceprofile: Spezifikation
Vorangetrieben durch Microsoft. DPWS-Stack bereits in Windows Vista verfügbar
Grundlegende Technologien: SOAP, WSDL (Web Service DescriptionLanguage)
WS-Addressing: Transportprotokollunabhängige Adressierung
WS-Discovery: Wie finde ich die Services in nicht-gesteuerten Netzen?
WS-MetaDataExchange: Was kann der Service?
WS-Eventing: Publish/Subscribe Protocol
MORE - Standards
35
WS-Discovery und WS-MetadataExchange
Multicast Discovery Protocol zum Auffinden der Geräte
� Basierend auf UDP Multicast
� Spezifikation definiert Discovery Proxy zur Reduktion der Nachrichtenanzahl: Skalierbarkeit
� Announcement Protocol: Hello und Bye-Pakete
Zusätzliche Metadaten je Gerät abrufbar
� Gerätecharakteristika� Liste der verfügbaren Service
� Beschreibungen als WSDL
MORE - Standards
36
WS-Eventing
Publish/Subscribe Mechanismus zusätzlich zur direkten Abfrage
� Weniger Polling auf dem Netz notwendig
� Lose Kopplung zwischen Sender und Empfänger
Subscribe: Client registriert sich auf interessante Ereignisse beim Endpunkt (DPW Service)
Publish: Sobald neue Daten vorliegen sendet der Endpunkt eine Nachrichtan alle registrierten Clients
Ereignisse werden als einfache Punkt-zu-Punkt-Nachricht zwischen Sender und Empfänger ausgeliefert
MORE - Standards
37
Eingesetzte Software - JXTA
Topologieunabhängiges P2P-Framework
Servicediscovery auch im Weitverkehrsnetz
Funktionen zum NAT-Traversal
Angepasste Versionen für sehr kleine Geräte vorhanden
� TC65 Wireless Module mit Java ME, ARM7 Prozessor
Nachteile: Zeit zum Aufbau der Pipes liegt für den Kaltstart bei >30s
MORE - Standards
39
Eigenentwicklungen im Projekt
Die ausgewählten Frameworks erfüllen nicht alle Anforderungen, deshalb
Service für die Gruppenkommunikation
Service Chaining (Orchestration)
µSOA: Weitere Verringerung des Overheads für Datenübertragung und Parsing von XML
Resource Management
CPU Budgeting und Echtzeitunterstützung
MORE - Innovationen
40
Service Chaining
Existierende Orchestration-Lösungen eignen sich nicht für eingebettete Systeme
Lösung: Im Rahmen von MORE an der TU Dortmund entwickelte Lösungfür die Verbindung von Services
Engine RAM HDD
Oracle, BPEL Process Manager 256 MB 600 MB
Cape Clear, Enterprise Service Bus 512 MB 400 MB
JBoss, JBPM BPEL Extension 512 MB 20 MB
Telelogic, System Architect 256 MB 350 MB
IBM, Web Sphere 512 MB 2.8 GB
MORE - Innovationen
41
Service Chaining
Aufgabe: Zusammenfassung einzelner Services; nach außen repräsentieren diese Services einen neuen mit neuer Funktionalität
Service Chain Description File (SCDF) Parsing
� Feststellen aller beteiligten Services
� Prüfen der Verfügbarkeit
WSDL-Generierung
� WSDLs aller beteiligten Services einlesen� Generieren eines neuen WSDL-Files
MORE - Innovationen
42
Service Chaining
Management
ServiceService A
Management
ServiceService B
MORE
Functionality
(Service C)
&
Data Flow
Management
ServiceCMS
1
2
3
4
5
MORE - Innovationen
43
µSOA Proxy – Architektur und Datenformate
Für sehr eingeschränkte Geräte sind SOAP und XML nicht geeignet
Idee: Eigenes Datenformat: µSOA
Dynamische Generierungvon Schnittstellen (WSDL)
MORE - Innovationen
µSOA
µSOA
44
µSOA Proxy – Architektur und Datenformate
MORE - Innovationen
{Measurement} is of type {null}
Occurs max 1 / min 1is leaf element: falseis child complex: true
{time} is of type {dateTime}
Occurs max 1 / min 1is leaf element: trueis child complex: false
{keyValuePairs} is of type {null}
Occurs max unbounded / min 0is leaf element: falseis child complex: true
{key} is of type {string}
Occurs max 1 / min 1is leaf element: trueis child complex: false
{value} is of type {string}
Occurs max 1 / min 1is leaf element: trueis child complex: false
<wsdl:types><xsd:schematargetNamespace="http://www.ist-more.org/MeasurementService"elementFormDefault="qualified"xmlns:tns="http://www.ist-more.org/MeasurementService"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="Measurement" type="tns:GasMeasurementValue" /><xsd:complexType name="GasMeasurementValue"><xsd:sequence><xsd:element name="time" type="xsd:dateTime"></xsd:element><xsd:element name="keyValuePairs" type="tns:keyValuePair"maxOccurs="unbounded" minOccurs="0"></xsd:element>
</xsd:sequence></xsd:complexType><xsd:complexType name="keyValuePair"><xsd:sequence><xsd:element name="key" type="xsd:string"></xsd:element><xsd:element name="value" type="xsd:string"></xsd:element>
</xsd:sequence></xsd:complexType>
</xsd:schema></wsdl:types>
WSDL Definition
<wsdl:types><xsd:schematargetNamespace="http://www.ist-more.org/MeasurementService"elementFormDefault="qualified"xmlns:tns="http://www.ist-more.org/MeasurementService"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="Measurement" type="tns:GasMeasurementValue" /><xsd:complexType name="GasMeasurementValue"><xsd:sequence><xsd:element name="time" type="xsd:dateTime"></xsd:element><xsd:element name="keyValuePairs" type="tns:keyValuePair"maxOccurs="unbounded" minOccurs="0"></xsd:element>
</xsd:sequence></xsd:complexType><xsd:complexType name="keyValuePair"><xsd:sequence><xsd:element name="key" type="xsd:string"></xsd:element><xsd:element name="value" type="xsd:string"></xsd:element>
</xsd:sequence></xsd:complexType>
</xsd:schema></wsdl:types>
45
µSOA Proxy – Architektur und Datenformate
MORE - Innovationen
Message IDInteger – 4 Byte
Message IDInteger – 4 Byte
CounterInteger – 4 Byte
CounterInteger – 4 Byte
ItemItem ItemItem ItemItem ItemItem……
<soap:Header><wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
</wsa:To><wsa:Action>http://www.ist-more.org/MeasurementService/SensorPort/GetMeasureResponse
</wsa:Action><wsa:RelatesTo>urn:uuid:345961f0-e7db-11dd-bf53-102860e71a14
</wsa:RelatesTo></soap:Header>
<soap:Header><wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
</wsa:To><wsa:Action>http://www.ist-more.org/MeasurementService/SensorPort/GetMeasureResponse
</wsa:Action><wsa:RelatesTo>urn:uuid:345961f0-e7db-11dd-bf53-102860e71a14
</wsa:RelatesTo></soap:Header>
<soap:Body><ns1:Measurement
xmlns:ns1="http://www.ist-more.org/MeasurementService"><ns1:time>2009-01-28T14:11:33.532+01:00</ns1:time><ns1:keyValuePairs><ns1:key>Temperature</ns1:key><ns1:value>20,4 C</ns1:value>
</ns1:keyValuePairs><ns1:keyValuePairs><ns1:key>O2</ns1:key><ns1:value>20,1VOL</ns1:value>
</ns1:keyValuePairs><ns1:keyValuePairs><ns1:key>CH4</ns1:key><ns1:value>-0,9%UEG</ns1:value>
</ns1:keyValuePairs></ns1:Measurement>
</soap:Body>
<soap:Body><ns1:Measurement
xmlns:ns1="http://www.ist-more.org/MeasurementService"><ns1:time>2009-01-28T14:11:33.532+01:00</ns1:time><ns1:keyValuePairs><ns1:key>Temperature</ns1:key><ns1:value>20,4 C</ns1:value>
</ns1:keyValuePairs><ns1:keyValuePairs><ns1:key>O2</ns1:key><ns1:value>20,1VOL</ns1:value>
</ns1:keyValuePairs><ns1:keyValuePairs><ns1:key>CH4</ns1:key><ns1:value>-0,9%UEG</ns1:value>
</ns1:keyValuePairs></ns1:Measurement>
</soap:Body>µSOA
Transmission Schema
2009-01-28T14:11:33.532
+01:00|3Temperature|ID 0
SOAP Header Information SOAP Body Information
KƒÁ”
48
Was schief gehen kann geht auch wirklich schief - Fe ldtests
Stromversorgung am Datenloggerausgefallen
� Vorteil: Test des Fehlerloggings
Gatewayknoten reagiert nicht mehr
� Lösung: Watchdogfunktionalität
Mobilfunkverbindung nicht möglich
� Ursache: Nicht richtig festgeschraubte Antenne…
Unvollständige Datenübertragung
� Lösung: Einstellbares Wiederholungsintervall, Anzahl an Wiederholungen und Datennutzlast
MORE
49
Zusammenfassung
Einfache Aufgabenstellungen wie der Punkt-zu-Punkt-Transport von Daten lassen sich meist problemlos lösen
Generische Frameworks erleichtern die Anpassung an neue Szenarien
Größere Architekturen/Netze bedeuten schnell Skalierungsprobleme
� Szenarienspezifische Logik wie auf die Dynamik im Netz reagiert werden muss (z.B. Alarmnachrichten an wen wann versenden?)
Existierende Herausforderungen:
� Auswahl und Verfügbarkeit von Standards und Frameworks
� Verfügbarkeit der Hardware
Vielen Dank für Ihre Aufmerksamkeit!
PRO DV Software AG, Dortmund, www.prodv.deStefan Michaelis – [email protected]
Besuchen Sie uns auf: www.ist-more.org!