Skip to content

Commit facaa6d

Browse files
ercluAlexRizzus
authored andcommitted
docs: stendi verbale esterno del 2 marzo
1 parent 09af362 commit facaa6d

File tree

1 file changed

+76
-36
lines changed

1 file changed

+76
-36
lines changed

esterni/verbali/verbale-esterno_2020-03-02.tex

Lines changed: 76 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@
55

66
\title{Verbale esterno --- 02/03/2020}
77

8-
\setResponsabile{\placeholder{responsabile}}
8+
\setResponsabile{Riccardo Agatea}
99
\setRedattori{Luca Ercole}
10-
\setVerificatori{
11-
\placeholder{verificatori}
12-
}
10+
\setVerificatori{Fabio Scettro}
1311
\setUso{Esterno}
1412
\setDescrizione{Verbale dell'incontro di GruppOne del 02/03/2020}
1513
\setModifiche{%
@@ -31,23 +29,22 @@ \section{Informazioni logistiche}%
3129
\begin{description}
3230
\item [Luogo] chiamata Hangouts
3331
\item [Data] 02/03/2020
34-
\item [Ora] 18:00 \symbol{8594} \placeholder{ora fine}
32+
\item [Ora] 18:00 \symbol{8594} 19:00
3533
\end{description}
3634

3735
\subsection{Membri del gruppo presenti}%
3836
\label{sub:membri_del_gruppo_presenti}
3937

40-
\placeholder{elencare membri presenti}
41-
% \begin{enumerate}
42-
% \item Riccardo Agatea
38+
\begin{enumerate}
39+
\item Riccardo Agatea
4340
% \item Tobia Apolloni
44-
% \item Riccardo Cestaro
41+
\item Riccardo Cestaro
4542
% \item Alberto Cocco
46-
% \item Luca Ercole
47-
% \item Alberto Gobbo
48-
% \item Alessandro Rizzo
43+
\item Luca Ercole
44+
\item Alberto Gobbo
45+
\item Alessandro Rizzo
4946
% \item Fabio Scettro
50-
% \end{enumerate}
47+
\end{enumerate}
5148

5249
% sub:membri_del_gruppo_presenti (end)
5350

@@ -72,10 +69,9 @@ \section{Ordine del giorno}%
7269

7370
\begin{itemize}
7471
\item Conversazione Telegram
75-
\item Tecnologie backend
7672
\item Tecnologie frontend
73+
\item Tecnologie backend
7774
\item Accesso a server di Imola Informatica
78-
\item Metriche di qualità di prodotto.
7975
\end{itemize}
8076

8177
\section{Conversazione Telegram}%
@@ -84,55 +80,99 @@ \section{Conversazione Telegram}%
8480
Riportiamo per completezza la conversazione avvenuta su telegram:
8581

8682
\begin{enumerate}
87-
\item Siamo convinti di partire da una specifica dell'API utilizzando OpenAPI v3 + i tool Swagger.
88-
Hai consigli per il framework Java da utilizzare? Stiamo guardando Quarkus e Spring Boot o Spring Data, ma non avendo esperienza facciamo fatica a valutare quale sia più adatto e/o semplice da utilizzare.
89-
\item Secondo te è una scelta valida utilizzare i framework NativeScript/angular per riutilizzare codice tra l'applicazione mobile e la web app?
83+
\item Secondo te è una scelta valida utilizzare i framework NativeScript/Angular per riutilizzare codice tra le applicazioni web e mobile?
84+
\item Hai consigli per il framework Java da utilizzare? Stiamo guardando Quarkus e Spring Boot o Spring Data, ma non avendo esperienza facciamo fatica a valutare quale sia più adatto e/o semplice da utilizzare.
9085
\end{enumerate}
9186

92-
A cui Davide Zanetti ha risposto:
87+
A cui il proponente ha risposto:
9388

9489
\begin{enumerate}
95-
\item Personalmente conosco bene spring boot e spring data (molto più diffusi negli ambienti dove lavoro), sono un po' più carente per quanto riguarda Quarkus (che comunque mi sembra interessante come framework).
96-
Quindi, validi entrambi, sul primo posso aiutarvi più facilmente ed è abbastanza facile da usare, sul secondo non sono molto esperto ma se volete provarlo mi documento con voi.
9790
\item Non sono molto pratico di questo ad essere onesto, provo ad informarmi con qualche collega più esperto e vedo di trovarvi una risposta sensata.
91+
\item Personalmente conosco bene Spring Boot e Spring Data (molto più diffusi negli ambienti dove lavoro), sono un po' più carente per quanto riguarda Quarkus (che comunque mi sembra interessante come framework).
92+
Quindi, validi entrambi, sul primo posso aiutarvi più facilmente ed è abbastanza facile da usare, sul secondo non sono molto esperto ma se volete provarlo mi documento con voi.
9893
\end{enumerate}
9994

10095
% sec:conversazione_telegram (end)
10196

97+
\section{Tecnologie frontend}%
98+
\label{sec:tecnologie_frontend}
99+
100+
Il proponente ci ha fatto presente che utilizzare NativeScript non è una soluzione particolarmente pulita perché in caso di difficoltà si deve ricadere sulla scrittura di classi in Java puro;
101+
quindi il vantaggio di utilizzarlo probabilmente non vale il rischio di incontrare problemi difficilmente risolvibili più avanti nello sviluppo.
102+
103+
L'aspetto di riutilizzo del codice tra web/mobile è un bonus, ma l'applicazione che stiamo progettando è abbastanza contenuta quindi ha consigliato di fare tutto in Java.
104+
105+
Inoltre, integrare mappe nell'applicazione mobile (ad es.\ nelle schermate delle organizzazioni) dovrebbe essere semplice.
106+
107+
L'applicazione deve funzionare perlomeno su Android 9, ma comunque faremo riferimento alla \href{https://developer.android.com/distribute/best-practices/develop/target-sdk}{guida ufficiale}
108+
109+
\subsection{Geofences}%
110+
\label{sub:geofences}
111+
112+
Il proponente ha confermato la validità della nostra idea di utilizzare le geofences come confine esterno centrato sui luoghi delle organizzazioni.
113+
In particolare, le potremmo utilizzare per garantire che un utente è uscito da un luogo (il proponente ha usato il termine ``rollback'').
114+
115+
Inoltre, possiamo farci affidamento per diminuire il consumo energetico dell'applicazione quando gli utenti sono lontani dalle organizzazioni.
116+
117+
% sec:tecnologie_frontend (end)
118+
119+
\subsection{Applicazione web}%
120+
\label{sub:applicazione_web}
121+
122+
A prescindere dalle tecnologie utilizzate per l'applicazione mobile, usiamo il framework Angular per l'applicazione web.
123+
124+
Il proponente ci ha consigliato \href{https://www.selenium.dev/}{Selenium} per testarne gli aspetti grafici.
125+
126+
% sub:applicazione_web (end)
127+
102128
\section{Tecnologie backend}%
103129
\label{sec:tecnologie_lato_server}
104130

105-
\placeholder{\dots}
131+
Spring Boot è estremamente diffuso e ha un ecosistema molto grande, quindi è probabilmente utile per noi imparare a utilizzarlo.
106132

107-
% sec:tecnologie_lato_server (end)
133+
Il proponente ha menzionato il modulo \href{https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html}{WebFlux} che permette di utilizzare il paradigma del Reactive Programming.
108134

109-
\section{Tecnologie frontend}%
110-
\label{sec:tecnologie_frontend}
135+
Per quanto riguarda le funzionalità LDAP, Davide ha detto che possiamo utilizzare Spring LDAP (una libreria del framework), ma che molto probabilmente è sufficiente utilizzare un'API RESTful.
136+
Ha menzionato in particolare la \href{https://directory.fedoraproject.org/docs/389ds/design/ldap-rest-api.html}{389 Directory Server RESTful API}
111137

112-
% sec:tecnologie_frontend (end)
138+
\subsection{Progettazione API}%
139+
\label{sub:progettazione_api}
113140

114-
\placeholder{\dots}
141+
Il proponente ci ha consigliato di guardare la risorsa \href{https://opensource.zalando.com/restful-api-guidelines/}{Zalando RESTful API and Event Scheme Guidelines}.
115142

116-
\section{Accesso a server di Imola Informatica}%
117-
\label{sec:accesso_a_server_di_imola_informatica}
143+
Inoltre ha detto che non consiglia di utilizzare gli strumenti di generazione automatica del codice di Swagger, perché la qualità del codice generato è molto bassa.
118144

119-
\placeholder{\dots}
145+
% sub:progettazione_api (end)
146+
\subsection{Containerization}%
147+
\label{sub:containerization}
120148

121-
% sec:accesso_a_server_di_imola_informatica (end)
149+
Il proponente ci ha consigliato di concentrarci prima sull'aspetto di ``containerizzazione'' attraverso Docker, perché se viene fatto bene rende molto semplice agganciare a posteriori i pod di Kubernetes per la gestione e scalabilità dell'applicativo.
150+
151+
Si è anche raccomandato di fare molto affidamento sulle immagini ufficiali di software disponibili su Docker Hub (come ad es.\ i database SQL), perché semplificano enormemente la configurazione dei servizi.
122152

123-
\section{Metriche di qualità di prodotto}%
124-
\label{sec:metriche_di_qualita_di_prodotto}
153+
% sub:containerization (end)
125154

126-
\placeholder{\dots}
155+
% sec:tecnologie_lato_server (end)
127156

128-
% sec:metriche_di_qualità_di_prodotto (end)
157+
\section{Accesso a server di Imola Informatica}%
158+
\label{sec:accesso_a_server_di_imola_informatica}
159+
160+
Nei prossimi giorni entreremo in contatto via email con un tecnico di Imola Informatica che ci creerà un'utenza sulle macchine del loro laboratorio.
161+
162+
Il proponente ci ha fatto presente che non dobbiamo salvare dati persistenti sul loro server, perché spesso le macchine vengono resettate.
163+
164+
% sec:accesso_a_server_di_imola_informatica (end)
129165

130166
\newpage
131167
\section{Registro delle decisioni}%
132168
\label{sec:registro_delle_decisioni}
133169

134170
\begin{enumerate}
135-
\item \placeholder{\dots}
171+
\item Usare Spring Boot + Spring LDAP per il backend.
172+
\item Progettare prima l'API in maniera da avere un approccio \textit{Contract First}.
173+
\item Usare MariaDB per i dati più persistenti.
174+
\item Usare InfluxDB per le serie temporali (in part.\ presenza/assenza degli utenti nei luoghi).
175+
\item Posticipare la decisione sulle tecnologie frontend a dopo la finalizzazione dell'API\@.
136176
\end{enumerate}
137177

138178
\end{document}

0 commit comments

Comments
 (0)