Les données issues des applications (sécurité, licences...) sont répliquées et stockées dans un entrepôt de données. Actuellement, une base Oracle est un pré-requis pour la base servant d'entrepôt de données. Il est possible d'utiliser une base "Always Free Oracle Autonomous Database" dans le cas où une licence supplémentaire est nécessaire.


I. Pré-requis (ORACLE)


Il est nécessaire de créer un schéma et un utilisateur pour l'application. 

La taille du schéma dépend de la volumétrie des données sources à charger et de la durée de rétention des données dans l'application. Une taille de 10Go initiale est toutefois recommandée.

L'utilisateur doit être défini avec un quota illimité sur le schéma. Il doit avoir les droits de création de tables, d'index, de collecter les statistiques et également la possibilité d'exécuter la bibliothèque DBMS_CRYPTO.


Un exemple de script est disponible sur cette page.


II. Installation des composants


    II.a    Répertoire d'installation


Créer un répertoire pour l'installation de l'ensemble des composants :

    - Les logiciels pré-requis ci-dessous

    - L'application NOMASX-1


Ce répertoire sera appelé <NOMASX1_HOME> dans la suite de ce guide.


Exemple de répertoire pour Windows :

    c:\nomasx1


Exemple de répertoire pour Linux :

    /app/nomasx1

Dé préférence pour Linux un utilisateur spécifique pour l'application est à créer.


    II.b     Node JS


NOMASX-1 étant entièrement développé avec Node JS, c'est un composant indispensable dans l'installation. Celui-ci peut être installé avec les options par défaut, l'ensemble des modules nécessaires pour la suite étant inclus dans l'archive fournie.

La version LTS est la version recommandée qui peut se télécharger à l'adresse suivante : https://nodejs.org/en/download/

Choisir la version en fonction de l'architecture sur laquelle déployer NOMASX-1. 



      II.c    InstantClient pour Oracle


Les connexions à la base de données sont réalisées en utilisant un client JDBC pour Oracle. InstantClient est le client recommandé pour établir les connexions. L'outil est disponible à l'adresse suivante :

https://www.oracle.com/database/technologies/instant-client/downloads.html

Choisir la version en fonction de l'architecture sur laquelle déployer NOMASX-1 et télécharger le "Basic Package".


Une fois le fichier téléchargé, décompresser l'archive dans le répertoire <NOMASX1_HOME>/instantclient

Créer le répertoire <NOMASX1_HOME>/instantclient/network/admin et copier le tnsnames.ora de connexion à votre base de données.


     II.d    JDK 1.8


Certaines fonctionnalités étant basées sur du Java, il est indispensable d'installer un JDK sur le serveur contenant l'application NOMASX-1.

La version recommandée étant JDK 1.8_202 ou ultérieure, téléchargeable à l'adresse suivante :

https://www.oracle.com/java/technologies/javase-jdk8-downloads.html


    II.e   Autres (Windows seulement)


Deux autres utilitaires sont nécessaires pour le fonctionnement :

    - NSSM (outil utilisé pour la création des services) : https://nssm.cc/ci/nssm-2.24-101-g897c7ad.zip

    - Visual Studio 2017 Redistribuable pour une version InstantClient 19c ou plus

    - Visual Studio 2013 Redistribuable pour une version InstantClient inférieure à 19c

https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads


    II.f    Installation NOMASX-1


Décompresser l'archive fournie nomasx1_<version>.zip dans le répertoire <NOMASX1_HOME>. L'arborescence obtenue devrait être comme suit :

----  <NOMASX1_HOME>

    ----- nodejs

    ----- instantclient

    ----- java

    ----- nomasx1w-agent

    ----- nomasx1w-backend

    ----- nomasx1w-frontend

    ----- agent.properties

    ----- nomasx1.ini


L'ensemble des pré-requis pour l'installation est terminée. Vous pouvez passer à l'étape de configuration.


III. Paramétrage


    III.a    Fichier de configuration

    

        III.a.i    nomasx1.ini


Le fichier de configuration sera à modifier deux fois. A cette étape pour pouvoir démarrer l'ensemble des utilitaires permettant de réaliser le setup complet puis à l'issue pour sauvegarder le mot de passe crypté.

Un exemple de fichier est disponible sur cette page.


       III.a.ii    agent.properties


Le fichier de configuration est utilisé par les scripts Talend permettant d'alimenter les données de l'application. Un exemple de fichier est disponible sur cette page. Le mot de passe sera à renseigner à la dernière étape après l'encryptage de ce dernier.


    III.b    Rundeck et Tomcat


Rundeck est un produit open source utilisé pour l'ordonnancement des travaux. Il permet également de réaliser la configuration initiale de l'application NOMASX1, à savoir :

    - Encryptage des mots de passes

    - Installation des services (Windows et Linux)


        III.b.i    Configuration Tomcat


Par défaut le port d'écoute TOMCAT a été paramétré sur le port 3001. Il est possible de le modifier en suivant la procédure ci-dessous :


Ouvrir le fichier de configuration suivant

<NOMASX1_HOME>/nomasx1w-agent/rundeck/tomcat/conf/server.xml


Modifier les lignes suivantes avec les ports souhaités

   <Connector port="3001" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />


        III.b.ii    Configuration Rundeck

 

Pour réaliser la configuration de Rundeck, un premier démarrage est nécessaire afin de déployer l'application dans un container Tomcat.


Se positionner dans le répertoire <NOMASX1_HOME>

Exécuter la commande 

node nomasx1w-agent/nomasx1-agent.js


Vérifier le démarrage en consultant le fichier tomcat.log se trouvant dans le répertoire <NOMASX1_HOME/nomasx1w-agent/tomcat.log. La ligne suivant indique le démarrage de l'application :

[2020-02-27 08:56:52.109]  INFO BootStrap --- [ost-startStop-1] Rundeck startup finished in 611ms


Arrêter l'exécution de l'agent via CTRL-C afin de configurer correctement l'application Rundeck (nom du serveur, port d'écoute).

Deux fichiers sont à modifier :

    - <NOMASX1_HOME>/nomasx1w-agent/rundeck/base/etc/framework.properties

Modifier les lignes suivantes avec le nom du serveur et le port d'écoute :

framework.server.name = localhost

framework.server.hostname = localhost

framework.server.port = 3001

framework.server.url = http://localhost:3001/rundeck


    - <NOMASX1_HOME>/nomasx1w-agent/rundeck/base/server/config/rundeck-config.properties

grails.serverURL=http://localhost:3001/rundeck

server.contextPath=/rundeck


Relancer l'agent afin de finaliser l'installation et la configuration

node nomasx1w-agent/nomasx1-agent.js


    III.c    Finalisation de l'installation

 

Ouvrir un navigateur internet et se rendre à l'URL suivante (remplacer localhost par le nom de votre serveur défini à l'étape précédente)

http://localhost:3001/rundeck/

L'utilisateur et le mot de passe par défaut sont admin / admin. Le mot de passe pourra être modifié par la suite.


Créer un nouveau projet



Importer les templates de script. Le fichier de template est disponible sur cette page. Sélectionner le fichier puis cliquer sur "Import" en bas de page.



Une fois l'import terminé, les jobs suivants seront disponibles dans l'interface d'administration Rundeck



        III.c.i    Encryption du mot de passe pour l'agent


En fonction du type plateforme, exécuter le script approprié : 01_ENCRYPT_PASSWORD_AGENT

Cliquer sur la flèche, renseigner le mot de passe de l'utilisateur de la base de données et cliquer sur "Run Job Now".



A la fin de l'exécution, copier-coller le mot de passe affiché à l'écran comme ci-dessous et le renseigner dans le fichier de configuration <NOMASX1_HOME>/agent.properties



   III.c.ii    Encryption du mot de passe pour le backend


En fonction du type plateforme, exécuter le script approprié : 02_ENCRYPT_PASSWORD_BACKEND

Cliquer sur la flèche, renseigner le mot de passe de l'utilisateur de la base de données et cliquer sur "Run Job Now".


A la fin de l'exécution, copier-coller le mot de passe affiché à l'écran comme ci-dessous et le renseigner dans le fichier de configuration <NOMASX1_HOME>/nomasx1.ini


   III.c.iii    Création des services


En fonction du type plateforme, exécuter le script approprié : 03_CREATE_SERVICES.

Pour linux, vous devez spécifiez l'utilisateur qui exécutera les services.


   III.c.iv    Modification du script 00_J_AGENT (Windows uniquement)


Pour des raisons liées aux variables d'environnement sous Windows, le script doit être modifié afin de remplacer chacune des variables nommés $VARIABLE par %VARIABLE%


Cliquer sur le script, dans "Action" cliquer sur "Edit this Job"


Aller dans l'onglet "Workflow" puis cliquer sur la commande. Modifier chaque variable d'environnement et sauvegarder



L'installation est terminée. Vous pourrez arrêter l'agent et redémarrer en utilisant les services.