This document summarizes GRUBER Logistics' truck route planning system. It describes their event-driven architecture using Azure services to calculate optimized routes for full truckload deliveries. Producers generate transport order events, which are processed by a microservice to geocode addresses, plan routes, and notify dispatchers for approval in a desktop app. This ensures cost-effective routes and real-time tracking of vehicles.
2. GRUBER Logistics at one glance
750 trucks, 1500
trailers
720 Mio. €
rev. 2022
100% family run
170 employees in Trentino-
Alto Adige
2300 employees
worldwide
60 branches in 14
countries
3. 6 Business Units
LOGISTICS
SERVICES
LOX LTL
LESS THAN
TRUCKLOAD
FTL
FULL TRUCK &
INTERMODALITY
PROJECT CARGO,
AIR & OCEAN
PAO
XTL
HEAVY & SPECIAL
TRANSPORTS
RELOCATION
& ASSEMBLY
RAL
4. There is not the perfect solution
but better solutions based on
many different factors
Focus on sustainability
and alternative fuels
5. Our 171 in Ora are on average 37,6
years old and come from a total of 13
different countries of origin. Most of us speak
Italian or German, pretty much all
of us speak English.
The youngest employee is 19 years old, the
oldest is 67. 86 of them are men, 79 are
women.
GRUBER Logistics in Ora
7. ü The context of the FTL and XTL services
ü Why we need a certified route
ü Our challenge
ü The architecture
ü Results and goals reached
ü Further features and developments
Agenda
8. What is an FTL and XTL transportation
The context of the FTL and XTL service
• Full truck load (FTL), is a service that GRUBER Logistics
offers where a truck carries one dedicated
transportation. Indeed, the journey is reserved for one
customer from the loading to the unloading place
• XTL is the division that carries out special transport and
heavy loads. This includes many peculiarities, like
allowed routes and permits
9. Why we need a certified route
• There are many routes to connect a place A to a place B
• Drivers follow a route based on their devices (Navigation
APP or Truck GPS)
• There is only one correct route based on:
• Route weight and size restrictions
• Total cost (toll, kms and driver time)
• Extra costs (tunnel, Switzerland)
• Permits for XTL service
• Dispatcher gives some recommendation to the driver but
they don't take always care of that
• We need to save a structured object that defines the path
10. Method
1. Customer sends
a transport order
2. Planner assigns
the order to the truck
3. Dispatcher completes
the information
4. Dispatcher calculates
the route
5. New order on DriverApp
with the route
6. Driver execute the order
and dispatcher monitors
11. We have to introduce a system that allows our dispatchers to define a "certified" route
Our challenges
• Building a tailormade solution that allows us to have a
continuous improvement on the route calculation
• Cost oriented ≠ distance/time oriented
• Need of precise address geocoding
• Customize routing restrictions
• Dispatcher is responsible to approve or customize the
calculated route (drag and drop)
• No chance to develop this feature in the third part
legacy Transport Management System
• Dispatcher is not willing to move on another
application and perform the activity manually
• Calculation of the certified route must be mandatory
for the dispatcher
• Need to integrate the new development inside the
workflow of the user without relevant lags
12. An event-driven architecture consists of
event producers that generate a stream
of events, and event consumers that
listen for the events.*
Event-driven architecture (EDA)
• Events are delivered and consumed in near real time
with minimum time lag
• Producers and consumers are decoupled
• The message body contains all the information that are
necessary for a specific subject
Event Producers
Message Broker
Event
Consumer
Event
Consumer
Event
Consumer
Azure Service Bus
* https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/event-driven
13. This tool is the source of the
message/information of our architecture
GRUBER Beyond Collector
• Constantly reads the TMS on-premises database
• Identifies changes for some specific subjects (e.g. Orders,
Trips, Invoices)
• Builds a JSON object, nearly realtime, that contains all the
related information of the updated object
• Sends a message to a specific topic in our Azure Service
Bus
Event Producers
Message Broker
Event
Consumer
Event
Consumer
Event
Consumer
Azure Service Bus
ü .NET service deployed on-
premise
ü 12 different subjects/topics
ü Auto-generated models via
scaffolding
FACTS
14. The heart of the GRUBER Beyond platform
Azure Service Bus
• Azure fully managed enterprise message broker
• Used to transfer data between applications using messages
(JSON)
• Manages queues, used for point-to-point communication, or
topics/subscriptions useful in publish/subscribe scenarios
• Has some key features like Dead-lettering, Sessions (FIFO) and
schedule delivery
• Different client libraries (.NET and JavaScript)
Event Producers
Message Broker
Event
Consumer
Event
Consumer
Event
Consumer
Azure Service Bus
ü 650k messages
received per day
ü 21 queues, 28 topics / 82
subscriptions
FACTS
15. Has the responsibility of the whole route
calculation process
Positions Microservice
• Consumes the trips messages and creates a pre-calculated
route
• Performs the address geocoding of loading/unloading place
• Connected to a third part provider of maps service (Here) via
API
• Contains the GRUBER customized logic on the service
calculation
• Notifies the user the task of route certification
• Manages all the GPS positions of our trucks and trailer
• Notifies the user in case the truck goes out of the route
• Exposes the API needed to support the frontend features
Event Producers
Message Broker
Event
Consumer
Event
Consumer
Event
Consumer
Azure Service Bus
ü Node.js with typescript
ü 18k routes calculation per
month
ü MongoDB dedicated
database
ü 640 connected GPS devices
FACTS
16. A client application that guarantees a proper
workflow to the user
GRUBER Beyond Notifier
• Desktop always-on-top application
• Sends real-time notification to the logged user
• Both direction connection via socket to its microservice
• A blocking popup forces the user to perform the route calculation
• Manage different types of notifications
• Color and feature customized based on the notification type
ü Electron multiplatform app
ü 82k notifications per month
ü Node.js + MongoDB
backend
ü 21 different notification
types
FACTS
17. The frontend application used to manage
routes and trucks information
MyTools - Position Application
• Proposes the auto-calculated route of a trip and allow
dispatcher to customize and confirm it
• Focused on the route cost information
• Shows the difference between the expected and the current
route of a in progress or executed trip
• Gives a real-time overview of all our fleet data (GPS, fuel
tank, km to next stops etc.)
ü Typescript Vue.js / Vuex
application
ü 210 active users
ü Micro-application
architecture
ü 3 languages user interface
FACTS
19. The whole GRUBER Beyond platform is much more
Our overall architecture
• 22 backend microservices (Node.js / .NET and MongoDB / SQL / Elastic
DB)
• 12 frontend applications (VUE.JS / Angular)
• 4 different type of user authentication
• Docker deployed on our Kubernetis infrastructure with 7 nodes
• Automatic CI/CD pipeline for test and production environment
20. Having a certified route for each trip
allows us
Results and Goals
• Reduce the transport cost
• Develop the out of route notification to the dispatcher when
the driver goes on the wrong route
• Have a real-time value of the missing km to the next stop of
the truck
• Certify the total KMs for each trip
• Have an accurate toll cost assigned to the single trip
• Improve the work of more than 600 involved users
• Avoid trucks (oversize loads) driving on unauthorized routes
21. What we have planned to develop in the future
Further features and developments
• Use the certified route to guide the driver through a GPS
navigation system
• Calculate the ETA (estimate time of arrival) of a truck based on the
remaining route and the driving hours available for the driver
• Share the reliable calculated ETA to our customers and notify them
when the truck is reaching the loading or unloading place
Do you find these challenges stimulating?
So what are you waiting for, contact us and join our team!
22. Thanks for your attention
Our values. Our guide.
GRUBER Logistics S.p.A
Headquarters
Via Nazionale 75
39040 Ora (BZ) Italy
Tel. +39 0471 825500
info@gruber-logistics.com
www.gruber-logistics.com
FOLLOW
US ON