Wir haben ein kleines Problem bei SnapLogic. Während wir einen verschwindend geringen Prozentsatz des Tages damit verbringen, uns süße Katzenvideos im Internet anzuschauen, scheint unser CEO dabei immer hinter unserem Schreibtisch aufzutauchen. Wenn wir doch nur wüssten, wann unser CEO in der Nähe ist und eine Benachrichtigung erhalten könnten, wenn er da ist.
Was wir also brauchen, ist eine IoT-Lösung, die in der Lage ist, die Bewegungen unseres CEOs zu verfolgen und sie an das Büro zu übermitteln. Kürzlich gab es ein Webinar zu diesem Thema, und wir haben in früheren Beiträgen die allgemeinen Schritte zur Erstellung einer Pipeline mit einem WiFi-IoT-Gerät (dem Particle.io Photon) besprochen. Die feinen Leute von Particle haben auch ein Gerät mit Mobilfunkverbindung namens Electron und eine GPS-Erweiterungskarte entwickelt. Die gleichen Prinzipien wie beim Photon gelten auch für den Electron - sobald die SIM-Karte installiert ist, gibt es keinen wirklichen Unterschied in der Entwicklung. Dieser Beitrag konzentriert sich auf die SnapLogic-Seite; weitere Informationen über den Mikrocontroller finden Sie im Webinar oder im Code-Repository.
Unser Gerät, das oben bei statischen Tests in einem Fenster zu sehen ist, veröffentlicht in regelmäßigen Abständen zwei Zeichenfolgen an die Particle-Cloud. Eine Zeichenkette enthält den aktuellen Breiten- und Längengrad des Trackers, die andere den Batterieladestand. Die Particle-Wolke löst dann einen Webhook aus, mit dem sie die empfangenen Daten an einen Websever sendet. Wir wollen zwei Dinge tun: (1) diese Daten in einer Datenbank für zukünftige Analysen speichern und (2) ein Licht aufleuchten lassen, wenn unser CEO zu nahe ist.
Unsere Datenbank befindet sich jedoch hinter einer Firewall und ist nicht öffentlich zugänglich. Mit SnapLogic ist das kein Problem. Wir nehmen die folgende Pipeline und machen sie zu einer ausgelösten Aufgabe, so dass sie mit den richtigen Anmeldedaten aus dem Internet aufgerufen werden kann. Wir stellen sicher, dass der Particle-Webhook über diese Anmeldeinformationen verfügt, und wenn ein Ereignis eintritt, wird diese Pipeline ausgelöst:
Hier sind mehrere Dinge im Gange:
- Mit dem Aufnahme-Wiedergabe-Schnappschuss (oben links) können wir die eingehenden Daten aufzeichnen und dann wiedergeben, so dass wir testen können, ohne auf das Gerät warten zu müssen.
- Der Response Code Snap (Mitte links) sendet sofort ein "200 Started OK" an den Webhook zurück, so dass er nicht auf den Abschluss der nachfolgenden Logik warten muss.
- Der Mapper (oben links) formatiert die eingehenden Daten, gibt sie an den Router weiter, der die Daten über verschiedene Verzweigungen weiterleitet, je nachdem, ob es sich um Informationen über den Standort oder den Ladezustand der Batterie handelt, und fügt sie schließlich in eine Datenbank ein. Diese Datenbank befindet sich hinter unserer Firewall; der Snaplex, auf dem die Pipeline ausgeführt wird, hat die Berechtigung, darauf zu schreiben, auch wenn er nicht direkt mit dem Internet verbunden ist. Dies ist eine sehr bequeme Methode, um Sicherheit und Zugänglichkeit zu gewährleisten.
- Der Copy Snap in der Mitte rechts nimmt die Standortdaten auf und sendet eine Kopie an Postgres sowie an die Light-Logik (siehe die eingekreiste 28, die sich bis zum Pipeline-Stub auf der linken Seite erstreckt). Diese Lichtlogik stammt aus dem bereits erwähnten LEAVE-Blogpost.
- Dieser Vier-Snap-Lauf hat drei Aufgaben: Er prüft, ob sich unser CEO in einem Umkreis von einer Meile um das Büro befindet, und berechnet den Hash-Wert, den das Licht benötigt; er lässt das Dokument passieren (den Filter), wenn der gemeldete Standort weniger als eine Meile entfernt ist; und dann erstellt er die Nutzlast und sendet sie an das Licht, das ein Particle Photon betreibt. Die Lichter blinken auf, und alle machen sich auf den Weg, um fleißig zu sein.
Und das ist auch schon alles, was ein batteriebetriebenes, mobiles Gerät braucht, um sich sicher mit Datenbanken und Geräten innerhalb der Firewall Ihres Unternehmens zu verbinden. Ermöglicht wird dies durch die jüngsten IoT-Hardware-Tools, die Webservices ähneln, und durch die Split-Control-Plane-/Data-Plane-Architektur von SnapLogic, mit der Sie Services in verschiedenen Sicherheitszonen auf sichere und kontrollierte Weise überbrücken können.
Es kann Sie auch vor Ärger mit Ihrem CEO bewahren.