KiTraffic Digital | Coderama
Remote / Projektrotation / Empfehlungsbonus 2000 € / Work&Travel.
Lass dir einen Gehaltsvoranschlag machen

Wir wissen, dass du für jeden arbeiten kannst, wenn du der Beste bist.

Deshalb bieten wir dir neben tollen VORTEILEN auch ein angemessenes Gehalt. Füll unseren Fragebogen aus und wir erstellen, basierend auf deinen Erfahrungen, eine Schätzung deines zukünftigen Gehalts bei CODERAMA.

Kontaktieren Sie uns:

KiTraffic Digital
Projekt

KiTraffic Digital

Im Rahmen des Projekts KiTraffic Digital entwickeln wir in Zusammenarbeit mit Kistler Bratislava ein Produkt, das zur Messung des Gewichts und anderer Parameter von Fahrzeugen auf Autobahnen eingesetzt wird.

Kunde
Kistler (Slowakei)
Projekttyp
.NET Microservices, eingebettete Software, Webanwendungen.
Technologien
NET
Jahr
from 2021

Aufgabe

KiTraffic Digital, kurz KiTD, ist ein WIM-System (Weight in Motion), das von Kistler entwickelt und vermarktet wird. Der Zweck dieses Produkts ist die Messung des Gewichts und anderer Parameter von Fahrzeugen, die sich auf Autobahnen und anderen Schnellstrassen bewegen, wobei der Schwerpunkt auf Lastwagen liegt. Das System basiert auf einer Reihe von Sensoren, die direkt auf der Strasse installiert sind, als eigenständige Geräte funktionieren und Daten übermitteln. Diese Daten werden mit einem .NET-Microservices-Stack verarbeitet, der auf einem Industriecomputer läuft. Dieser Teil ist auch der Hauptschwerpunkt des Projekts. Die Sensordaten müssen gründlich verarbeitet und ausgewertet werden, damit das System am Ende umfassende Informationen über jedes einzelne Fahrzeug liefert. Diese Daten müssen gespeichert und gleichzeitig aus dem kundeneigenen System abgerufen werden können. Außerdem muss dem Kunden eine Benutzeroberfläche zur Verfügung gestellt werden, über die das System in Betrieb genommen, gesteuert und überwacht werden kann.

Beschreibung der Umsetzung

Die Daten werden in einem Backend (genannt TDA - Traffic Data Analyzer) verarbeitet, das auf einer Microservices-Architektur aufbaut, wobei der Großteil der Daten in der .NET Framework/Core-Umgebung implementiert ist (mit Ausnahme einiger weniger, die in C++ implementiert sind). Der Kafka-Nachrichtenbus wird für die Verbindung der Microservices untereinander verwendet, wobei die meisten Datenflüsse durch die Schichten von der abstraktesten Datenmanipulation bis hin zu den konkretesten Berechnungen verlaufen. Eine benutzerdefinierte Version von Kafka übernimmt auch den Empfang von Sensordaten. Das Ergebnis der Verarbeitung ist ein Objekt, das alle Informationen über das Gewicht des Fahrzeugs und seine anderen physikalischen Eigenschaften enthält. Die ElasticSearch-Datenbank wird zur Speicherung dieser Objekte verwendet. Der gesamte Stack läuft in Docker, nachdem er die CI/CD-Pipeline mit Jenkins durchlaufen hat. Das Backend ist über die Rest-API mit einer auf React basierenden Benutzeroberfläche verbunden. In dieser Benutzeroberfläche verwaltet der Kunde seinen Standort - er registriert aktive Sensoren, gibt Kalibrierungsdaten ein, überwacht den Systemstatus, verfolgt erkannte Fahrzeuge und kann seine Daten anzeigen und exportieren sowie Optionen für die Verbindung mit einem beliebigen externen System einrichten. LogStash wird zur Überwachung des Status des gesamten Stacks mit Visualisierung in der Grafana-Umgebung verwendet.

Ergebnis

Aktueller Stand: Das KiTD-System ist weitgehend funktionsfähig entwickelt und befindet sich derzeit in einer Art Halbfertigungsphase. Es ist ein Ersatz für das bisherige WimDL-System, das auf analogen Sensoren basiert und auf dem Markt sehr weit verbreitet ist. KiTD ist eigentlich ein Nachfolger und eine Möglichkeit, die Lösung angesichts der Einschränkungen der analogen Technologie zu verbessern. Es wird erwartet, dass neuen Kunden in Zukunft nur noch das KiTD-System angeboten wird. Voraussetzung dafür ist allerdings, dass es sich in einem perfekten Zustand befindet, was noch nicht in Sicht ist. Die Entwickler sind sich einiger Schwächen bewusst, und verschiedene Funktionen müssen noch erweitert oder an eine robustere Lösung angepasst werden, während gleichzeitig Mechanismen zur besseren Überwachung des gesamten Stacks und zur Diagnose von Problemen hinzugefügt werden. Es wird in Zukunft viel Wartungsarbeit zu leisten sein, wenn KiTD massiv eingesetzt wird.

Was sagt einer der Entwickler dazu?

Ich bin noch nicht lange mit dem Projekt beschäftigt, aber ich bin schon zufrieden. Mir gefällt, dass es klar ist, womit wir arbeiten und was unser Ziel ist. Die Lösung ist auf einem guten Niveau und man kann viel von ihr lernen, aber es gibt noch viel Raum, um sie mit eigenen Ideen zu verbessern. Vor allem in der Zusammenarbeit mit Berufskollegen gibt es immer einen Weg. Gleichzeitig schätze ich es, dass zwischen uns Entwicklern und dem Kunden keine große Mauer steht, sondern ein paar fähige Leute, die Informationen mit uns teilen. Die ganze Arbeit macht mehr Sinn, wenn ich genau weiß, warum ich tue, was ich tue.

Vojtěch

.NET-Entwickler

NÄCHSTES PROJEKT

Unabhängige Prüfung von Batterien für Elektrofahrzeuge

Aviloo (Österreich)