How to run Onesait Platform locally with the Platform SDK?

Available with SDK October 2021. This SDK applies to Windows environments.

Introduction

This guide describes how to install and use the SDK from the platform.

The SDK aims to start as soon as possible with the platform, so it includes all the necessary tools to run the platform (the Java JDK, Maven for compilation, MariaDB as ConfigDB, MongoDB as RealTimeDB, ...).

The use of the Platform SDK is optional, if you are an expert developer you can use your own tools; then you will probably prefer to start with this guide:(Develop) Cómo compilar y ejecutar el Panel de Control de la Plataforma de Eclipse

Step 1: Download the Windows Platform SDK

This section shows how to install the platform development environment on a Windows computer.

  1. Download the latest version of the SDK that can be found on this page at the end of step 4 (OnesaitDevEnv.Platform.13102021.zip).

  2. The SDK is distributed in ZIP format, once downloaded to our computer we will unzip it in a directory (e.g. C:\OnesaitDevEnv\).

  3. Once unzipped, we will go to the folder where we have unzipped it and run the file start.bat. This creates the virtual drive S: pointing to the directory where I unzipped the SDK. From here on I will always work on S:

 

Step 2: Configure 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"

Step 3: Download and compile the platform code

  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:

Step 4: Execute the Platform ConfigDB

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

 

Step 5: Running the RealTimeDB Platform on 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,

Step 6: Configure the Platform IDE for the first time

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:

Step 7: Loading Platform source code into the IDE for the first time

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:

Step 8: Initialize ConfigDB Platform from 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

  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:

Step 9: Run Platform Control Panel

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

     

Step 10: Run other Platform modulesEl 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:

  1. 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

 

That's all! We hope you enjoy!!!!