Strix Fleet Management
A modern B2B Fleet Management solution
Following the accomplishments of Lo/Jack LATAM's partnership with Leapsight on Strix, the business made the decision to continue modernising by replacing its outdated Fleet Management solution with a new one based on Magenta, the IoT platform built and managed by Leapsight for Strix.
A modern architecture for a modern UX
By utilising the most recent distributed applications features provided by Magenta, Strix Fleet Management offers a significant improvement over its predecessor, including:
- The Web Application Messaging Protocol (WAMP) is used to connect all elements of its architecture, particularly to enable (soft) real-time bidirectional communication with the user interface.
- The use of micro frontends - adopting the microservice architecture style to frontend development.
- A more advanced Digital Twin solution based on Virtual Actors, an abstraction on top of the actor model wherein actors exist perpetually and are always addressable regardless of their physical location.
Bondy and WAMP
Magenta connects all components of its distributed architecture using Bondy, an open-source distributed application networking platform created by Leapsight that implements the open Web Application Messaging Protocol (WAMP).
Bondy offers service and event mesh capabilities thanks to its distributed, decentralised implementation of WAMP.
Strix Fleet Management web app uses WAMP to subscribe to real-time events produced by the vehicle (and other assets) digital twins. This allows users to receive state change events that the vehicles' digital twins publish each time they get a telemetry signal.
With no complex client or server-side logic required, WAMP's use of Web Sockets establishes a bidirectional communication channel that enables customers to track tens or hundreds of vehicles in real time.
The following videos show the end result.
Tracking a fleet's location and telemetry states in real-time.
Accessing all historical locations and telemetry information.
Map smart overlays
Circular and polygonal geofencing to be used with rules
User defined rules that trigger events and notifications.
Display of notifications based on event-triggering rules.
As new features will be constantly added Strix needed a way to make the development scalable. Also, not all customers subscribe to all features and it was desirable for the application to only load the code required for the enabled features.
Following the successful implementation of a microservice-style architecture for the backend, we decided to replicate the same in the front end.
The result is an application that is composed of micro applications, each one developed by a different team and encapsulating a set of features that are enabled/disabled based on the user's contracted service plan.
Digital Twins via virtual actors
Finally, we needed more complex capabilities in terms of digital twinning. As opposed to Strix consumer offering, Fleet Management includes support for CAN-bus telemetry, making the definition of the digital twin state and state transitions much more complex.
Building interactive services that are scalable and always on is hard. To support a large number of digital twins and user sessions, high throughput and low latency are essential.
A naive solution is to write the new digital twin state to the database on every telemetry signal received and read the new state from the database on every user request. This has limited scalability due to the latency and throughput limits of the database layer.
A caching layer is often added to reduce latency, but this comes with its own complexities, the main one being the loss of the underlying database consistency guarantees.
As Magenta is based on the actor model we decided to explore the idea of Virtual Actors popularized by Microsoft Orleans.
Using virtual actors, Magenta digital twins offer better scalability and lower latency.
We are eager to see what Strix and Magenta will bring next.