You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 1, 2020. It is now read-only.
Copy file name to clipboardExpand all lines: esterni/manuale_manutentore/res/sections/gateway.tex
+4-3Lines changed: 4 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -37,9 +37,10 @@ \subsection{Gateway}
37
37
\item\textbf{Producer}: rappresenta un producer di Kafka, che è infatti contenuto al suo interno. La classe viene utilizzata per "produrre" messaggi contenenti le rilevazioni del valori dei sensori all'interno di un topic Kafka;
38
38
\item\textbf{ThreadedConsumer}: classe che contiene al suo interno un Consumer per poter reperire da un topic \glock{Kafka} le configurazioni per il gateway. Appena ne riceve una, viene sostituita alla vecchia configurazione e viene ripresa l'attività di fetching dei dati;
39
39
\item\textbf{ThreadedProducer}: classe che contiene un riferimento a Gateway, in cui si trova la business logic per la richiesta al simulatore e l'invio dei dati a Kafka. Per poter fare ciò necessita della classe Translator per convertire i dati in JSON e delle classi Device e Sensor per costruire la lista di dispositivi a cui dovrà richiedere i dati;
40
-
\item\textbf{Gateway}: classe che contiene buona parte della logica della componente Gateway: al suo interno infatti è presente un ciclo che itera tutti i dispositivi di tutti i sensori richiedendo ad ognuno dei dati. Quando ne raccoglie un certo numero o passano n secondi (in base alla configurazione del gateway) questi dati vengono inviati ad un topic ed il ciclo si ripete;
40
+
\item\textbf{GatewayManager}: classe che contiene buona parte della logica della componente Gateway: al suo interno infatti è presente un ciclo che itera tutti i dispositivi di tutti i sensori richiedendo ad ognuno dei dati. Quando ne raccoglie un certo numero o passano n secondi (in base alla configurazione del gateway) questi dati vengono inviati ad un topic ed il ciclo si ripete;
41
41
\item\textbf{Translator}:classe che, come detto brevemente in precedenza, viene utilizzata per accumulare e tradurre ciò che viene restituito dai sensori in un pacchetto in formato JSON che poi verrà inviato in un topic;
42
-
\item\textbf{Sensor}: rappresenta il dato un singolo sensore; è infatti presente un identificativo (sensorId), un valore (data) ed infine il timestamp legato a quando è stata fatta la rilevazione del valore;
42
+
\item\textbf{Gateway}: rappresenta il gateway; è infatti presente un identificativo (name), una lista di device (devices) e l'indirizzo (address) e la porta (port) a cui inviare le richieste dei dati dei dispositivi;
43
+
\item\textbf{Sensor}: rappresenta il dato di un singolo sensore; è infatti presente un identificativo (sensorId), un valore (data) ed infine il timestamp legato a quando è stata fatta la rilevazione del valore;
43
44
\item\textbf{Device}: rappresenta un dispositivo; al suo interno è presente una lista di Sensor (sensors), un identificativo (deviceId) ed un timestamp legato a quando è stata fatta l'ultima rilevazione di uno qualsiasi dei suoi sensori.
44
45
\end{itemize}
45
46
\end{landscape}
@@ -54,7 +55,7 @@ \subsection{Gateway}
54
55
\end{figure}
55
56
Nel diagramma di sequenza è rappresentata la richiesta e la ricezione di una prima configurazione da parte del ThreadedConsumer.
56
57
\newline
57
-
La configurazione viene quindi passata al ThreadedProducer, che tramite un metodo crea il Gateway (sulla base della configurazione ottenuta) e questo, tramite il metodo init() verifica che tutti i dispositivi nella configurazione siano effettivamente presenti.
58
+
La configurazione viene quindi passata al ThreadedProducer, che tramite un metodo crea il Gateway e il GatewayManager (sulla base della configurazione ottenuta) e questo, tramite il metodo init() verifica che tutti i dispositivi nella configurazione siano effettivamente presenti.
58
59
\end{landscape}
59
60
60
61
\subsubsection{Diagramma di attività}%%%%%%%%%%%%%%OK
0 commit comments