Commit c3d21bd4 authored by Bruno López Trigo's avatar Bruno López Trigo

Engadida información completa de despregue na documentación

parent 230acc9c
......@@ -128,12 +128,36 @@
\@writefile{toc}{\contentsline {section}{\numberline {13}Trabajo futuro}{33}{section.13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {13.1}Tareas inmediatas}{33}{subsection.13.1}}
\citation{gitlab}
\citation{cloudstack}
\citation{cloudstackred}
\@writefile{toc}{\contentsline {subsection}{\numberline {13.2}Tareas a largo plazo}{34}{subsection.13.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {13.3}Tareas deseables}{34}{subsection.13.3}}
\@writefile{toc}{\contentsline {section}{\numberline {14}Bugs detectados}{34}{section.14}}
\@writefile{toc}{\contentsline {section}{\numberline {15}Otros aspectos importantes}{34}{section.15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {15.1}Despliegue del servicio}{34}{subsection.15.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {15.2}Otras fuentes de documentaci\IeC {\'o}n}{35}{subsection.15.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {15.1.1}Creando una nueva instancia en el CloudStack del CiTIUS}{34}{subsubsection.15.1.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {15.1.2}Configurando la red de la instancia}{35}{subsubsection.15.1.2}}
\@writefile{lof}{\contentsline {figure}{\numberline {22}{\ignorespaces Secci\IeC {\'o}n Network de CloudStack\relax }}{35}{figure.caption.23}}
\newlabel{fig:network}{{22}{35}{Sección Network de CloudStack\relax }{figure.caption.23}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {23}{\ignorespaces Configurar el tr\IeC {\'a}fico hacia el exterior\relax }}{35}{figure.caption.24}}
\newlabel{fig:networkout}{{23}{35}{Configurar el tráfico hacia el exterior\relax }{figure.caption.24}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {24}{\ignorespaces IP's de la red\relax }}{36}{figure.caption.25}}
\newlabel{fig:networkip}{{24}{36}{IP's de la red\relax }{figure.caption.25}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {25}{\ignorespaces Configuraci\IeC {\'o}n de firewall y redirecci\IeC {\'o}n de puertos\relax }}{36}{figure.caption.26}}
\newlabel{fig:networknat}{{25}{36}{Configuración de firewall y redirección de puertos\relax }{figure.caption.26}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {26}{\ignorespaces Configuraci\IeC {\'o}n de firewall\relax }}{37}{figure.caption.27}}
\newlabel{fig:networkfirewall}{{26}{37}{Configuración de firewall\relax }{figure.caption.27}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {27}{\ignorespaces Configuraci\IeC {\'o}n de redirecci\IeC {\'o}n de puertos\relax }}{37}{figure.caption.28}}
\newlabel{fig:networkports}{{27}{37}{Configuración de redirección de puertos\relax }{figure.caption.28}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {15.1.3}Instalando y configurando Tomcat}{37}{subsubsection.15.1.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {15.1.4}Instalando los paquetes necesarios para constru\IeC {\'\i }r y desplegar el demostrador}{38}{subsubsection.15.1.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {15.1.5}Configurando serve como un servicio que arranca al inicio}{38}{subsubsection.15.1.5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {15.1.6}Construyendo y desplegando la API REST}{38}{subsubsection.15.1.6}}
\@writefile{lof}{\contentsline {figure}{\numberline {28}{\ignorespaces Secci\IeC {\'o}n de despliegue de Tomcat\relax }}{39}{figure.caption.29}}
\newlabel{fig:desplegar}{{28}{39}{Sección de despliegue de Tomcat\relax }{figure.caption.29}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {15.1.7}Construyendo y desplegando el demostrador}{39}{subsubsection.15.1.7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {15.1.8}Evitar problemas de rendimiento}{39}{subsubsection.15.1.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {15.2}Otras fuentes de documentaci\IeC {\'o}n}{39}{subsection.15.2}}
\bibdata{sample}
\bibcite{weka}{1}
\bibcite{simplenlg}{2}
......@@ -145,8 +169,10 @@
\bibcite{reactjs}{8}
\bibcite{d3}{9}
\bibcite{pixabay}{10}
\@writefile{toc}{\contentsline {section}{\hspace *{-\tocsep }References}{36}{subsection.15.2}}
\newlabel{LastPage}{{}{36}{}{page.36}{}}
\xdef\lastpage@lastpage{36}
\xdef\lastpage@lastpageHy{36}
\bibcite{cloudstack}{11}
\bibcite{cloudstackred}{12}
\@writefile{toc}{\contentsline {section}{\hspace *{-\tocsep }References}{40}{subsection.15.2}}
\newlabel{LastPage}{{}{40}{}{page.40}{}}
\xdef\lastpage@lastpage{40}
\xdef\lastpage@lastpageHy{40}
\ttl@finishall
......@@ -60,4 +60,16 @@
\newblock \bibinfo{howpublished}{\url{https://pixabay.com/}}.
\newblock \bibinfo{note}{Visitado: 2018-12-17}.
\bibitem{cloudstack}
\bibinfo{title}{{Wiki CiTIUS. Crear y borrar una máquina virual.}}
\newblock
\bibinfo{howpublished}{\url{https://wiki.citius.usc.es/es:centro:servizos:cloud:crear_vm}}.
\newblock \bibinfo{note}{Visitado: 2018-12-20}.
\bibitem{cloudstackred}
\bibinfo{title}{{Wiki CiTIUS. Las redes en CloudStack.}}
\newblock
\bibinfo{howpublished}{\url{https://wiki.citius.usc.es/es:centro:servizos:cloud:configurar_red}}.
\newblock \bibinfo{note}{Visitado: 2018-12-20}.
\end{thebibliography}
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (MiKTeX 2.9.6840 64-bit) (preloaded format=pdflatex 2018.12.5) 18 DEC 2018 11:36
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (MiKTeX 2.9.6840 64-bit) (preloaded format=pdflatex 2018.12.5) 20 DEC 2018 11:15
entering extended mode
**./main.tex
(main.tex
......@@ -1519,25 +1519,89 @@ es confundido con [class_j] un [confusion]%. [Instancia 1],
[32]
LaTeX Font Info: Font shape `T1/ptm/bx/it' in size <10> not available
(Font) Font shape `T1/ptm/b/it' tried instead on input line 1435.
[33] [34] [35] (main.bbl)
[33]
<./images/Network.png, id=727, 926.2605pt x 396.88275pt>
File: ./images/Network.png Graphic file (type png)
<use ./images/Network.png>
Package pdftex.def Info: ./images/Network.png used on input line 1476.
(pdftex.def) Requested size: 500.484pt x 214.44672pt.
[34]
<./images/NetworkOut.png, id=738, 925.056pt x 394.47375pt>
File: ./images/NetworkOut.png Graphic file (type png)
<use ./images/NetworkOut.png>
Package pdftex.def Info: ./images/NetworkOut.png used on input line 1483.
(pdftex.def) Requested size: 500.484pt x 213.42195pt.
<./images/NetworkIP.png, id=740, 922.647pt x 393.8715pt>
File: ./images/NetworkIP.png Graphic file (type png)
<use ./images/NetworkIP.png>
Package pdftex.def Info: ./images/NetworkIP.png used on input line 1490.
(pdftex.def) Requested size: 500.484pt x 213.65504pt.
[35 <./images/Network.png> <./images/NetworkOut.png>]
<./images/NetworkNAT.png, id=757, 925.056pt x 511.9125pt>
File: ./images/NetworkNAT.png Graphic file (type png)
<use ./images/NetworkNAT.png>
Package pdftex.def Info: ./images/NetworkNAT.png used on input line 1497.
(pdftex.def) Requested size: 500.484pt x 276.9598pt.
<./images/NetworkFirewall.png, id=759, 923.24925pt x 391.4625pt>
File: ./images/NetworkFirewall.png Graphic file (type png)
<use ./images/NetworkFirewall.png>
Package pdftex.def Info: ./images/NetworkFirewall.png used on input line 1504.
(pdftex.def) Requested size: 500.484pt x 212.21089pt.
Underfull \vbox (badness 1590) has occurred while \output is active []
[36 <./images/NetworkIP.png> <./images/NetworkNAT.png>]
<./images/NetworkPorts.png, id=772, 923.24925pt x 394.47375pt>
File: ./images/NetworkPorts.png Graphic file (type png)
<use ./images/NetworkPorts.png>
Package pdftex.def Info: ./images/NetworkPorts.png used on input line 1516.
(pdftex.def) Requested size: 500.484pt x 213.84329pt.
[37 <./images/NetworkFirewall.png> <./images/NetworkPorts.png>]
Overfull \hbox (6.18022pt too wide) in paragraph at lines 1532--1533
\T1/pcr/m/n/10 https://joshtronic.com/2018/05/08/how-to-install-nodejs-10-on-ub
untu-1804-lts/\T1/ptm/m/n/10 (-20) . Adems,
[]
("C:\Users\bruno\AppData\Local\Programs\MiKTeX 2.9\tex\latex\listings\lstlang1.
sty"
File: lstlang1.sty 2018/09/02 1.7 listings language file
)
("C:\Users\bruno\AppData\Local\Programs\MiKTeX 2.9\tex\latex\listings\lstlang1.
sty"
File: lstlang1.sty 2018/09/02 1.7 listings language file
)
Overfull \hbox (3.52113pt too wide) in paragraph at lines 1579--1580
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][
][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[][][][][][][][]
[]
<./images/Desplegar.png, id=784, 1131.62775pt x 69.25874pt>
File: ./images/Desplegar.png Graphic file (type png)
<use ./images/Desplegar.png>
Package pdftex.def Info: ./images/Desplegar.png used on input line 1588.
(pdftex.def) Requested size: 500.484pt x 30.63034pt.
[38] [39 <./images/Desplegar.png>] (main.bbl)
AED: lastpage setting LastPage
[36]
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 1475.
Package atveryend Info: Empty hook `AfterLastShipout' on input line 1475.
[40]
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 1640.
Package atveryend Info: Empty hook `AfterLastShipout' on input line 1640.
(main.aux)
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 1475.
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 1475.
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 1640.
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 1640.
Package rerunfilecheck Info: File `main.out' has not changed.
(rerunfilecheck) Checksum: 3E9F65613FD6C51A85361F82D1B927A4;2780.
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 1475.
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 1640.
)
Here is how much of TeX's memory you used:
30003 strings out of 492970
573257 string characters out of 3126594
941924 words of memory out of 3000000
33023 multiletter control sequences out of 15000+200000
628009 words of font info for 286 fonts, out of 3000000 for 9000
30198 strings out of 492970
576263 string characters out of 3126594
942466 words of memory out of 3000000
33153 multiletter control sequences out of 15000+200000
627879 words of font info for 284 fonts, out of 3000000 for 9000
1141 hyphenation exceptions out of 8191
47i,12n,65p,1065b,2023s stack positions out of 5000i,500n,10000p,200000b,50000s
{C:/Users/bruno/AppData/Local/Programs/MiKTeX 2.9/fonts/enc/dvips/base/8r.enc
......@@ -1557,9 +1621,9 @@ es/utmb8a.pfb><C:/Users/bruno/AppData/Local/Programs/MiKTeX 2.9/fonts/type1/urw
/times/utmbi8a.pfb><C:/Users/bruno/AppData/Local/Programs/MiKTeX 2.9/fonts/type
1/urw/times/utmr8a.pfb><C:/Users/bruno/AppData/Local/Programs/MiKTeX 2.9/fonts/
type1/urw/times/utmri8a.pfb>
Output written on main.pdf (38 pages, 963145 bytes).
Output written on main.pdf (42 pages, 1355400 bytes).
PDF statistics:
862 PDF objects out of 1000 (max. 8388607)
301 named destinations out of 1000 (max. 500000)
52119 words of extra memory for PDF output out of 61914 (max. 10000000)
970 PDF objects out of 1000 (max. 8388607)
358 named destinations out of 1000 (max. 500000)
52154 words of extra memory for PDF output out of 61914 (max. 10000000)
......@@ -1457,7 +1457,172 @@ Se han detectado algunos bugs en el servicio que están identificados en el prop
\subsection{Despliegue del servicio}
El despliegue del servicio está perfectamente documentado en el GitLab del proyecto, en la rama \texttt{ExpliClas-v2}. Sin embargo, debe tenerse en cuenta a la hora de realizar el despliegue real del servicio una cuestión de rendimiento. El servicio está configurado, como ya se ha mencionado, para que carga con la primera petición los léxicos de las librerías de SimpleNLG en los 3 idiomas (inglés, gallego y español). Al realizar esta carga al mismo tiempo, la primera petición se ve claramente perjudicada llegando aproximadamente a los 8 segundos de retardo. Para evitar que los usuarios del sistema experimenten esta carga se recomienda al responsable del despliegue que sea el primero en acceder al servicio solicitando una explicación cualquiera.
La construcción y despliegue del servicio en una máquina local está perfectamente documentado en el GitLab del proyecto, en la rama \texttt{ExpliClas-v2}. Sin embargo, debe tenerse en cuenta a la hora de realizar el despliegue real del servicio los aspectos que se marcan en los siguientes apartados.
\subsubsection{Creando una nueva instancia en el CloudStack del CiTIUS}
Aunque no sería estrictamente necesario, puesto que existe una instancia totalmente configurada y preparada para realizar los nuevos despliegues del servicio, es posible que por algún motivo se necesite crear una nueva instancia.
La creación de la instancia es muy sencilla, de hecho basta con seguir la wiki del CiTIUS \cite{cloudstack} donde se trata dicho aspecto.
\subsubsection{Configurando la red de la instancia}
La configuración de la red es un aspecto un poco más complejo, se puede leer en la wiki del CiTIUS \cite{cloudstackred} los aspectos generales de configuración de la red. Sin embargo, se detallan a continuación los pasos concretos para configurar nuestra instancia.
\begin{enumerate}
\item Seleccionamos \texttt{Network} y seleccionamos la red que queremos configurar, en nuestro caso \texttt{net1}, figura \ref{fig:network}.
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/Network.png}
\caption{Sección Network de CloudStack}
\label{fig:network}
\end{figure}
\item Vamos a la pestaña \texttt{Egress rules}, donde estableceremos la regla con \texttt{CIDR} igual a \texttt{0.0.0.0/0} y, en \texttt{protocol}, seleccionamos la opción \texttt{All}. Con esta nueva regla permitimos el tráfico de red desde la instancia hacia el exterior, figura \ref{fig:networkout}.
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/NetworkOut.png}
\caption{Configurar el tráfico hacia el exterior}
\label{fig:networkout}
\end{figure}
\item Vamos a la pestaña \texttt{Details} y pulsamos en \texttt{View IP Addresses}. A continuación seleccionamos la IP de la red, en nuestro casos \texttt{172.16.244.175}, figura \ref{fig:networkip}.
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/NetworkIP.png}
\caption{IP's de la red}
\label{fig:networkip}
\end{figure}
\item A continuación vamos a la pestaña \texttt{Configuration}, donde podremos configurar el cortafuegos y la redirección de puertos, figura \ref{fig:networknat}
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/NetworkNAT.png}
\caption{Configuración de firewall y redirección de puertos}
\label{fig:networknat}
\end{figure}
\item En el cortafuegos, añadimos la regla con \texttt{CIDR} igual a \texttt{0.0.0.0/0} y, en \texttt{protocol}, seleccionamos la opción \texttt{TCP}. De esta forma admitimos el tráfico desde el exterior a la instancia, desde cualquier origen y usando el protocolo TCP, figura \ref{fig:networkfirewall}.
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/NetworkFirewall.png}
\caption{Configuración de firewall}
\label{fig:networkfirewall}
\end{figure}
\item En la redirección de puertos, configurar las siguientes reglas, figura \ref{fig:networkports}:
\begin{itemize}
\item \textbf{\texttt{Private Port}}: \texttt{3000} - \texttt{3000}; \textbf{\texttt{Public Port}}: \texttt{3000} - \texttt{3000}; \textbf{\texttt{Protocol}}: \texttt{TCP}. Hace accesible el puerto del demostrador.
\item \textbf{\texttt{Private Port}}: \texttt{8080} - \texttt{8080}; \textbf{\texttt{Public Port}}: \texttt{8080} - \texttt{8080}; \textbf{\texttt{Protocol}}: \texttt{TCP}. Hace accesible el puerto del tomcat.
\item \textbf{\texttt{Private Port}}: \texttt{22} - \texttt{22}; \textbf{\texttt{Public Port}}: \texttt{22} - \texttt{22}; \textbf{\texttt{Protocol}}: \texttt{TCP}. Hace accesible el puerto 22 para la conexión ssh.
\end{itemize}
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/NetworkPorts.png}
\caption{Configuración de redirección de puertos}
\label{fig:networkports}
\end{figure}
\end{enumerate}
\subsubsection{Instalando y configurando Tomcat}
Para desplegar la API REST del servicio es necesario instalar un Tomcat, al menos en la versión 9. El proceso de instalación puede seguirse tal y como se indica en el siguiente enlace: \\ \texttt{https://www.digitalocean.com/community/tutorials/install-tomcat-9-ubuntu-1804}.
Si se han seguido los pasos correctamente y la configuración de la red es correcta, podríamos acceder al panel de administración de tomcat en: \texttt{\{IP\}:8080}, donde \texttt{IP} se debe sustituir por la IP de la instancia.
\subsubsection{Instalando los paquetes necesarios para construír y desplegar el demostrador}
Tal y como se indica en la documentación del GitLab, se necesita instalar \texttt{NodeJS} (versión 10.13 o superior), \texttt{npm} (versión 6.4.1 o superior) y \texttt{server} para desplegar el demostrador.
La instalación de \texttt{NodeJS} puede realizarse siguiedo el siguiente tutorial: \\ \texttt{https://joshtronic.com/2018/05/08/how-to-install-nodejs-10-on-ubuntu-1804-lts/}. Además, junto a \texttt{NodeJS} se instalará la versión \texttt{npm} que necesitamos.
Finalmente, con el comando \texttt{npm install -g serve} se instalará el servidor \texttt{serve} para realizar el despliegue.
\subsubsection{Configurando serve como un servicio que arranca al inicio}
El servidor Tomcat que hemos instalado debería estar configurado como un servicio que arranca automáticamente si hemos seguido los pasos del tutorial. Sin embargo, para que \texttt{serve} actúe de forma análoga a Tomcat debemos realizar algunas modificaciones.
En primer lugar, en la carpeta \texttt{HOME} de nuestro usuario, crearemos un script, \texttt{expliclas.sh} con el contenido:
\begin{lstlisting}[language=bash]
#!/bin/bash
serve -s /home/usuario/expliclas/build
\end{lstlisting}
Ahora crearemos el archivo \texttt{expliclas.service} en el directorio \texttt{/etc/systemd/system/} con el contenido:
\begin{lstlisting}[language=bash]
[Unit]
[Service]
ExecStart=/home/usuario/expliclas.sh
[Install]
WantedBy=default.target
\end{lstlisting}
Por último configuramos el servicio para que arranque al inicio con:
\begin{itemize}
\item \texttt{systemctl daemon-reload}
\item \texttt{systemctl enable expliclas.service}
\end{itemize}
Reiniciamos la instancia y comprobamos con, \texttt{systemctl status expliclas.service}, que el servicio está ejecutándose.
\subsubsection{Construyendo y desplegando la API REST}
A partir de este paso, podríamos utilizar la instancia ya existente en el CloudStack e ignorar todos los pasos anteriores. Se debe tener en cuenta que las credenciales de acceso para esta instancia son: \texttt{usuario}:\texttt{expliclas} para acceder a la instancia y \texttt{expliclas}:\texttt{expliclas} para acceder al panel de administración de Tomcat.
Antes de desplegar la API debemos construirla correctamente, lo que implica realizar pequeños cambios en el código. En el archivo \texttt{index.html}, debemos cambiar la url de la documentación de Swagger por:
\begin{lstlisting}
url: "https://demos.citius.usc.es/ExpliClasAPI/api/openapi.json"
\end{lstlisting}
En el paquete \texttt{brunolopez.expliclas.services}, en la clase \texttt{SessionService.java} se debe cambiar la url por:
\begin{lstlisting}
@Server(url = "https://demos.citius.usc.es/ExpliClasAPI/api" // CHANGE API BASE URL)
\end{lstlisting}
Una vez realizados los cambios, debemos generar el \texttt{war} del proyecto. Para ello, podemos ejecutar \texttt{mvn compile war:war} en la raíz del proyecto. O bien, compilar el proyecto con ayuda de algún IDE como \textit{Eclipse} o \textit{NetBeans}.
El \texttt{war} del proyecto será creado en el directorio \texttt{target}. Antes de desplegar en el Tomcat, debemos renombrar dicho archivo a \texttt{expliclas.war} para que las rutas sean las adecuadas. Para desplegar la API accedemos a la dirección \texttt{\{IP\}:8080} indicando la \texttt{IP} correspondiente a la instancia. Luego pulsamos en \texttt{Manager App} y accedemos con las credenciales de Tomcat. Finalmente, subimos el \texttt{war} y pulsamos en \texttt{Desplegar}, en la sección que se aprecia en la figura \ref{fig:desplegar}.
\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{./images/Desplegar.png}
\caption{Sección de despliegue de Tomcat}
\label{fig:desplegar}
\end{figure}
Podemos comprobar que se ha desplegado adecuadamente la API si al acceder a la URL \\ \texttt{https://demos.citius.usc.es/ExpliClasAPI} podemos ver la documentación de Swagger.
\subsubsection{Construyendo y desplegando el demostrador}
Para desplegar el demostrador seguimos los siguientes pasos:
\begin{enumerate}
\item Accedemos a la instancia vía ssh usando las credenciales de acceso.
\item Clonamos el proyecto en la instancia mediante: \texttt{git clone -b ExpliClas-v2 \\ https://gitlab.citius.usc.es/bruno.lopez.trigo/ExpliClas-TFG.git}
\item Accedemos al proyecto del demostrador \texttt{ExpliClas-TFG/codigo/expliclas}.
\item Borramos, para evitar posibles problemas, las carpetas \texttt{build} y \texttt{node\_modules}.
\item Modificamos en el archivo \texttt{package.json} el \texttt{homepage} de la siguiente forma.
\begin{lstlisting}
"homepage": "https://demos.citius.usc.es/ExpliClas/"
\end{lstlisting}
\item Modificamos el archivo \texttt{src/config.js} de la siguiente forma:
\begin{lstlisting}
export const BASENAME = "/ExpliClas";
export const API_ROOT = "https://demos.citius.usc.es/ExpliClasAPI/api";
\end{lstlisting}
\item Instalamos las dependencias del proyecto \texttt{npm install}.
\item Compilamos el proyecto para producción con \texttt{npm run build}.
\item Copiamos el directorio base del proyecto \texttt{ExpliClas-TFG/codigo/expliclas} al directorio \texttt{HOME} del usuario.
\end{enumerate}
Si todos los pasos se han seguido correctamente, el servicio debería estar accesible en: \\ \texttt{https://demos.citius.usc.es/ExpliClas/}.
\subsubsection{Evitar problemas de rendimiento}
El servicio está configurado, como ya se ha mencionado, para que cargue con la primera petición los léxicos de las librerías de SimpleNLG
en los 3 idiomas (inglés, gallego y español). Al realizar esta carga al mismo tiempo, la primera petición se ve claramente
perjudicada llegando aproximadamente a los 8 segundos de retardo. Para evitar que los usuarios del sistema experimenten
esta carga se recomienda al responsable del despliegue que sea el primero en acceder al servicio solicitando una explicación, es decir, iniciando sesión en el demostrador y seleccionando alguno de los \textit{datasets} de ejemplo.
\subsection{Otras fuentes de documentación}
......
......@@ -57,6 +57,14 @@
\contentsline {section}{\numberline {14}Bugs detectados}{34}{section.14}
\contentsline {section}{\numberline {15}Otros aspectos importantes}{34}{section.15}
\contentsline {subsection}{\numberline {15.1}Despliegue del servicio}{34}{subsection.15.1}
\contentsline {subsection}{\numberline {15.2}Otras fuentes de documentaci\IeC {\'o}n}{35}{subsection.15.2}
\contentsline {section}{\hspace *{-\tocsep }References}{36}{subsection.15.2}
\contentsline {subsubsection}{\numberline {15.1.1}Creando una nueva instancia en el CloudStack del CiTIUS}{34}{subsubsection.15.1.1}
\contentsline {subsubsection}{\numberline {15.1.2}Configurando la red de la instancia}{35}{subsubsection.15.1.2}
\contentsline {subsubsection}{\numberline {15.1.3}Instalando y configurando Tomcat}{37}{subsubsection.15.1.3}
\contentsline {subsubsection}{\numberline {15.1.4}Instalando los paquetes necesarios para constru\IeC {\'\i }r y desplegar el demostrador}{38}{subsubsection.15.1.4}
\contentsline {subsubsection}{\numberline {15.1.5}Configurando serve como un servicio que arranca al inicio}{38}{subsubsection.15.1.5}
\contentsline {subsubsection}{\numberline {15.1.6}Construyendo y desplegando la API REST}{38}{subsubsection.15.1.6}
\contentsline {subsubsection}{\numberline {15.1.7}Construyendo y desplegando el demostrador}{39}{subsubsection.15.1.7}
\contentsline {subsubsection}{\numberline {15.1.8}Evitar problemas de rendimiento}{39}{subsubsection.15.1.8}
\contentsline {subsection}{\numberline {15.2}Otras fuentes de documentaci\IeC {\'o}n}{39}{subsection.15.2}
\contentsline {section}{\hspace *{-\tocsep }References}{40}{subsection.15.2}
\contentsfinish
......@@ -55,4 +55,16 @@
note = {Visitado: 2018-12-17},
title = {{Pixabay}},
howpublished = {\url{https://pixabay.com/}}
}
@MISC{cloudstack,
note = {Visitado: 2018-12-20},
title = {{Wiki CiTIUS. Crear y borrar una máquina virual.}},
howpublished = {\url{https://wiki.citius.usc.es/es:centro:servizos:cloud:crear_vm}}
}
@MISC{cloudstackred,
note = {Visitado: 2018-12-20},
title = {{Wiki CiTIUS. Las redes en CloudStack.}},
howpublished = {\url{https://wiki.citius.usc.es/es:centro:servizos:cloud:configurar_red}}
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment