Added english version of IntegraMoblie arch
This commit is contained in:
parent
ecab59c534
commit
dafabd0c5a
1 changed files with 42 additions and 4 deletions
44
main.tex
44
main.tex
|
@ -234,6 +234,10 @@
|
||||||
\textit{InteGRa.Service}, an app developed in a previous school internship
|
\textit{InteGRa.Service}, an app developed in a previous school internship
|
||||||
period. The two apps can not be merged immediately due to relevant
|
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}
|
\end{en}
|
||||||
|
|
||||||
\begin{it}
|
\begin{it}
|
||||||
|
@ -266,12 +270,12 @@
|
||||||
|
|
||||||
\item L'applicazione non comunica direttamente con il gestionale, ma tramite
|
\item L'applicazione non comunica direttamente con il gestionale, ma tramite
|
||||||
una serie di chiamate \textsc{REST}\cite{wiki:rest} ad un endpoint lato
|
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
|
\item Tale componente è una Java WebApplication che utilizza una libreria
|
||||||
sviluppata internamente (chiamata \textit{restaurant}) per offrire le rotte
|
sviluppata internamente (chiamata \textit{restaurant}) per offrire le rotte
|
||||||
accessibili al client e per interagire con il database di
|
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
|
\item Nella fase di comunicazione tramite HTTP, i dati in input vengono
|
||||||
trasmessi come \texttt{application/x-www-form-urlencoded} mentre
|
trasmessi come \texttt{application/x-www-form-urlencoded} mentre
|
||||||
|
@ -295,7 +299,41 @@
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{it}
|
\end{it}
|
||||||
\begin{en}
|
\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}
|
\end{en}
|
||||||
|
|
||||||
\begin{it}
|
\begin{it}
|
||||||
|
|
Reference in a new issue