JavaLand: Quantified Social - Fitness-Geräte und -Portale mit Agorava

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