Added english version of IntegraMoblie arch
This commit is contained in:
parent
ecab59c534
commit
dafabd0c5a
1 changed files with 42 additions and 4 deletions
46
main.tex
46
main.tex
|
@ -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}
|
||||
|
|
Reference in a new issue