K2 Everything! REST Broker mit IFTTT & Maker Service nutzen

Heutzutage kommt man in meinem Umfeld um bestimmte Themen ja nicht mehr herum – Mobile, LowCode, Cloud, IoT etc. Mit diesem Beitrag will ich kurz erklären, wie man heute bereits verschiedenste Schnittstellen als K2 SmartObject integrieren kann.

Dabei verwende ich bewusst keine alten “Klassiker” wie SharePoint, SQL oder CRM sondern habe mich für ein Beispiel entschieden, das momentan einem relativ starken Hype ausgesetzt ist und zudem representativ für IoT steht: IFTTT (If This Then That – www.ifttt.com).

Abstrahiert kann man IFTTT an dieser Stelle eigentlich gegen jeden beliebigen Dienst austauschen, der standardiesierte Schnittstellen im Internet bereitstellt – in diesem Fall via REST. Warum? REST ist der de facto Standard im Web und ermöglicht mir außerdem ohne Verwendung von Server-side Code zu integrieren. K2 setzt hierbei auf den Swagger Standard für die Dienstbeschreibung. Dementsprechend benötigt man für die Anbindung via REST Broker ein sog. Swagger-File. Diese Datei beschreibt die Servicestruktur, Objekte und Parameter für den Aufruf, diese Eigenschaften werden von dem Broker dann in K2 SmartObjects übersetzt. Aber was genau von IFTTT will ich eigentlich nutzen?

Auf IFTTT gibt es den Maker Service. Diesen Service kann man als generisches Event Hub betrachten, das von jedem Gerät oder von jeder App genutzt werden kann – vorausgesetzt es ist möglich Web Requests zu tätigen. Per Web Request kann man dann ein IFTTT Event auslösen (IF THIS) und danach praktisch jede beliebige Funktion ausführen (THEN THAT), z.B. Device Notifications senden, Dateien erstellen, Twittern, Facebook aktualisieren oder auch andere “smarte” Geräte steuern, wie z.B. Hue Lampen.

Ein Trigger für den Maker Service ist denkbar einfach aufgebaut:

  • Eventname (z.B. “Licht an”, “Twittern” etc.)
  • 3 Optionale Parameter die man in den IFTTT Rezepten dann nutzen kann

Wie man die Swagger Datei aufbauen und integrieren kann, beschreibe ich hier #HowTo: Generische Swagger Datei für K2 REST Broker

Da man mit K2 Smartforms jedes SmartObject direkt ansprechen kann, habe ich mir kurz ein kleines Dashboard erstellt:

Wie man sieht, habe ich für LinkedIn, Facebook, Twitter, Hue und den Device Notification Service ein paar Views erstellt. Diese sind alle mit einem Button zum Auslösen des IFTTT Events ausgestattet und identisch konfiguriert:

Der Parameter “event” muss entsprechend der IFTTT / Maker Konfiguration gesetzt werden. Den Key habe ich in eine Servervariable ausgelagert – falls er sich ändert, muss ich somit nur die Variable anpassen. Der Rest funktioniert automatisch!

Beispiel LinkedIn:

 

 

 

Beispiel Facebook:

Beispiel Twitter:

Das besonders praktische an der generischen Swagger Datei ist, dass ich nun IFTTT Dienste hinzufügen und integrieren kann, ohne auch nur irgendetwas an der K2 Seite konfigurieren oder ergänzen zu müssen! Ich muss nur auf IFTTT ein Maker Applet erstellen und den Namen des “event” plus 3 optionale Variablen übergeben!