Entregable | Librería factoria de URIs |
---|---|
Fecha | 28/04/2021 |
Revisado por | Paloma Terán Pérez |
Proyecto | ASIO (Arquitectura Semántica e Infraestructura Ontológica) en el marco de la iniciativa Hércules para la Semántica de Datos de Investigación de Universidades que forma parte de CRUE-TIC |
Módulo | Arquitectura Semántica |
Tipo | Documentación |
Objetivo | El presente documento describe el proceso de compilación y despliegue de la librería Factoría de URIs |
Documentación | Esquema de URIs Buenas practicas para URIs Hércules Manual de usuario (documentación de alto nivel) Documentación técnica (documentación de bajo nivel) Documentación API REST de la Factoria de URIs (documentación de bajo nivel) README docker |
En el presente documento se describen los pasos necesarios para compilar/ejecutar la presente librería. Para ello se detallan los pasos necesarios, según el perfil de usuario, pudiéndose así adaptar a distintos entornos de despliegue
La librería Factoría de URIs, usa MariaDB para gestionar la persistencia de la URIs, por lo tanto todos los pasos mencionados en este documento, necesitan un acceso a una base de datos MariaDB. Los parámetros de conexión para la base de datos pueden establecerse por variables de entorno tal como se indica en el fichero README.md (sección Variables de entorno).
También es posible y recomendable desplegar el entorno (con MariaDB adecuadamente configurado para su uso por la librería). Esto esta descrito en en el fichero README.md (sección entorno de desarrollo Docker).
Se describen los siguientes modos para ejecutar la aplicación según el perfil de usuario:
En la presente sección se describen los pasos a seguir por un usuario final, el cual definimos como aquel usuario que únicamente tiene interés en ejecutar la librería de la forma más simplificada posible, abstrayéndose de detalles de implementación.
Para ello daremos dos opciones:
Para ello tenemos que seguir los siguientes pasos:
-
Descarga de binarios de la ultima release en el repositorio de la librería o mediante el siguiente enlace
-
Configurar variables de entorno (si no queremos aplicar los valores por defecto) tal como se indica en README.md
-
Ejecutar librería desde el fichero .jar descargado mediante el siguiente comando siguiente comando (desde el directorio donde se encuentra el .jar)
java -jar uris-generator-back-1.0.0.jar
- Una vez ejecutado el jar tendremos desplegados (SERVER_PORT por defecto esta configurado a 9326):
- Aplicación URIS Factory: http://localhost:{SERVER_PORT}
- Swagger URIS Factory: http://localhost:{SERVER_PORT}/swagger-ui.html
- Docker (disponible aquí)
Para ello tenemos que seguir los siguientes pasos:
-
Descargar imagen Docker desde su repositorio en Docker Hub (imagen en docker hub) con el siguiente comando
docker pull herculescrue/uris-generator:latest
-
Configurar variables de entorno (si no queremos aplicar los valores por defecto) tal como se indica en README.md
-
Ejecutar imagen descargada con el siguiente comando
docker run -e APP_PERSISTENCE_DATASOURCE_DRIVER-CLASS-NAME=org.mariadb.jdbc.Driver -e APP_PERSISTENCE_DATASOURCE_USERNAME={usuario_en_ddbb} -e APP_PERSISTENCE_DATASOURCE_PASSWORD=sqlpass -e APP_PERSISTENCE_DATASOURCE_URL=jdbc:mariadb://127.0.0.1:3307/app?ssl=false -p 9326:9326 herculescrue/uris-generator:latest
- -d: Indica que se ejecute en segundo plano
- -p: establece el mapeo de puertos entre el puerto externo y el puerto interno
- -t: Tag que se aplacará a el contenedor.
En la presente sección se describen los pasos a seguir por un usuario técnico o avanzado, el cual definimos como aquel usuario interesado en los detalles de la implementación y con acceso al codigo fuente.
Para ello tenemos que seguir los siguientes pasos:
-
Descarga de el código fuente en el repositorio del proyecto
git clone https://github.com/HerculesCRUE/ib-uris-generator.git
-
Compilación del proyecto con el comando
mvn clean package
Este comando, compilara el proyecto, gestionara las dependencias , ejecutara los test y creara los ejecutables binarios
- Los anteriores
-
Buscar y acceder modulo uris-generator-back y copiar el ejecutable uris-generator-back-1.0.0.jar a el directorio deseado para su ejecución.
-
Configurar variables de entorno (si no queremos aplicar los valores por defecto) tal como se indica en README.md
-
Ejecutar el comando
java -jar uris-generator-back-1.0.0.jar
-
Una vez ejecutado el jar tendremos desplegados (SERVER_PORT por defecto esta configurado a 9326):
- Aplicación URIS Factory: http://localhost:{SERVER_PORT}
- Swagger URIS Factory: http://localhost:{SERVER_PORT}/swagger-ui.html
- Docker (disponible aquí)
-
Buscar y acceder por consola a el directorio docker-build, donde se encuentra el fichero Dockerfile de configuración para creación del contenedor.
-
Ejecutar el comando para crear la imagen del contenedor
docker build --tag {nombre_imagen:versión_imagen} .
-
Configurar variables de entorno (si no queremos aplicar los valores por defecto) tal como se indica en README.md
-
Ejecutar imagen creada con el siguiente comando
docker run -d -p {puerto_externo:puerto_interno} {nombre_imagen:versión_imagen} -t {nombre_imagen:versión_imagen}
- -d: Indica que se ejecute en segundo plano
- -p: establece el mapeo de puertos entre el puerto externo y el puerto interno
- -t: Tag que se aplacará a la imagen.
-
Una vez ejecutado el jar tendremos desplegados (SERVER_PORT por defecto esta configurado a 9326):
- Aplicación URIS Factory: http://localhost:{SERVER_PORT}
- Swagger URIS Factory: http://localhost:{SERVER_PORT}/swagger-ui.html
Los artefactos se encuentran dentro de uris-generator-back/target
- Artefacto: uris-generator-back-{version}.jar
Los artefactos se encuentran dentro de uris-generator-service/target
- Artefacto: uris-generator-service-{version}.jar
Los artefactos se encuentran dentro de triples-storage-adapter-service-abstractions/target
- Artefacto: triples-storage-adapter-service-abstractions-{version}.jar
Los artefactos se encuentran dentro de triples-storage-adapter-jpa-abstractions/target
- Artefacto: triples-storage-adapter-jpa-abstractions-{version}.jar
Los artefactos se encuentran dentro de triples-storage-adapter-swagger/target
- Artefacto: triples-storage-adapter-swagger-{version}.jar