160 likes | 239 Views
Building the Environment for the Things as a Service. GWS 2014 - Aalborg Sergio García (ATOS). Mobile App Demo – Outline. Main Features for Mobile Apps BETaaS Features BETaas Benefits Developing a BETaaS Mobile App Interactions with BETaaS The Service Manager API The Apps Manifest
E N D
Building the Environment forthe Things as a Service GWS 2014 - Aalborg Sergio García (ATOS)
Mobile App Demo – Outline • Main Features for Mobile Apps • BETaaS Features • BETaasBenefits • Developing a BETaaS Mobile App • InteractionswithBETaaS • The Service Manager API • The Apps Manifest • Mobile App Demo • FutureWork • Conclusions
BETaaS Features • BETaaSprovidesfeatures at Service, TaaSandAdaptationLayers Mobile Apps exploittheServiceLayer • Main Features provided at Service Layer: • Automaticallocation of resources Apps justneed to askfor ‘features’ to BETaaS • Transparentaccess to thingsApps do notneed to knowwhichthingsimplement ‘features’ • Big Data functionalities Apps will be able to exploit data Underimplementation
BETaaS Benefits • BETaaSautomaticallocation of resources: • Apps justneed to listrequiredfeatures(temperature, presence, etc…) • Apps mayincludenon-functionalrequirements(QoS, Trust, Security) • BETaaSperformsanoptimizedallocationforthe App • Transparent access to things: • Apps do notneed to knowthe concrete thingto be accessed Justrequestthe data for a ‘feature’ • Resourcesre-allocationdoesnotaffectthe appimplementation • In general, BETaaSallowsexploitinganythingalwaysusingthesame API, even in heterogeneousenvironments No need to interact at low-level
InteractionswithBETaaS Step 1– InstallApplication Step 2 – Use Resources Install App App Id GetservicesIDs ServicesIDs Get Data Get Data Data Data Set Data Set Data OK/KO OK/KO
TheService Manager API • TheService Manager componentistheaccesspointfor apps: • SOAP API accessibleexternally • Itpublishesalltheneededmethodsforinteracting booleanunregister(String arg0,String arg1) booleanuninstallApplication(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)
The Apps Manifest (I) • TheManifestcontainsinformationabout: • Requestedfeatures and thelocation • Non-functionalrequirements • Other general indications (i.e. BETaaSversion, app name…) • Itis a XML formatted file Inspiredby Android app manifest
The Apps Manifest (II) • Requested ‘features’: • Kind of feature (presence, temperature, etc…) • Location in whichitwillhappen • 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> …
The Apps Manifest (III) • Non-functionalrequirements: • Associated to a requestedfeature • Mainly, QoSrequirements … <Trust>0.9</Trust> <QoS> <maxDelaySec>5</maxDelaySec> </QoS> <credentials>fonwon2vlxkfwoi2309s</credentials> </ServiceDefinition> </ServiceDescriptionTerm> </manifest>
The Apps Manifest (& IV) • General indications: • Servicename • SDK version (BETaaS firmware version)
Future Work • Full implementation of modes : • PUSH mode still not available, but under development • Set methodsforactuatorsunderdevelopment • 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 frommobiledevices • Provide a librarywhichwillsimplifythecoding of apps
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
Thanks for your attention!!More information at:http://www.betaas.eu