CoAP: Zusammenfassung der Spezifikation (high level)

Constrained Application Protocol (CoAP) CoAP ist ein Internet Anwendungsprotokoll, welches innerhalb der RFC 7252 spezifiziert wurde. Das Protokoll dient der Kommunikation von GerĂ€ten ‘Nodes’ z.B. embedded devices, die besonders wenig Energie verbrauchen (low-power) und in einem Netzwerk mit erhöhtem Datenverlußt (lossy networks) z.B. IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) zum Einsatz kommen. CoAP kann zusĂ€tzlich innerhalb Internet basierten Netzwerken zur mobilen Kommunikation via SMS verwendet werden. CoAP wird hauptsĂ€chlich im Rahmen von Internet of Things (IoT) und Machine-to-Machine (M2M) eingesetzt, da hier meistens GerĂ€tedaten/Sensordaten mit geringer GrĂ¶ĂŸe ĂŒbertragen werden. Dadurch, dass diese Art von Daten in regelmĂ€ĂŸigen AbstĂ€nden (Zyklen) ĂŒbertragen werden, haben einzelne (verlorengegangene) Datenpakete keine GrĂ¶ĂŸe Auswirkung auf die verarbeitenden Systeme bzw. Anwendungen wie z.B. eine IoT-Plattform, der entsprechende Sensordaten (Temperatur, Umdrehungszahl etc.) verarbeitet und/oder grafisch darstellt. ...

12. Juli 2018 Â· Aaron

Wireshark Tutorial

Wireshark ist ein freies Programm zur Analyse und grafischen Aufbereitung von Datenprotokollen (Sniffer). Solche Datenprotokolle verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk oder USB. Das Mitschneiden der Kommunikation kann bei der Fehlersuche oder bei der Bewertung des Kommunikationsinhalts sinnvoll sein. Wireshark zeigt bei einer Aufnahme sowohl die Protokoll-Header als auch den transportierten Inhalt an. Das Programm stĂŒtzt sich bei der grafischen Aufbereitung auf die Ausgabe von kleinen Unterprogrammen wie pcap oder usbpcap, um den Inhalt der Kommunikation auf dem jeweiligen Übertragungsmedium mitzuschneiden. [wikipedia] ...

12. Juli 2018 Â· Aaron

MQTT: Zusammenfassung der Spezifikation (high level)

MQTT (Message Queue Telemetry Transport) ist ein offenes Nachrichtenprotokoll fĂŒr Machine-to-Machine-Kommunikation (M2M), das die Übertragung von Telemetriedaten in Form von Nachrichten zwischen GerĂ€ten ermöglicht, trotz hoher Verzögerungen oder beschrĂ€nkter Netzwerke. Entsprechende GerĂ€te reichen von Sensoren und Aktoren, Mobiltelefonen, Eingebetteten Systemen in Fahrzeugen oder Laptops bis zu voll entwickelten Rechnern. [Wikipedia] Die unten aufgefĂŒhrten Informationen ĂŒber die Spezifikation stammen unter anderem aus der aktuellen MQTT Spezifikation der IBM. OSI Innerhalb des OSI-Modells ist MQTT wie folgt angesiedelt: Die MQTT-Spezifikation unterscheidet TCP/IP-basierte und Nicht-TCP/IP-Netzwerk. StandardmĂ€ĂŸig verwendet MQTT das TCP Protokoll/Verbindung (Port 1883 und 8883 fĂŒr eine SSL-Verbidung). Bei MQTT-SN (MQTT for Sensor Networks) wird statt TCP das UDP Protokoll verwendet. ...

9. Juli 2018 Â· Aaron

API Definition mit Hilfe von Swagger und YAML

Swagger Installation: npm install -g swagger Projekt Erstellung: swagger project create <project_name> Projekt Starten: swagger project start Projekt editieren: swagger project edit Die Notation wird innerhalb der OpenAPI Specification festgelegt. Visuelle Darstellung der Spezifikation von Arnaud Lauret: Link Definition der API (Ausschnitt): Download swagger.yaml YAML Code Verifizieren: swagger project verify Mock Datei einbinden In dem Projektordner unter dem Verzeichnis ‘mocks’ eine neue Mock-Datei erstellen z.B. getAllEntries.js . ...

3. Dezember 2017 Â· Aaron

Spring Cloud Netflix Konzepte

Was ist Spring? Das Spring Framework (kurz Spring) ist ein quelloffenes Framework fĂŒr die Java-Plattform. Ziel des Spring Frameworks ist es, die Entwicklung mit Java/Java EE zu vereinfachen und gute Programmierpraktiken zu fördern. Spring bietet mit einem breiten Spektrum an FunktionalitĂ€t eine ganzheitliche Lösung zur Entwicklung von Anwendungen und deren GeschĂ€ftslogiken; dabei steht die Entkopplung der Applikationskomponenten im Vordergrund. [wikipedia] Zu den Hauptprojekte von Spring gehören: Spring Boot Spring Framework Spring Cloud Date Flow Spring Cloud Spring Data Spring Integration Spring Batch Spring Security Spring HATEOAS spring REST Docs Spring AMQP Spring Mobile Spring for Android Spring Web Flow Spring Web Services Spring LDAP Spring Session Spring Shell Spring Flo Spring Kafka Spring Statemachine Sprin IO Platform ZusĂ€tzlich beinhaltet Spring die beiden community Projekte: ...

25. Oktober 2017 Â· Aaron

Microservice Beispiel mit Spring Boot & Netflix (Zuul & Eureka)

Die Anwendung: Folgende Microservices wurden erstellt: microservice-frontend microservice-backend microservice-proxy-zuul microservice-discovery-eureka Download: Microservices Eureka Ausgabe:

24. Oktober 2017 Â· Aaron

BPMN 2.0: Spickzettel fĂŒr die Basis-Notation

Da ich nicht tĂ€glich modelliere, dient mir dieses BPMN-Diagramm mit seiner bewusst einfachen Notation als effiziente GedĂ€chtnisstĂŒtze fĂŒr die wichtigsten Grundlagen.

17. Oktober 2017 Â· Aaron

DTLS (TCP vs. UDP)

Transport Layer Security (TLS) bekannt als Secure Sockets Layer (SSL) ist ein VerschlĂŒsselungsprotokoll (basiert auf x.509) zur sicheren DatenĂŒbertragung. Datagram Transport Layer Security (DTLS) basiert auf TLS und verwendet UDP statt TCP. Der Unterschied zwischen TLS und DTLS ist gleichzusetzen mit dem Unterschied zwischen TCP und UDP. TLS benötigt die ZuverlĂ€ssigkeit der Daten unter anderem zur EntschlĂŒsselung von Daten. Wenn z.B. die Datenpakete in falscher Reihenfolge ankommen, so wird TLS kein IntegritĂ€tscheck durchfĂŒhren können, das der Check die Sequenznummer der Pakete einbezieht d.h. nach Paktet N wird das Paket N+1 erwartet. ...

23. Juni 2017 Â· Aaron

Ansible: Vagrant VM Provisionierung

// Ansible wird fĂŒr die Konfiguration bzw. Provisionierung // der folgenden Vagrant VM-Infrastruktur verwendet // Installation aus “Personal Packages Archiv (PPA)” sudo -s apt-get install software-properties-common apt-add-repository ppa:ansible/ansible apt-get update apt-get install ansible // Kontrolle ansible –version ansible-playbook –version ansible-galaxy –help // Erstellung einer neuen/eigenen ‘hosts’ bzw. ‘inventory’ Datei // fĂŒr die Konfiguration der ‘dev’ Umgebung cd ~ mkdir ansible cd ansible vi dev // Erstellung einer eigenen Config-Datei (ansible.cfg) // Referenz auf die inventory (hosts) Datei cd ~/ansible vi ansible.cfg [defaults] inventory=./dev ...

16. MĂ€rz 2017 Â· Aaron

Vagrant: Grundlagen

VM-Management // Hilfe vagrant help vagrant help init // Ordner fĂŒr Vagrant initialisieren bzw. ‘Vagrantfile’ Erzeugung vagrant init hashicorp/precise64 // Aufbau und Konfiguration einer Umgebung (Vagrant-Box) vagrant up // Auflistung der installierten Boxen // Windows Ordner // Login via SSH vagrant ssh // VM sleep mode vagrant suspend // VM ausschalten (shutdown) vagrant halt // VM Löschen vagrant destroy Vagrant Box // Installation von weiteren Umgebungen (Vagrant Box) z.B. Ubuntu trusty ...

9. MĂ€rz 2017 Â· Aaron