Skip to content

Commit abb64dd

Browse files
docs: write implementation chapter
1 parent a52bbab commit abb64dd

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

docs/04-implementation/index.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,25 @@ has_children: true
55
nav_order: 5
66
---
77
# Implementazione
8+
9+
Considerando l'obbiettivo della relazione, in questa sezione verranno presentati i principali linguaggi e le principali tecnologie utilizzate senza entrare nei dettagli implementativi.
10+
11+
## Phisical Layer
12+
13+
La *Centralina di zona* è stata sviluppata utilizzando il linguaggio *C++* sfruttando il framework *Wiring* mentre il *Gateway di blocco* è stato sviluppato utilizzando [*Node-RED*](https://nodered.org/).
14+
15+
## Digital Twins Layer
16+
17+
Per la modellazione dei Digital Twins si è sfruttato il linguaggio *Digital Twins Definition Language* (DTDL) mentre per lo sviluppo della *Azure Function* si è utilizzato *C#*.
18+
19+
## Application Layer
20+
21+
Considerando che ogni microservizio, seguendo i principi dello stile architetturale, può essere implementato utilizzando lo stack tecnologico più adeguato, si è fatto uso del linguaggio *Java* per il microservizio *Automation Management* e di *Kotlin* per i restanti.
22+
Le principali librerie e framework utilizzati sono stati:
23+
24+
+ **Kafka Clients**, per l'interazione con l'event broker
25+
+ **Ktor**, per la realizzazione delle API Rest
26+
+ **Kmongo**, per l'interazione con MongoDB
27+
+ **JaCaMo**, per lo sviluppo del sistema multi-agente presente nel microservizio *Automation Management*
28+
+ **Vert.X**, per lo sviluppo del microservizio *API Gateway*
29+
+ **RxKotlin**, per agevolare la gestione e il mapping del flusso degli eventi nel microservizio *Digital Twins Event Gateway*

0 commit comments

Comments
 (0)