Building the Environment for the Things as a Service GWS 2014 - Aalborg Sergio García (ATOS)

Post on 01-Apr-2015

213 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

Building the Environment forthe Things as a Service

GWS 2014 - AalborgSergio García (ATOS)

2

• Main Features for Mobile Apps– BETaaS Features– BETaas Benefits

• Developing a BETaaS Mobile App– Interactions with BETaaS– The Service Manager API– The Apps Manifest

• Mobile App Demo• Future Work• Conclusions

Mobile App Demo – Outline

3

• BETaaS provides features at Service, TaaS and Adaptation Layers Mobile Apps exploit the Service Layer

• Main Features provided at Service Layer:– Automatic allocation of resources Apps just

need to ask for ‘features’ to BETaaS– Transparent access to things Apps do not need to

know which things implement ‘features’– Big Data functionalities Apps will be able to

exploit data Under implementation

BETaaS Features

4

• BETaaS automatic allocation of resources:– Apps just need to list required features (temperature, presence,

etc…)– Apps may include non-functional requirements (QoS, Trust,

Security)– BETaaS performs an optimized allocation for the App

• Transparent access to things:– Apps do not need to know the concrete thing to be accessed

Just request the data for a ‘feature’– Resources re-allocation does not affect the app implementation

• In general, BETaaS allows exploiting any thing always using the same API, even in heterogeneous environments No need to interact at low-level

BETaaS Benefits

5

Interactions with BETaaS

Install App

App Id

Get services IDs

Services IDs

Get Data

Data

Set Data

OK/KO

Get Data

Data

Set Data

OK/KO

Step 1 – Install Application

Step 2 – Use Resources

6

The Service Manager API

• The Service Manager component is the access point for apps:– SOAP API accessible externally– It publishes all the needed methods for interacting

boolean unregister(String arg0,String arg1)boolean uninstallApplication(String arg0,String arg1)boolean register(String arg0,String arg1)String getTaskData(String arg0,String arg1)String installApplication(String arg0)String test(String arg0)String getThingServiceData(String arg0,String arg1)

7

The Apps Manifest (I)

• The Manifest contains information about:– Requested features and the location– Non-functional requirements– Other general indications (i.e. BETaaS version, app

name…)

• It is a XML formatted file Inspired by Android app manifest

8

The Apps Manifest (II)

• Requested ‘features’:– Kind of feature (presence, temperature, etc…)– Location in which it will happen– Mode (pull/push)

<?xml version='1.0'?><manifest>

<Application><name>TestPresence</name><notificationAddress>{device IP}</notificationAddress>

</Application> <ServiceDescriptionTerm>

<ServiceDefinition><Feature>presence</Feature><Areas>

<Area>home</Area></Areas><Delivery>betaas.delivery.RTPULL</Delivery>

9

The Apps Manifest (III)

• Non-functional requirements:– Associated to a requested feature– Mainly, QoS requirements

<Trust>0.9</Trust><QoS>

<maxDelaySec>5</maxDelaySec></QoS><credentials>fonwon2vlxkfwoi2309s</credentials>

</ServiceDefinition></ServiceDescriptionTerm>

</manifest>

10

The Apps Manifest (& IV)

• General indications:– Service name– SDK version (BETaaS firmware version)

<wsag:ServiceDescriptionTerm

wsag:Name="BETaaS gateway"

wsag:ServiceName="Gateway01">

<betaas:GatewayDefinition>

<GatewayDefinition>

<SDKVersion>4.0</SDKVersion>

</GatewayDefinition>

<betaas:GatewayDefinition>

</wsag:>

11

Mobile App Demo

12

Future Work

• Full implementation of modes :– PUSH mode still not available, but under development– Set methods for actuators under development

• Provide a way to enable PUSH mode in mobile devices (i.e. Google Cloud Messaging)

• Facilitate a REST interface, alternative to the SOAP one More usable from mobile devices

• Provide a library which will simplify the coding of apps

13

Conclusions

• BETaaS provides a way for mobile applications to interact with things in the environment seamlessly

• Interactions with a BETaaS Instance are not too complicated (only requiring one especial step for installing the app)

• BETaaS abstracts applications from the physical layer allowing re-allocation of things without changes in apps

• Usage of a App Manifest for requesting ‘features’ and the quality levels required

14

Thanks for your attention!!

More information at:http://www.betaas.eu

16

BETaaS Ontologies

top related