Building the Environment for the Things as a Service
description
Transcript of Building the Environment for the Things as a Service
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