Instalación para Desarrollo
En esta sección se cubre el procedimiento completo para configurar un entorno de desarrollo para el backend de SWIM. La versión actual de desarrollo del backend SWIM se ejecuta en una máquina virtual CentOS 7.
Requisitos
- CentOS 7 64bit (nativo o virtualizado)
- Virtual Box 5.1.26 (si usa VM)
- VBoxGuestAdditions 5.0.16 (opcional)
- Java JDK 1.8 o más reciente
- GAMS 24.7.4 - Marzo 16, 2016 - Linux 64 bit
- Apache Maven 3.5 o más reciente
- Mongo DB
Configuración del entorno
Máquina Virtual con VirtualBox
- Descargue e instale Virtual Box [1].
- Descargue e instale una versión nueva/limpia de CentOS o Virtual box image [2].
- Ejecute CentOS 7.
- Actualice CentOS 7 a la versión más reciente con la línea de comandos.
# yum clean all
# yum update
# reboot
- Para usar la capacidad de resolución de pantalla completa VBoxGuestAdditions tendría que estar instalado.
Monte el archivo iso en su unidad de máquina virtual y siga las instrucciones que se presentan [aquí] (https://wiki.centos.org/HowTos/Virtualization/VirtualBox/CentOSguest).
Si las adiciones de invitados se instalan correctamente, podrá usar la resolución de pantalla completa para la máquina virtual CentOS.
Dependencias de Java
- Asegúrese de que la versión actual de Java JDK instalada sea 1.8 o superior.
- Puede usar la línea de comando para verificar la versión actual:
# java -version
- Puede descargar la última versión de Java JDK aquí.
- Instale Apache Maven
- Compruebe si Maven se instaló correctamente utilizando el siguiente comando:
# mvn --version
MongoDB
- MongoDB se usa como el administrador de base de datos predeterminado para almacenar las ejecuciones del modelo. Descargue e instale la edición de comunidad de MongoDB
- Importe una instancia limpia de la base de datos mongo watermodels en mongoDB (Disponible pronto) .
Instalación de GAMS
- Descargue GAMS versión 24.7.4 desde aquí
- Siga la documentación de GAMS para las instrucciones de instalación aquí
Repositorio Local Maven para GAMS API
- Para usar la API de GAMS como una dependencia de Maven, será necesario crear un repositorio personalizado local.
Usando la línea de comando, escriba el siguiente comando, asegurándose de que las rutas de instalación de GAMS sean correctas:
# mvn install:install-file -Dfile=/opt/gams/gams24.7_linux_x64_64_sfx/apifiles/Java/api/GAMSJavaAPI.jar -DgroupId=org.gams.api -DartifactId=gams-api -Dversion=1.0 -Dpackaging=jar
- Copie los archivos de dependencia API GAMS (/opt/gams/gams24.7_linux_x64_64_sfx/apifiles/Java/api) en la misma ruta donde se creó el repositorio de maven (carpeta .m2 en el directorio de usuario actual).
Instalar y ejecutar el servicio WMD.
Nota: el repositorio público estará disponible después del primer lanzamiento formal.
- Descargue o clone el repositorio público del backend de modelado de agua.
- El proyecto fuente se ubica en el siguiente directorio:
\water-modeling-backend\Java\orchestrator
- Modifique el archivo settings.yml según sus rutas de instalación y puertos deseados.
- Abra los puertos del sistema seleccionados si es que el servicio estará disponible fuera del host.
Funcionando como un servicio web
1. Ejecute un comando de instalación de Maven en el proyecto.
2. Ejecute el jar compilado con el siguiente comando del directorio orchestrator:
# java -jar target/wmd-0.9.jar server settings.yml
3. Si la ejecución es exitosa, el servicio web estará disponible en localhost:port
4. Vaya a Tutoriales>Servicio Web de Modelado de Agua para obtener documentación sobre cómo probar el servicio web.
Corriendo independiente desde eclipse
1. Instala la última versión de eclipse [6].
2. Importe el proyecto Maven a Eclipse
File > Import ... > Maven > Existing Maven Projects
3. Seleccione la carpeta del proyecto Java/orchestrator en el repositorio.
4. Ejecute una instalación maven haciendo clic derecho en el proyecto y navegando a:
Run as > Maven install
5. Copie los archivos de la biblioteca Java GAMS API en el directorio de destino generado para el proyecto.
6. Modifique el archivo App.java dentro del paquete utep.cybershare.edu según las rutas de su entorno.
Línea 49: archivo json de entrada de escenario modelo.
Líneas 53-57: parámetros de conexión MongoDB.
7. Modifique el archivo BucketV4_Dev.java dentro del paquete utep.cybershare.edu.runner según las rutas de su entorno.
Línea 164: ruta de trabajo de GAMS y ruta de instalación de GAMS.
Línea 200: archivo de modelo GAMS .gms
Distribuidor de Agua versión Lite
El distribuidor de agua Lite es una aplicación Java simplificada que lee una especificación de escenario modelo y ejecuta un modelo de gams correspondiente sin una base de datos ni código dependiente del servicio web. El proyecto está disponible en Java / WMD-Lite.
Nota: la versión del prototipo actual se actualizará antes del lanzamiento formal de la aplicación WMD completa.
Referencias
[1] Virtual Box - https://www.virtualbox.org/wiki/Downloads
[2] Osboxes.org - http://www.osboxes.org/centos/
[3] VBoxGuestAdditions - https://wiki.centos.org/HowTos/Virtualization/VirtualBox/CentOSguest
[4] GAMS - https://www.gams.com/
[5] MongoDB - https://www.mongodb.com/
[6] Eclipse - https://eclipse.org/
Información del contacto
Luis Garnica Chavira
Consultor de Ingeniería de Software
Git Gud Consulting SAS
luis@gitgudconsulting.com