foederiertes geraete- und dienstmanagement mit web-technologien

27
Forschungsgruppe IT-Management und Web Engineering Institut für Telematik Universität Karlsruhe (TH) Andreas Heil Karlsruhe, 31. Januar 2005 Föderiertes Geräte- und Dienstmanagement mit Web-Technologien

Upload: andreas-heil

Post on 18-May-2015

272 views

Category:

Technology


2 download

DESCRIPTION

Introduction to federated device and service management using Web technologies. The talk introduces into an research approach how to design and develop complex service infrastructures including real world devices towards an internet of things.

TRANSCRIPT

Page 1: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Forschungsgruppe IT-Management und Web EngineeringInstitut für TelematikUniversität Karlsruhe (TH)

Andreas Heil

Karlsruhe, 31. Januar 2005

Föderiertes Geräte- und Dienstmanagement mit Web-Technologien

Page 2: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <2>

ÜberblickÜberblickEinleitung & Problemstellung

Stand der Technik

Lösungskonzept

RealisierungSTAIVEFDXInfrastruktur

Zusammenfassung & Ausblick

Einleitung & Problemstellung

Stand der Technik

Lösungskonzept

RealisierungSTAIVEFDXInfrastruktur

Zusammenfassung & Ausblick

Page 3: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <3>

Einleitung und ProblemstellungEinleitung und Problemstellung

Lokales NetzwerkExterne Dienste

Digitales Ökosystem Haus-Automation

Page 4: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <4>

Hardware-basierteLösungen

Stand der TechnikStand der Technik

Software-basierteLösungen

Forschungsansätze

Page 5: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <5>

Lösungskonzept – WAMLösungskonzept – WAM

Page 6: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <6>

LösungskonzeptLösungskonzept

WAMService

DeviceCardRegistry

Event/InvokePipe

i2Map

Service(STAIVE)

Device

Device Specific Communication

FDX

WMCE

WSLS

Home Center

Eventing

Find DeviceRegisterDevice

Get Device Information

Set Device Configurations

UserInteraction

Add Device

Page 7: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <7>

STAtusInVokeEventing

STAtusInVokeEventing

STAIVE (1)STAIVE (1)

[System.Web.Services.WebMethod(Description = "...")]System.Xml.XmlElement GetStatusVariable(System.Xml.XmlElement varContext);

[System.Web.Services.WebMethod(Description = "...")]System.Xml.XmlElement InvokeFDX(System.Xml.XmlElement invokeContext);

[System.Web.Services.WebMethod(Description = "…")]WSLS.Services.GTS.CRUDS200403.Status Subscribe(System.Xml.XmlElement subscribeContext);

[System.Web.Services.WebMethod(Description = "...")]WSLS.Services.GTS.CRUDS200403.Status Unsubscribe(System.Xml.XmlElement unsubscribeContext);

[System.Web.Services.WebMethod(Description = "...")]System.Xml.XmlElement GetDeviceCard(System.Xml.XmlElement deviceContext);

[System.Web.Services.WebMethod(Description = "...")]System.Xml.XmlElement GetStatusVariable(System.Xml.XmlElement varContext);

[System.Web.Services.WebMethod(Description = "...")]System.Xml.XmlElement InvokeFDX(System.Xml.XmlElement invokeContext);

[System.Web.Services.WebMethod(Description = "…")]WSLS.Services.GTS.CRUDS200403.Status Subscribe(System.Xml.XmlElement subscribeContext);

[System.Web.Services.WebMethod(Description = "...")]WSLS.Services.GTS.CRUDS200403.Status Unsubscribe(System.Xml.XmlElement unsubscribeContext);

[System.Web.Services.WebMethod(Description = "...")]System.Xml.XmlElement GetDeviceCard(System.Xml.XmlElement deviceContext);

Page 8: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <8>

STAIVE (2)STAIVE (2)

<xs:element name ="VarContext" type ="fdx:VarContext"/><xs:complexType name="VarContext"> <xs:sequence> <xs:element ref="dc:Identifier" minOccurs="1" maxOccurs="1" /> </xs:sequence></xs:complexType>

<xs:element name ="VarContext" type ="fdx:VarContext"/><xs:complexType name="VarContext"> <xs:sequence> <xs:element ref="dc:Identifier" minOccurs="1" maxOccurs="1" /> </xs:sequence></xs:complexType>

Page 9: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <9>

STAIVE (3)STAIVE (3)

<xs:element name="InvokeContext" type="fdx:InvokeContext"/><xs:complexType name="InvokeContext"> <xs:sequence> <xs:element ref="dc:Identifier" minOccurs="1" maxOccurs="1" /> <xs:element name="InvokeParamter" type="fdx:InvokeParameter" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence></xs:complexType>

<xs:complexType name="InvokeParameter"> <xs:sequence> <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1"/> </xs:sequence></xs:complexType>

<xs:element name="InvokeContext" type="fdx:InvokeContext"/><xs:complexType name="InvokeContext"> <xs:sequence> <xs:element ref="dc:Identifier" minOccurs="1" maxOccurs="1" /> <xs:element name="InvokeParamter" type="fdx:InvokeParameter" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence></xs:complexType>

<xs:complexType name="InvokeParameter"> <xs:sequence> <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1"/> </xs:sequence></xs:complexType>

Page 10: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <10>

STAIVE (4)STAIVE (4)

<xs:element name="SubscribeContext" type="fdx:SubscribeContext"/><xs:complexType name="SubscribeContext"> <xs:sequence> <xs:element name="Event" type="fdx:SubscriptionIdentifier"/> <xs:element name="Callback" type="fdx:Callback"/> </xs:sequence></xs:complexType>

<xs:complexType name ="Callback"> <xs:sequence> <xs:element name="Location" type="xs:anyURI"/> <xs:element ref ="fdx:InvokeContext"/> </xs:sequence></xs:complexType>

<xs:element name="SubscribeContext" type="fdx:SubscribeContext"/><xs:complexType name="SubscribeContext"> <xs:sequence> <xs:element name="Event" type="fdx:SubscriptionIdentifier"/> <xs:element name="Callback" type="fdx:Callback"/> </xs:sequence></xs:complexType>

<xs:complexType name ="Callback"> <xs:sequence> <xs:element name="Location" type="xs:anyURI"/> <xs:element ref ="fdx:InvokeContext"/> </xs:sequence></xs:complexType>

Page 11: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <11>

STAIVE (5)STAIVE (5)

<xs:element name="UnsubscribeContext" type="fdx:UnsubscribeContext"/><xs:complexType name="UnsubscribeContext"> <xs:sequence> <xs:element name="Event" type="fdx:SubscriptionIdentifier"/> <xs:element name="Callback" type="fdx:SubscriptionIdentifier"/> </xs:sequence></xs:complexType>

<xs:element name="UnsubscribeContext" type="fdx:UnsubscribeContext"/><xs:complexType name="UnsubscribeContext"> <xs:sequence> <xs:element name="Event" type="fdx:SubscriptionIdentifier"/> <xs:element name="Callback" type="fdx:SubscriptionIdentifier"/> </xs:sequence></xs:complexType>

Page 12: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <12>

STAIVE (6)STAIVE (6)

<xs:element name="DeviceContext" type="fdx:DeviceContext" /><xs:complexType name="DeviceContext" > <xs:sequence> <xs:element ref="dc:Identifier" minOccurs="1" maxOccurs="1"/> </xs:sequence></xs:complexType>

<xs:element name="DeviceContext" type="fdx:DeviceContext" /><xs:complexType name="DeviceContext" > <xs:sequence> <xs:element ref="dc:Identifier" minOccurs="1" maxOccurs="1"/> </xs:sequence></xs:complexType>

Page 13: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <13>

FDX (1)FDX (1)

Web service

STAIVE

DeviceData

Invoke

PhidgetListener

(Un-)Subscribe

Notify

.NET Wrapper

Phidgets.dll

Template

sSubscriptionList

Page 14: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <14>

FDX (2)FDX (2)

<xs:element name="Device" type="fdx:Device"/><xs:complexType name="Device"> <xs:complexContent> <xs:extension base="core:Entity"> <xs:sequence> <xs:element name="Location" type="xs:anyURI" minOccurs="1" maxOccurs="1"/> <xs:element name="Metadata" type="fdx:Metadata" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="SubDevice" type="fdx:Device" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="Function" type="fdx:Function" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="StatusVariable" type="fdx:StatusVariable" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="Event" type="fdx:Event" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent></xs:complexType>

<xs:element name="Device" type="fdx:Device"/><xs:complexType name="Device"> <xs:complexContent> <xs:extension base="core:Entity"> <xs:sequence> <xs:element name="Location" type="xs:anyURI" minOccurs="1" maxOccurs="1"/> <xs:element name="Metadata" type="fdx:Metadata" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="SubDevice" type="fdx:Device" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="Function" type="fdx:Function" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="StatusVariable" type="fdx:StatusVariable" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="Event" type="fdx:Event" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent></xs:complexType>

Page 15: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <15>

FDX (3)FDX (3)

Page 16: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <16>

Infrastruktur (1)Infrastruktur (1)WAM Service

CRUDS

DeviceCard RegistryCRUDS

Event/Invoke PipeCRUDS + STAIVE

WAM ServiceCRUDS

DeviceCard RegistryCRUDS

Event/Invoke PipeCRUDS + STAIVE

Page 17: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <17>

Infrastruktur (2)Infrastruktur (2)

Page 18: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <18>

Infrastruktur (3)Infrastruktur (3)<DeviceCardRegistry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ... <Device> <Identifier xmlns="http://purl.org/dc/elements/1.1/">urn:sdfid:8e3f2956-5d0c-4fb2-bbc4 ... <Title xmlns="http://purl.org/dc/elements/1.1/">PhidgetTextLCD S/N:14916</Title> <Location>http://localhost:6118/Phidgets/Service.asmx</Location> <Function> <Identifier /> <Name>SetText</Name> <Parameter> <Type>String</Type> <Name>TextLine1</Name> <Direction>In</Direction> </Parameter> ... <StatusVariable> <Identifier /> <Type>String</Type> <Name>SerialNumber</Name> </StatusVariable> </Device> <Device> <Identifier xmlns="http://purl.org/dc/elements/1.1/">urn:sdfid:b354ee94-fd8d-4c11-b49d ... <Title xmlns="http://purl.org/dc/elements/1.1/">PhidgetInterfaceKit S/N:13358</Title> <Location>http://localhost:6118/Phidgets/Service.asmx</Location> <Event> <Identifier /> <Name>OnSensorChange</Name> <Parameter> <Type>Integer</Type> <Name>Index</Name> <Direction>Out</Direction> </Parameter> ... </Event> </Device></DeviceCardRegistry>

<DeviceCardRegistry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ... <Device> <Identifier xmlns="http://purl.org/dc/elements/1.1/">urn:sdfid:8e3f2956-5d0c-4fb2-bbc4 ... <Title xmlns="http://purl.org/dc/elements/1.1/">PhidgetTextLCD S/N:14916</Title> <Location>http://localhost:6118/Phidgets/Service.asmx</Location> <Function> <Identifier /> <Name>SetText</Name> <Parameter> <Type>String</Type> <Name>TextLine1</Name> <Direction>In</Direction> </Parameter> ... <StatusVariable> <Identifier /> <Type>String</Type> <Name>SerialNumber</Name> </StatusVariable> </Device> <Device> <Identifier xmlns="http://purl.org/dc/elements/1.1/">urn:sdfid:b354ee94-fd8d-4c11-b49d ... <Title xmlns="http://purl.org/dc/elements/1.1/">PhidgetInterfaceKit S/N:13358</Title> <Location>http://localhost:6118/Phidgets/Service.asmx</Location> <Event> <Identifier /> <Name>OnSensorChange</Name> <Parameter> <Type>Integer</Type> <Name>Index</Name> <Direction>Out</Direction> </Parameter> ... </Event> </Device></DeviceCardRegistry>

Page 19: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <19>

Infrastruktur (4)Infrastruktur (4)WAM Service

CRUDS

DeviceCard RegistryCRUDS

Event/Invoke PipeCRUDS + STAIVE

WAM ServiceCRUDS

DeviceCard RegistryCRUDS

Event/Invoke PipeCRUDS + STAIVE

Page 20: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <20>

Infrastruktur (5)Infrastruktur (5)

B

F GL

H

C

Abos Event 2 bei FDX-1

J

A

E

D

K

I

M

Abos Event 1 bei FDX-1

Abarbeitung bei Event 1 Abarbeitung bei Event 2

Geordnete Abarbeitung durch Event/Invoke Pipe

Page 21: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <21>

Home Center (1)Home Center (1)

Page 22: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <22>

Home Center (2)Home Center (2)

Page 23: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <23>

Home Center (3)Home Center (3)

Page 24: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <24>

Home Center (4)Home Center (4)

Page 25: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <25>

ZusammenfassungZusammenfassungSTAIVE

Generische Schnittstelle à la CRUDS

FDXWeb-basierte Management Komponenten

Infrastruktur DiensteWAM Service, DeviceCard Registry, Event/Invoke Pipe

STAIVEGenerische Schnittstelle à la CRUDS

FDXWeb-basierte Management Komponenten

Infrastruktur DiensteWAM Service, DeviceCard Registry, Event/Invoke Pipe

Page 26: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Andreas Heil | 31. Januar 2006 <26>

AusblickAusblickWeitere FDX

UPnP FDX

WMCE ErweiterungWSLS Integration (IFrames)

Weitere FDXUPnP FDX

WMCE ErweiterungWSLS Integration (IFrames)

Page 27: Foederiertes Geraete- und Dienstmanagement mit Web-Technologien

Forschungsgruppe IT-Management und Web EngineeringInstitut für TelematikUniversität Karlsruhe (TH)

Vielen Dank für Ihre Aufmerksamkeit!

Fragen, Anmerkungen, …?