View
312
Download
1
Category
Preview:
Citation preview
Fitness-Geräte und -Portale mit Java EE und Agorava
QUANTIFIED SOCIAL
Werner Keil@wernerkeil
Überblick• Einführung• Smart Home• Quantified Self• Fitness Geräte und Portale• APIs• Standards• Demos• Fazit / Q&A
2 © 2012-2016 Creative Arts & Technologies
Werner Keil | Bio• Consultant – Coach• Creative Cosmopolitan• Software Architekt• Java Godfather• JCP Executive Committee Member• Unit JSR (363) Spec Lead• Agorava Mitbegründer• DevOps Guy
@wernerkeil
Internet der DingeTransportation & Logistics Logistics
Medical &Healthcare
Industrial &EnergyCommunication
Infrastructure
Security & Surveillance
Internetof Things
4 © 2007-2015 Creative Arts & Technologies, Eclipse Foundation. Made available under EPL 1.0
Smart Home | Tür an Tür
5 © 2012-2015 Creative Arts & TechnologiesBild: ARD Degeto/NDR/Marc Meyerbroeker
Smart Home | Realität
6 © 2012-2015 Creative Arts & Technologies
Nest Thermostat
7 © 2012-2015 Creative Arts & Technologies Bild: Google
Quantified Self
8 © 2013-2015 Creative Arts & Technologies
IoT | Gesundheit/Fitness
CommunicationInfrastructure
SmartPill
Boxes
HeartbeatSensor
WeightScales
BloodPressure
MedicalSmart
ServicesGateway
Near field
BloodSugar
Internetof Things
9 © 2007-2015 Creative Arts & Technologies, Eclipse Foundation. Made available under EPL 1.0
• Herzfrequenz Monitor – Fern-bedienbar durch
Geräte wie Google Glass oder MobilemBrowser Ihrer Wahl
• In der Java EmbeddedChallenge bei JavaOne
10 © 2013-2015 Creative Arts & Technologies
Heart of GlassJavaOne 2013
• Raspberry Pi | Things API | Unit-API• RXTX (gnu.io)• Polar Herzfrequenzmesser• Java EE | HTML 5 (Tomcat/Glassfish)• Google Glass (bevorzugt) oder anderes
Web-fähiges Mobilgerät11 © 2013-2015 Creative Arts & Technologies
Heart of Glass InternaVerwendete Technologien
Demo
Wearables
13 © 2013-2015 Creative Arts & Technologies Bild: HDWallpaperImages.com
Smart Watch
14 © 2012-2015 Creative Arts & Technologies Bild: L'Atelier
Top 5 GeräteherstellerRang Hersteller 2Q15
Verkauft
2Q15 Anteil
2Q14 Verkauft
2Q14 Anteil
Steigerung
1 Fitbit 4,4 24,3% 1,7 30,4% 158,8%2 Apple 3,6 19,9% 0 0,0% Neuzugang3 Xiaomi 3,1 17,1% 0 0,0% Neuzugang4 Garmin 0,7 3,9% 0,5 8,9% 40%5 Samsung 0,6 3,3% 0,8 14,3% -25%
Andere 5,7 31,5% 2,6 46,4% 119,2%Gesamt 18,1 100,0% 5,6 100,0% 223,2%
15 © 2012-2016 Creative Arts & TechnologiesQuelle: IDC Worldwide Quarterly Wearable Device Tracker, August 27, 2015
Verkaufte Einheiten in Millionen
Top Betriebssysteme
16 © 2012-2016 Creative Arts & Technologies Quelle: Business Wire
Geräte VergleichGerät/Hersteller
Kompatibilität Datenkontrolle
Anmerkungen
Apple Nur Apple Produkte/OS -1Fitbit Windows, Mac, Android,
iOS0 Allergien bei manchen
BändernGarmin Windows, Mac, Android,
iOS+2
Jawbone iOS, Android rudimentär -2 Ladeprobleme (UP1)LG Android -2Motorola Android -2Polar Windows, Mac +1Samsung Nur Samsung Produkte -3Sony Android -2Suunto Windows, Mac, Android,
iOS+2
Withings Android, iOS 0Intel/Basis Android, iOS 0
17 © 2012-2016 Creative Arts & Technologies
Gesundheitsportale
18 © 2013-2015 Creative Arts & Technologies Bild: HealthDay
Apple Health
19 © 2014-2015 Creative Arts & Technologies Bild: Apple
Fitbit
20 © 2013-2015 Creative Arts & Technologies Bild: fitbit
Google Fit
21 © 2014-2015 Creative Arts & Technologies Bild: Google
Runtastic
22 © 2013-2015 Creative Arts & Technologies Bild: Runtastic
RunKeeper
23 © 2013-2016 Creative Arts & Technologies Bild: RuntKeeper
Strava
24 © 2013-2015 Creative Arts & Technologies Bild: Singletrack Magazine
Portal VergleichPortal API Kompatibilität Datenkontroll
eAnmerkungen
Apple Health
? Nur Apple Produkte -1
Endomondo
? Geräte-abhängig 0 Herstellerneutral
Fitbit Ja Windows, Mac, Android, iOS
0
Garmin Via Strava
Windows, Mac +2
Google Fit Ja Zumeist Android Geräte -3 HerstellerneutralJawbone Ja Zumeist iOS -1Polar Nein Windows, Mac, Linux +1RunKeeper Ja Geräte-abhängig +1 HerstellerneutralRuntastic Nein Geräte-abhängig 0 HerstellerneutralStrava Ja Geräte-abhängig 0 HerstellerneutralSuunto Via
StravaWindows, Mac +2
Withings Ja Windows, Mac, Android, iOS
0
25 © 2012-2016 Creative Arts & Technologies
Top 10 APIsPortal Trend LinkApple Health - http://www.programmableweb.com/api/apple-healthkitFitbit + http://www.programmableweb.com/api/fitbitRunKeeper Graph + http://www.programmableweb.com/api/runkeeper-health
-graphNike+ - http://www.programmableweb.com/api/nike-plusWithings + http://www.programmableweb.com/api/withingsGoogle Fit + http://www.programmableweb.com/api/google-fit-restJawbone Up - http://www.programmableweb.com/api/jawboneMapMyFitness + http://www.programmableweb.com/api/mapmyfitnessMoves - http://www.programmableweb.com/api/movesWahoo Fitness - http://www.programmableweb.com/api/wahoo-fitness
26 © 2012-2016 Creative Arts & Technologies Quelle: Programmable Web
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
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.
Maybe...
29
JSON 1: { 2: "firstName": "John", 3: "lastName" : "Smith", 4: "age" : 25, 5: "address" : 6: { 7: "streetAddress": "21 2nd Street", 8: "city" : "New York", 9: "state" : "NY",10: "postalCode" : "10021"11: },12: "phoneNumber":13: [14: {15: "type" : "home",16: "number": "212 555-1234"17: },18: {19: "type" : "fax",20: "number": "646 555-4567"21: }22: ]23: }
• JavaScript Object Notation: Von JavaScript inspiriertes Datenformat. Wurde zum de-facto Standard für APIs und Online Dienste wie Social Media.
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
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 aufOAuth 1.0a oder 2.0.
• Um OAuth zu nutzen, muss man eine Applikation im Zielsystem deklarieren als Einstiegspunkt für den Benutzer
32
OAuth umfasst 3 Schritte• Erstellen einer Anwendung
einem OAauth Service• Initialisierung: Rechtegewährung
auch OAuth “Tanz” genannt. An dessen Ende erhält man einenAccess Token (aus öffentlichem und geheimem Teil bestehend) für die
• Signatur: Jeder Aufruf wird mit dem Access Token verschlüsselt um die OAuth Anwendung zu identifizieren
Bild © 2003 Universal Pictures. All Rights Reserved.
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)
“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
OGC Sensor Web Enablement• SensorML• O&M• TransducerML• GeographyML
Web Services• Web Services Description
Language• REST
National Institute for Standards and Technology• Semantic Interoperability
Communityof 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
Demo
37
Agorava Buch–Das erste Agorava
Buch ist für das 1. Halbjahr 2016 zur Veröffentlichung geplant. (Amazon, Google Play!, iTunes, etc.)
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“
Links• UOM @ GitHub:
http://unitsofmeasurement.github.io• Ich @ GitHub:
http://www.github.com/keilw• Agorava:
http://www.agorava.org
• Twitter: @wernerkeil
Recommended