Java Aktuell 2-2016 | 15 Beacons
Total Page:16
File Type:pdf, Size:1020Kb
02-2016 | Sommer | www. ijug.eu aktuell JavaPraxis. Wissen. Networking. Das Magazin für Entwickler Aus der Community — für die Community aktuell Java ISSN 2191-6977 Benelux: EUR 5,80 CH: 9,80 CHF 9,80 CH: A: 5,60 EUR 5,60 A: D: 4,90 EUR 4,90 D: 02 Sicherheit Richtig testen Richtig entwickeln • Social Login Statische Lösung mit 304903 • Single Sign-on Code-Analyse JavaFX und JVx iJUG 191978 Verbund 4 Inhalt 8 32 Neues von der JavaOne Die gängigsten Open-Source-Tools zur Code-Analyse im Praxis-Einsatz 3 Editorial 24 Don‘t Repeat Yourself mit 49 Frontend-Entwicklung mit parametrisierten Tests ClojureScript und Bennet Schulz React/Reacl 5 Das Java-Tagebuch Michael Sperber Andreas Badelt 26 Grundlagen des Batch Processing mit Java EE 7 55 Grundlagen und Patterns von reaktiven 8 JavaOne 2015: Philipp Buchholz Anwendungen am Beispiel von Vert.x Java ist weiter auf einem guten Kurs und Reactor Wolfgang Taschner Martin Lehmann 32 Statische Code-Analyse – den Fehlern auf der Spur 10 Development, Deployment und Andreas Günzel 60 Effiziente Software-Entwicklung mit Management mit dem Oracle-Java- JavaFX und JVx Cloud-Service Roland Hörmann Marcus Schröder 37 Modulare Web-Anwendungen mit Java – Theorie und Praxis Jan Paul Buchwald 63 Elasticsearch – ein praktischer Einstieg 14 Leuchtfeuer in Innenräumen: gelesen von Daniel Grycman Micro-location-based Services mit Beacons 41 DukeCon – das Innere der Constantin Mathe und Bernd Müller JavaLand-App 65 Single Sign-on mit Keycloak Gerd Aschemann Sebastian Rose 19 Social Login mit Facebook, Google und Co. Georgi Kehaiov, Nadina Hintz und Stefan 46 Groovy und Grails – quo vadis? 70 Impressum Bohm Falk Sippach 70 Inserentenverzeichnis 55 Reaktive Anwendungen mit asynchronen, Event-getriebenen Architekturen gewinnen stark an Bedeutung 4 | Beacons Leuchtfeuer in Innenräumen: Micro-location-based Services mit Beacons Constantin Mathe und Bernd Müller, Ostfalia Mithilfe sogenannter „Beacons“ verschmilzt das Internet mit der direkten Umgebung des Benutzers. Die Beacon-Technologie wird in den nächsten Jahren grundlegend neue Möglichkeiten entstehen lassen, um mit dem Internet und der direkten Umwelt zu interagieren. Die Konzerne Apple und Google prognostizieren einen Zuwachs von Beacons in Millionenhöhe für die nahe Zukunft. Doch was verbirgt sich hinter Beacons und den angepriesenen Vorteilen für den Anwender? Stellen Sie sich vor, Sie stehen in einem Mu- Location Based Services/ oder einer Hochschule befindet. Doch wenn seum und erhalten automatisch die passen- Micro-Location es darum geht zu ermitteln, ob man vor der den Informationen über das entsprechende Welche Möglichkeiten ergeben sich, wenn wir Obsttheke oder der Fleischtheke, im Kinosaal Exponat oder bekommen beim Aufenthalt in in der Lage wären, mithilfe unseres Smart- A oder B oder im Hörsaal für Mathematik oder einem Bahnhof Informationen über mögliche phones direkt mit unserer näheren Umge- Informatik steht, hört es mit der Genauigkeit Reisemöglichkeiten direkt auf Ihr Smart- bung zu interagieren? Es ist längst kein Pro- von GPS und Mobilfunkzellen auf. Hier beginnt phone. All dies und viel mehr ist bereits heute blem mehr, über GPS und andere Sensoren „Micro-Location“ interessant zu werden. mit Beacons möglich. Dieser Artikel führt den ungefähren Standort des Benutzers zu Um kontextbezogene Dienste in diesem die zugrunde liegende Technologie ein und ermitteln. Mit aktuellen Smartphones ist es Genauigkeitsbereich anzubieten, muss das zeigt exemplarisch, wie sie verwendet wer- etwa ohne Probleme möglich zu erkennen, Smartphone die Möglichkeit besitzen, den den kann. ob man sich in einem Supermarkt, einem Kino Benutzer auf wenige Zentimeter genau zu 14 | iii iii iiiiii www.ijug.eu lokalisieren. Location-based Services werden tion des Beacon sowie eine Empfangsstärke zu Micro-Location-based Services. Ziel ist es, (Received Signal Strength Indicator, RSSI). Ein dem Benutzer anhand seiner exakten Posi- Beacon selbst ist nicht in der Lage, Inhalte tion die Interaktion mit seiner unmittelbaren auszuliefern oder Benutzer zu lokalisieren und Umgebung zu ermöglichen. Diese Contextual zu verfolgen. Es liegt also an uns Entwicklern, Services hängen damit mit der aktuellen Visi- mithilfe von Anwendungen das gewünschte on des Physical Web zusammen und sind ein Verhalten zu realisieren. zentraler Baustein zu dessen Verwirklichung. Da es sich bei Bluetooth um ein grundle- Zur Veranschaulichung der Möglichkeiten gend offenes Protokoll handelt, wird BLE bei vergleichen wir die aktuell gängigen und ver- iOS ab Version 7 und bei Android ab der Ver- wendeten Technologien. Mittels GPS sind wir sion 4.3 unterstützt. Alle aktuell verfügbaren Abbildung 1: Lokalisierung entsprechend den Technologien in der Lage, bis auf etwa zehn Meter genau Mobilgeräte mit Bluetooth unterstützen damit eine Position zu bestimmen. Diese Genauigkeit den Standard von Haus aus. Aktuelle Compu- ermöglicht Dienste, die für die oben genannten ter sind ebenfalls BLE-fähig. Die neueren Ver- beispielsweise die UUID „B9407F30-F5F8- Beispiele der Lokalisierung von Supermarkt, sionen von Windows, OS X und Linux haben die 466E-AFF9-25556B57FE6D“. Kino oder Hochschule sinnvoll sind. entsprechenden Treiber eingebaut. Zusätzlich besitzt jedes Beacon eine Ma- Eine GPS-Ortung funktioniert in vielen Die Anwendungsszenarien von Beacons jor- und eine Minor-ID. Diese werden ver- Fällen mehr schlecht als recht. Zum Beispiel sind relativ breit gestreut: im Restaurant, wendet, um die Beacons bestimmten Zonen sind in größeren Gebäuden mit guter Isolati- Theater, Hotel, Schwimmbad, Arztpraxis, zuordnen zu können und somit einzelne Be- on kein GPS-Empfang und damit auch keine Krankenhaus, Universität, Supermarkt oder acons zu identifizieren. Laut offizieller Dar- entsprechenden Dienste-Angebote mög- Kino. Beacons lässt sich nahezu überall für stellung von Apple sollte die Major-ID zum lich. Eine andere Möglichkeit wäre WLAN. die Verbreitung unterschiedlichster Informa- Beispiel dazu verwendet werden, Beacons Damit lässt sich zwar eine Lokalisierung in tionen einsetzen. einem bestimmten Gebäude zuzuordnen. Gebäuden erreichen, allerdings ist diese Ge- Da im Gegensatz zu normalen Bluetooth- Die Minor-ID kommt dann zum Einsatz, um nauigkeit von rund fünfzig Metern für ent- Geräten bei Beacons keine Kopplung zwischen den Raum oder die entsprechende Etage ein- sprechende Dienste nicht ausreichend. den an der Kommunikation beteiligten Geräten deutig zu definieren. Die eigentliche Verwen- Genau hier füllt Bluetooth als Basis-Techno- stattfindet, kommt bei Beacons ein anderer dungsart steht aber jeder Anwendung frei. logie die Lücke zur Micro-Location. Mittels Bluetooth-Paket-Typ zum Einsatz. Es handelt Weiterhin wird in jedem Advertising- Bluetooth ist eine Ortsbestimmung bis auf sich um ein Advertising-Bluetooth-Package, Paket die Signalstärke mit ausgeliefert, so- wenige Zentimeter genau möglich. Wie das also ein Broadcast-Paket. Um die Größen-An- dass auf dieser Basis die Entfernung zum genau funktioniert, werden wir gleich sehen. forderungen eines einzelnen Pakets zu mini- Empfänger berechnet werden kann. Man Zur Verdeutlichung zeigt Abbildung 1 noch mieren, wurde ein hochkomprimiertes Format darf aber nicht vergessen, dass Beacons auf einmal die Lokalisierungsgenauigkeiten der definiert. Abbildung 2 zeigt den schematischen einem 2,4-Ghz-Kanal senden und somit re- angesprochenen Technologien im Überblick. Aufbau, den wir im Folgenden erläutern. lativ stark durch andere Funksignale gestört werden können. Insbesondere räumliche Wer Beacons erfunden hat iBeacon (Apple Standard) Hindernisse wie Möbel oder Personen be- Das englische Wort „Beacon“ bedeutet auf Der iBeacon-Standard [2] sieht im Wesent- einflussen das Signal ebenfalls. Deutsch „Leuchtfeuer, Leuchtturm oder Blink- lichen drei unterschiedliche IDs für ein Bea- Im Netz lassen sich zahlreiche Tests fin- licht“ und beschreibt einen von Apple im Jahr con vor. Hierzu gehört eine Identifikation des den, in denen die Genauigkeit von Beacons 2013 eingeführten Standard für die Navigation Beacon oder auch Proximity ID in Form einer unterschiedlicher Hersteller untersucht wird. in geschlossenen Räumen. Beacons senden UUID. Dahinter verbirgt sich eine 16-Byte- Eins lässt sich mit Sicherheit sagen: Die Ge- ein auf Bluetooth Low Energy (BLE) basieren- Zahl, die hexadezimal notiert und in fünf nauigkeit von Beacons hängt stark vom Her- des Signal aus, das von anderen BLE-fähigen Gruppen unterteilt wird. Eine solche UUID steller und der Bauweise sowie der Konfi- Geräten empfangen und von entsprechenden dient als Hersteller-Kennung und hilft somit, guration des Beacon ab. Parameter, wie die Anwendungen verarbeitet werden kann. Das unterschiedliche Hersteller zu unterscheiden. Sendestärke (Transmit Power) selbst und die übermittelte Signal enthält die Identifika- Der Beacon-Hersteller Estimote verwendet Wiederholungsfrequenz des Signals (Adver- tising Interval), haben eine große Auswirkung auf die Qualität des Signals. Beide Parameter haben auch großen Einfluss auf den Strom- verbrauch und damit die Batterie-Lebens- dauer. Das in iOS integrierte Framework von Apple bietet aufgrund der schlecht vorher- sagbaren Genauigkeit nur drei Abstufungen von Entfernung an: • Immediate (0-20 cm) • Near (20 cm – 2 m) Abbildung 2: Der schematische Aufbau • Far (2 – 7 m) Java aktuell 2-2016 | 15 Beacons Anhand dessen ist schon ersichtlich, dass Eddystone • UID-Frame eine genaue Angabe der Distanz zwischen Im Juni dieses Jahres kam von Google relativ • URL-Frame Beacon und Smartphone