¿Cómo ejecutar Onesait Platform en local con el SDK de Plataforma?

¿Cómo ejecutar Onesait Platform en local con el SDK de Plataforma?

Disponible con SDK de octubre de 2021. Este SDK aplica a entornos Windows.

DEPRECADO. La versión 2023 con la JDK17 está disponible en el siguiente enlace: https://onesaitplatform.atlassian.net/wiki/spaces/DOC/pages/3738370049

Introducción

Esta guía describe cómo instalar y utilizar el SDK desde la plataforma.

El SDK tiene el objetivo de arrancar cuanto antes con plataforma, de modo que incluye todas las herramientas necesarias para ejecutar la plataforma (el JDK de Java, Maven para la compilación, MariaDB como ConfigDB, MongoDB como RealTimeDB, ...)

El uso del SDK de Plataforma es opcional, si eres un desarrollador experto puedes utilizar tus propias herramientas; entonces probablemente prefieras empezar con esta guía: (Develop) Cómo compilar y ejecutar el Panel de Control de la Plataforma de Eclipse

Paso 1: Descargar el SDK de Plataforma Windows

Esta sección muestra cómo instalar el entorno de desarrollo de la plataforma en un ordenador con Windows.

  1. Nos descargaremos la última versión del SDK que podemos encontrar en esta misma página al final del paso 4.

  2. El SDK se distribuye en formato ZIP, una vez descargado a nuestro equipo lo descomprimiremos en un directorio (por ejemplo C:\OnesaitDevEnv\).

  3. Una vez descomprimido, iremos a la carpeta donde lo hayamos descomprimido y ejecutaremos el archivo start.bat. Esto crea la unidad virtual S: apuntando al directorio donde descomprimí el SDK. A partir de aquí trabajaré siempre sobre S:

 

Paso 2: Configurar git

La primera vez que lancemos el entorno tendremos que configurar el cliente de Git:

  1. Abriremos una línea de comandos en S:\ ejecutando S:\start.bat

  2. Ejecutaremos git config --list para ver la configuración, si no tenemos la propiedad http.sslverify=false, la estableceremos ejecutando git config --global http.sslverify false

  3. Para trabajar con ficheros grandes habilitaremos la opción con: git config --global core.longpaths true

  4. También podemos configurar el nombre y correo electrónico del usuario de Git:
    git config --global user.name "mi_nombre"
    git config --global user.email "mi_correo"

Paso 3: Descargar y compilar el código de la plataforma

  1. En la línea de comandos sobre S:\ navegaré a S:\sources\onesait\onesaitplatform

  2. Desde esta carpeta haré el clone del repositorio, que me pedirá el usuario y password del repo.

    1. Versión Comunidad: git clone https://github.com/onesaitplatform/onesaitplatform-cloud

    2. Versión Enterprise (equipo Producto): git clone https://gitlab.devops.onesait.com/onesait/platform/engine/onesait-platform/onesait-cloud-platform.git Al intentar descargar este repositorio del gitlab corporativo (https://gitlab.devops.onesait.com/onesait) al tener activado el doble factor de autenticación me encontraré con este error al poner los credenciales:

      Entonces tendré que acceder al Gitlab con mis credenciales y dentro de Access Tokens:

      crearé un Token para poder acceder:

      y ahora usaré este Token como password al conectarme:

         

  3. Una vez descargado iremos al directorio donde hemos clonado el repositorio:

  4. Compruebo en qué rama estoy ejecutando git branch , en función del repo descargado obtendré diferente valor

  5. Iremos al directorio sources y ejecutaremos >mvnnoTest clean install para compilar todo el código (mvnnoTest es un alias de mvn -D maven.test.skip=true)

La primera compilación llevará varios minutos porque Maven tendrá que descargarse todas las dependencias (el Maven Repo está configurado en s:\m2_repo).

Si no hay ningún problema obtendremos como resultado:

Paso 4: Ejecutar la ConfigDB de Plataforma

Una vez compilado el código de la Plataforma inicializaremos los servicios básicos de persistencia de Plataforma. Empezaremos por lanzar la ConfigDB (sobre MariaDB 10).

Para ejecutar los módulos de Plataforma (por ejemplo el ControlPanel) es necesario que esté arrancada la ConfigDB

  1. Abrimos una línea de comandos con S:\start.bat

  2. Arrancamos la ConfigDB (sobre MariaDB) ejecutando ConfigDB.start. Si todo va bien la línea de comandos se mantendrá abierta.

  3. Ahora abriremos una conexión con la ConfigDB para verificar que los esquemas de configuración están creados. para eso desde una línea de comandos en S: ejecutaré ConfigDB.browser.bat (este comando nos abre un cliente HeidiSQL). Configuraremos la conexión al MariaDB local con 127.0.0.1:3306 root/changeIt!

  4. Desde el browser puedo ver los esquemas onesaitplatform_config y onesaitplatform_master_config

 

Paso 5: Ejecutar la RealTimeDB de Plataforma sobre Mongo

Tras lanzar la ConfigDB (sobre MariaDB 10) ahora lanzaré la RealTimeDB sobre MongoDB.

  1. Abrimos una línea de comandos con S:\start.bat

  2. Arrancamos Mongo ejecutando Mongo.start. Si todo va bien la línea de comandos se mantendrá abierta.

  3. Puedo abrir la consola de Mongo ejecutando s:\Mongo.console desde la que puedo conectarme a las BDs, hacer consultas sobre las colecciones,

Paso 6: Configurar el IDE de Plataforma por primera vez

El SDK de Plataforma incluye como IDE Spring Tool Suite (v4), en este punto explicaremos cómo configurarlo.

  1. Abrimos una línea de comandos con S:\start.bat

  2. Arrancamos el STS ejecutando eclipse. Si todo va bien la línea de comandos se mantendrá abierta.

  3. En File>Switch Workspace, nos aseguramos de estar usando el espacio de trabajo S:\tools\eclipse_workspace

  4. En Window>Preferences>Java>Installed JRES, configuraremos s:\tools\jdk8 como la JVM con la que compilar (Plataforma funciona con versiones de la JVM iguales o superiores a la 8

  5. En Window>Preferences>Java>Compiler colocaré JDK Compliance 1.8:

  6. En Window>Preferences>Maven>Installations, configura s:\tools\maven como la instalación por defecto de Maven:

  7. En Window>Preferences>Maven>Global Settings, selecciona s:\tools\maven\conf\settings.xml

  8. En Window>Preferences>Maven>Error/Warnings marcaré con Ignore todas las opciones:

Paso 7: Cargar código fuente de Plataforma en el IDE por primera vez

La primera vez que arranque el IDE tendré que cargar el código de los diferentes módulos de plataforma:

  1. Abrimos una línea de comandos con S:\start.bat y arrancamos el IDE con eclipse.

  2. En el ID en la opción de menú File>Import>Maven>Existing Maven Projects, selecciono el directorio donde tengo los fuentes de plataforma (s:\sources\onesait\onesaitplatform\onesait-cloud-platform\sources\)

  3. En esta primera ejecución elegiré todos los proyectos (luego puedo tener abiertos sólo los que necesite para el tipo de trabajo que tenga que hacer). La primera vez el Eclipse tardará un tiempo en descargarse las dependencias de Maven y en compilar:

  4. La primera vez nos encontraremos con este error de un plugin de Maven, para solucionarlo bastará con instalarlo:

  5. Si todo ha ido bien, tras estos passos tendré compilado el proyecto:

Paso 8: Inicializar ConfigDB de Plataforma desde IDE

La Plataforma tiene una ConfigDB donde almacena todas sus configuraciones. Para que funcione plataforma, esta ConfigDB debe estar inicializada (con sus datos de configuración), en este paso vamos a ver cómo inicializarla, esto se hace con el proyecto config-init

La ConfigDB puede cambiar entre major releases. A la hora de desarrollar lo más fácil es borrar en la ConfigDB los esquemas onesaitplatform-config y onesaitplatform-master-config a través del ConfigDB.Browser y volver a inicializarla como vamos a hacer en este paso.

  1. Abrimos una línea de comandos con S:\start.bat y arrancamos el IDE con eclipse.

  2. Nos aseguramos de que tenemos la ConfigDB lanzada (Paso 4 de este tutorial).

  3. En el IDE vamos al proyecto onesaitplatform-config-init y localizamos la clase SystemConfigInitApplication. Esta clase se encarga de inicializar la plataforma, no sólo la ConfigDB, aunque ahora sólo nos interesa inicializar la ConfigDB.

  4. Sobre la clase, con el botón derecho selecciono Run As>Java Application:

  5. Para ver si se ha inicializado la ConfigDB puedo mirar los logs en la Consola:

  6. También puedo acceder a la ConfigDB ejecutando s:\ConfigDB.browser y ver si las tablas se han populado, por ejemplo en la tabla ontology en el esquema onesaitplatform_config:

Paso 9: Ejecutar Control Panel de Plataforma

Una vez populada la ConfigDB puedo lanzar el Control Panel de Plataforma. El Control Panel es un módulo de plataforma que no requiere la ejecución de ningún otro para funcionar y ofrece un UI Web, APIs REST de gestión además de actuar como un nodo CacheServer.

En función de la labor que vayamos a hacer sobre el Control Panel puede ser recomendable también tener lanzado el MongoDB conforme indicammos en el paso 5.

  1. Abrimos una línea de comandos con S:\start.bat y arrancamos el IDE con eclipse.

  2. Vamos el proyecto onesaitplatform-controlpanel y a la clase ControlPanelWebApplication:

  3. Sobre la clase, con el botón derecho selecciono Run As>Java Application

  4. Tras unos segundos en la consola de ejecución veré esta traza (que indica que la aplicación se ha arrancado y no se ha podido registrar en el Monitoring UI de Plataforma):

  5. Ahora puedo acceder al ControlPanel accediendo a http://localhost:18000/controlpanel/

  6. Puedo acceder al ControlPanel con los usuarios

     

Paso 10: Ejecutar otros módulos de Plataforma

  1. El ControlPanel es un módulo independiente, el resto de módulos necesitan la ejecución de al menos el módulo CacheServer. Para arrancar este módulo ejecutaré la clase CacheServerApplication:

  2. Tras esto puedo ejecutar el resto de módulos de plataforma, los módulos de plataforma se encuentran en la carpeta modules y son estos, el resto son servicios y librerías que se ejecutan dentro de estos módulos

 

¡Eso es todo! ¡¡¡Esperamos que lo disfrutes!!!