Added english version of IntegraMoblie arch

This commit is contained in:
Claudio Maggioni 2018-05-24 10:48:41 +02:00
parent ecab59c534
commit dafabd0c5a

View file

@ -233,7 +233,11 @@
hours for business trips. This feature is already implemented in
\textit{InteGRa.Service}, an app developed in a previous school internship
period. The two apps can not be merged immediately due to relevant
differencies in their respective architectures.
differencies in their respective architectures.
Finally, the app will be able to work (with limited functionalities) without
a network link with \textit{InteGRa}, offering data syncronization when a
connection will be avaliable.
\end{en}
\begin{it}
@ -266,12 +270,12 @@
\item L'applicazione non comunica direttamente con il gestionale, ma tramite
una serie di chiamate \textsc{REST}\cite{wiki:rest} ad un endpoint lato
server (chiamato \textit{InteGRaREST}) che svolge il ruolo di intermediario.
server (chiamato \textit{InteGRaREST}) che svolge il ruolo di intermediario;
\item Tale componente è una Java WebApplication che utilizza una libreria
sviluppata internamente (chiamata \textit{restaurant}) per offrire le rotte
accessibili al client e per interagire con il database di
\textit{InteGRa}, una normale istanza di \textit{PostgreSQL}.
\textit{InteGRa}, una normale istanza di \textit{PostgreSQL};
\item Nella fase di comunicazione tramite HTTP, i dati in input vengono
trasmessi come \texttt{application/x-www-form-urlencoded} mentre
@ -295,7 +299,41 @@
\end{itemize}
\end{it}
\begin{en}
\blindtext
In the picture \ref{fig:itgmobliearch} is shown how the software components
in the app interact with each other. This architecture was entirely realized
by me, on the basis offered by the project \textit{InteGRa.Service}. Further
information is given in the following list.
\begin{itemize}
\item The smartphone app does not directly communicate with the accounting
software, but instead it interacts using \textsc{REST} calls\cite{wiki:rest}
with a middleware server application, named \textit{InteGRaREST};
\item The last component mentioned is a Java WebApplication,
implemented by using an internally developed library named \textit{restaurant},
that contains the boilerplate needed to generate the \textsc{REST} routes
and to access the \textit{InteGRa} database, a normal \textit{PostgreSQL}
instance;
\item When information is exchanged by HTTP, input data is encoded
as \texttt{application/x-www-form-urlencoded}, while output data
is encoded as \textsc{JSON}\cite{wiki:json}. Sessions are identified by
a token that must be included in the query string of each call;
\item \textit{InteGRaREST} queries the database autonomously through
\textsc{SQL} in order to fetch and store data structures with simple
or absent logical constraints;
\item When interaction with data arranged in complex structures is needed,
\textit{InteGRaREST} communicates with \textit{InteGRa} through
\textsc{SOAP} calls\cite{wiki:soap};
\item \textit{InteGRa Mobile}, the smartphone app, interacts with
\textit{InteGRaREST} thanks to a client version of \textit{restaurant},
which is able to handle offline operations.
\end{itemize}
\end{en}
\begin{it}