Quantified Self ist die Messung, Protokollierung und in der Regel das Teilen von Gesundheits- und Fitnessdaten mit anderen über einen gewissen Zeitraum durch Verwendung von Sensoren - zur Förderung eines gesünderen Lebensstils, um fit zu bleiben oder Gewicht zu verlieren. Andere Anwendungsfälle sind Messung von Blutzuckerspiegel, Puls oder Herzfrequenz - die Grenzen zwischen Freizeit/Fitness und Gesundheitswesen sind hier oft fließend.
Diese Session bietet einen Überblick zu populären Fitness-Geräten, APIs, Fitness- und IoT-Portalen. Deren Anbindung durch Agorava, das Social Framework auf Basis von CDI, JAX-RS, JSON und OAuth. Dank paralleler Unterstützung mehrerer APIs ermöglicht Agorava nicht nur, Freunde bei Fitbit, Strava, Twitter oder Facebook über die Leistungen zu informieren, sondern auch etwa bei Foursquare auf der Strecke einzuchecken.
27. Social Media Standards
Maybe...
27
• Alle gängigen Social Media Dienste
nutzen REST als Übertragungsprotokoll
• Die meisten übertragen Daten im JSON
Format, einige nutzen XML o.dgl.
• Identifikation & Authentifizierung basieren
fast überall auf dem OAuth Protokoll
28. Maybe...
28
REST
• REpresentational State Transfer : Aufrufe
von Ressource Ansichten (customer, book,
order, exercise,…)
• REST basiert auf low level HTTP
• Jede Ressource hat eindeutige ID (URI). 4
HTTP Verben können auf URI angewendet
werden: GET, POST, PUT, DELETE
• Java REST Standard: JAX-RS. Version 1.0
enthielt kein Client API, JAX-RS 2.0 schon.
30. 30
OAuth
• OAuth ist ein Protokoll, das den Zugriff
auf eine Applikation von eine anderen aus
regelt, für einen Benutzer, der die Rechte
gewährt hat, ohne dafür Benutzername
oder Passwort preiszugeben.
• Ursprünglich entwickelt von Twitter,
Magnolia und Google, wurde es April
2010 als IETF Standard RFC 5849
anerkannt.
31. 31
OAuth (2)
• Version 2.0, einfacher, aber oft für zu viele
Implementationen kritisiert wurde im
Oktober 2012 unter RFC 6749 und 6750
standardisiert. Und ist bereits weit verbreitet
(Facebook, Google, Microsoft,…)
• Alle Social Media Dienste basieren auf
OAuth 1.0a oder 2.0.
• Um OAuth zu nutzen, muss man eine
Applikation im Zielsystem deklarieren als
Einstiegspunkt für den Benutzer
33. 33
Agorava Makroarchitektur
– Agorava core ist das
«smart module» des
Frameworks
– Module umfassen u.A.
REST API und JSON
Mapping
– Agorava nutzt die volle
CDI Implementation
– In Arbeit ab 0.7 sind:
• Java SE Support (z.B. CDI 2)
• Unterstützung von JSR 330
(Guice / Dagger, bei Bedarf auch
Spring)
34. “A coordinated observation infrastructure composed of a distributed collection of
resources that can collectively behave as a single, autonomous, task-able,
dynamically adaptive and reconfigurable observing system that provides raw and
processed data, along with associated meta-data, via a set of standards-based
service-oriented interfaces.” (Glenn, 2007)
Sensor Web | Was ist das?
34
35. OGC Sensor Web Enablement
• SensorML
• O&M
• TransducerML
• GeographyML
Web Services
• Web Services Description Language
• REST
National Institute for Standards
and Technology
• Semantic Interoperability Community
of Practice
• Sensor Standards Harmonization
W3C Semantic Web
• Resource Description Framework
• RDF Schema
• Web Ontology Language
• Semantic Web Rule Language
• SAWSDL
• SA-REST
• SML-S
• O&M-S
• TML-S
Sensor
Ontology
Sensor
Ontology
Daten Standards
Unicode Consortium
• CLDR
• ICU4J
Units
UCUM/Regenstrief
• Unified Code for Units of Measure
35
37. 37
Agorava Buch
–Das erste Agorava
Buch ist für das 1.
Halbjahr 2016 zur
Veröffentlichung
geplant.
(Amazon, Google
Play!, iTunes, etc.)
38. Fazit
• Zahlreiche API Anbieter werfen (Java)
Entwicklern Steine in den Weg
– Kommerzielle Zertifizierung oder hohe
Lizenzgebühren bevor Entwicklung möglich
– APIs oft für SE/Desktop/Android
maßgeschneidert
– Bot- oder Malware-Blocker missverstehen
legitime Java EE Anwendungen als potentielle
Angreifer
– „OAuth Hell“