SOA für Hardware – das Internet der Dinge

Der Pragmatische Architekt Michael Stal  –  0 Kommentare

Das Internet der Dinge bringt Architekten und Entwickler näher an die Hardware. Neben Unternehmens- und Geschäftsprozessen lassen sich jetzt auch eingebettete Systeme über das Internet einbinden. Was zunächst wie eine Modeerscheinung für Heimautomatisierung erschien, ist mittlerweile ein wichtiger Baustein für die Digitalisierung.

In Fachartikeln und -büchern beherrschen sie den Inhalt. Die meisten Werkzeuge und Modellierungssprachen haben sie im Fokus, ebenso wie die Mehrzahl von Konferenzen: Enterprise-Architekturen auf Basis von Webtechnologien, Backend-Servern, Cloud Computing, Datenbanken und Kommunikations-Middleware sind geradezu omnipräsent. Der Beobachter könnte daraus schließen, dass die meiste Software weltweit auf Unternehmensservern beziehungsweise in Rechenzentren läuft.

Die Realität schaut allerdings anders aus. Jedes noch so unscheinbare Gerät beherbergt heute ein oder mehrere CPUs. Und damit meine ich nicht nur Mobilgeräte. Im PKW zum Beispiel finden sich Dutzende von Prozessoren, die über Middleware à la Autosar vernetzt sind. Bei Flugzeugen und Zügen ergibt sich ein in dieser Hinsicht noch krasseres Bild.

Integration von Hardware und Software

Was SOA in Sachen Unternehmenssoftware versprochen hat, das offeriert mittlerweile das IoT (Internet of Things) für Geräte. Mithilfe von IoT lassen sich die "Dinge" und ihre Sensorik/Aktorik in bestehende Software integrieren. Dazu eine Prise Tablet, Smartphone oder Virtual Reality, und das allgegenwärtige Netz ist im Begriff, Wirklichkeit zu werden.

Dass dabei Backend-Dienste in der Cloud laufen, ist der Skalierbarkeit geschuldet. Übrigens geht es hier nicht nur um die üblichen Verdächtigen aus dem Umfeld Heimautomatisierung wie Philips Hue oder Google Nest. Geradezu gigantisch ist die Digitalisierungswelle, die momentan auf die Industrie zuschwappt. Buzzwords wie Smart City, Smart Grid, oder Smart Home repräsentieren dabei nur die Spitze des Eisbergs.

Zeit für Pioniere

Für Softwerker hat diese Situation einen gewissen Reiz, da das Internet der Dinge ein Zeitfenster für innovative Pioniere eröffnet. Wer hat das Zeug zum Google des IoT? Eine gute Gelegenheit also, sich eingehender mit dem Themen Mikrocontroller, Mechatronik, und Elektronik zu beschäftigen. Doch das systemnahe Programmieren von Embedded-Systemen ist nicht alle etwas. Zum Glück gibt es eine gute Nachricht.

Galten früher Embedded-Systeme als Zielplattformen für C- oder Assembler-verliebte Nerds, lassen sich heute sogar einfachste Boards bequem mit IDEs in Hoch- und Skriptsprachen programmieren. Und ich spreche von Boards, die teilweise weniger als ein kühles Bierchen kosten. Der Charme besteht darin, dass Entwickler heute für lau und noch dazu ganz einfach Kenntnisse im Programmieren von Mikrocontrollern erwerben können.

Der leichte Einstieg

Neben meinen rein architekturgetriebenen Beiträgen komme ich in folgenden Posts auch immer wieder auf das Thema IoT zu sprechen. Nach Anwendungsbeispielen für IoT und Hintergrundinformation zu Mikrocontrollern erläutere ich die Grundlagen der Elektronik, um anschließend in konkreten Übungsbeispielen buchstäblich Sensorik und Aktorik zu beleuchten. Speziell fokussiere ich mich auf die PC-seitige Einbindung von Mikrocontrollern und natürlich auf Internetanbindung. Später kommen Architekturaspekte von IoT zum Tragen.

Arduino & Co

Als Grundlage verwende ich zunächst ein Genuino/Arduino Uno Board. Das ist bei eBay, Amazon oder Aliexpress günstig zu erwerben. Wer ein Genuino Starterkit sein Eigen nennt, kann die Beispiele problemlos nachvollziehen. Es ist natürlich ebenfalls möglich, ein eigenes Kit beim lokalen Elektronikhandel zusammenzustellen. Sachdienliche Hinweise, was drin sein sollte, geben die Produktbeschreibungen existierender Starterkits von Arduino, Watterott, Sparkfun, Fritzing, Sainsmart, Conrad, Franzis und Adafruit. Wer in China bestellt, zahlt weniger, muss allerdings schon mal vier bis sechs Wochen auf die Lieferung warten.

Adressiert werden in Zukunft aber auch weitere Boards wie Nodemcu, Raspberry Pi, und Beaglebone Black.