© Excellent backgrounds/Shutterstock.com
Teil 3: C treibt Java

Amazon IoT für Java


Amazon bietet Entwicklern umfangreiche Bibliotheken an, um mit Java-Ausführungsfähigkeit ausgestattete Hardware in die hauseigene Device Cloud zu bringen. Seit einiger Zeit liegt das SDK in einer neuen, zweiten Version vor.

Artikelserie

Teil 1: AWS IoT Device SDK for Java

Teil 2: Device Shadows/Device Twins

Teil 3: C treibt Java

Im Java Magazin 4.20 und Java Magazin 5.20 haben wir uns mit den Möglichkeiten des AWS Device SDK auseinandergesetzt. Es erleichtert Entwicklern die Integration von Hardware in die Cloud-Dienste – wer heute noch von Hand Daten sammelt oder auswertet, hat in den meisten Fällen eine ungünstige technische Position.

Unter Nichtberücksichtigung spezieller Ausnahmen gilt heute nämlich, dass ein kurzer Produktentwicklungszyklus wertvoller ist als ein effizienteres Produkt. Wer das nicht glaubt, kann sich sowohl den Pebble als auch den Palm IIIc ansehen: Beide Produkte waren technisch „effizienter“ als ihre Konkurrenten, boten aber wenige Funktionen und wurde im Lauf der Zeit – Stichwort Mooresches Gesetz – von mit mehr Funktionen ausgestatteten Kollegen überrollt.

Wieso Redesign?

In den letzten beiden Artikeln hatten wir – neben einer Evaluation der diversen Möglichkeiten von AWS – auch festgestellt, dass die Kommunikation per Java an sich ohne Probleme funktioniert. Im GitHub Repository der verwendeten Bibliothek fand sich einige Zeit lang der Hinweis, dass man diese nur noch mit Wartungsupdates versorgen würde – kurz vor der Fertigstellung dieses Artikels war er jedoch wieder verschwunden.

Amazon hat mit der AWS Common Runtime (AWS CRT) seit längerer Zeit eine Gruppe von in C gehaltenen Bibliotheken im Haus. Idee des – zumindest vorübergehend abgesagten – „Umsiedelns“ war, dass sich der Buchhändler so die eine oder andere Abhängigkeit aus dem Pelz schaffen konnte.

Die CRT-Bibliotheken implementieren diverse sinnvolle Kommunikationsaufgaben von MQTT bis HTTP – wer mehr über die verschiedenen Bibliotheken erfahren möchte, findet in Tabelle 1 eine kurze Übersicht. Angemerkt sei, dass der Großteil der Komponenten unter einer sehr liberalen Lizenz zur Verfügung steht und deshalb auch in eigenen Projekten hilfreich sein kann.

URL

Kurzbeschreibung

https://github.com/awslabs/aws-c-auth

Implementierung einer Client-Side-Authentifikation gegen einen AWS-Server

https://github.com/awslabs/aws-c-cal

Bereitstellung diverser kryptografischer Primitiva

https://github.com/awslabs/aws-c-http

HTTP-Kommunikationsbibliothek

https://github.c...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang