Actualités

[28/04/2017] Smile annonce son plan stratégique Open Arrow 2021 et accueille à son capital EURAZEO PME, nouvel actionnaire de référence qui succède à Keensight Capital

Smile, leader de l’intégration et l’infogérance de solutions open source, choisit son nouvel actionnaire majoritaire et s’offre de nouveaux moyens lui permettant le déploiement de son plan stratégique OPEN ARROW 2021 visant à créer un nouveau champion européen de l’IT de plus de 200M€ de chiffre d’affaires.

[25/04/2017] Smile est à nouveau Strategic Partner Alfresco !

Pour la quatrième année consécutive, Smile est Strategic partner Alfresco, le plus haut niveau de partenariat !

[12/04/2017] Smile décroche le statut de Partenaire Global Elite Magento !

Smile est très heureux d'annoncer que nous devenons Partenaire Global Elite Magento - un statut accordé à seulement 5 entreprises dans le monde !

Toutes les actualités picto
       

Vous avez besoin de mettre à jour votre Lecteur Flash Flash 7

Guillemet ouvrant l'actualité des solutions
et des technologies open source Guillemet fermant
picto

Travailler en mode déconnecté avec Palo

Avec l'outil d'ETL de la suite Palo OS et Jedox Suite, travailler en mode web déconnecté devient possible grâce à l'utilisation de simples jobs de synchronisation entre deux serveurs.

Le principe consiste à installer un serveur central regroupant toutes les données, plus un autre  sur la machine de chaque personne ayant besoin de travailler en mode déconnecté. Il faut alors autoriser l'accès à Jedox Web à partir de machines clientes distantes sur les machines locales puisque les jobs ETL ne seront installés que sur le central.

Comme certains paramètres changent en fonction du poste client, il est nécessaire de définir des variables, utilisées dans un composant de connexion «Palo». La connexion au serveur central peut quand à elle être définie dans un composant « PaloGlobal ».

Ces jobs, situés uniquement sur le central, se déroulent de la façon suivante :

  • extraction des données depuis le cube sur la base du serveur source
  • chargement des données dans le cube sur la base du serveur cible

Afin que ce traitement fonctionne, il est nécessaire qu'une base du même nom, contenant les même cubes (et donc les même dimensions) soit présente sur le serveur cible. Si ce n'est pas le cas, le chargement des données ne pourra pas s'effectuer.

Pour aller plus loin

Les bases présentes sur le serveur central pourraient très bien être mises à jours (ajout de cube) régulièrement, ou de nouvelles bases être créées. Dans ce cas, un traitement de pré-synchronisation peut être fait, fonctionnant de la même façon que celui de post-synchronisation.

De plus, dans le cas où de nouvelles bases sont créées sur le central, il n'est pas nécessaire de le faire manuellement dans le gestionnaire OLAP sur tous les serveurs locaux. En effet, cette étape peut également être gérée par l'ETL grâce à un script en Groovy. Le processus est alors un peu plus complexe. Il faut en effet appeler dans le script du job :

  • une étape de chargement de toutes les dimensions
  • une étape de chargement de tous les cubes
  • une étape de chargement des différentes règles mises en place

Voici un exemple de script :

 LOG.info("Starting Jedox Database Copy");
 
LOG.info("Copying dimensions...");
Properties metadata = new Properties();
metadata.put("selector", "dimension");
metadata.put("mask", "000");
state = API.getConnectionMetadata("CP_JedoxSource",metadata);
if (!state.isOK())
    return;
List resultlist = state.getData().split("\n");
resultlist.remove(0);
 
for (String line : resultlist) {
   dimension = line.split(";")[1];
   LOG.info("Copying dimension "+dimension);
   API.setProperty("Dimension",dimension);
   state = API.executeLoad("LD_AllDim");
   if (!state.isOK())
      return;
};
 
(Code pour chargement des cubes et des règles.)
        
LOG.info("Finished Jedox Database Copy");

Dans cet extrait, on crée la base et on copie les dimensions. Afin que ce code fonctionne, il faut créer une variable « Dimension », qui ne prend pas de valeurs. C'est cette variable qui sera appelée dans pour l'extraction et le chargement.

Extraction des dimensions

Chargement des dimensions

Il n'est pas nécessaire de créer deux traitements différents en fonction de si les bases sont déjà présentes sur le serveur ou non. En effet, s'il y en a déjà une, le job Groovy ne l'écrasera pas mais se contentera de mettre à jour les données du ou des cubes présents.

Ainsi, chacun peut travailler sur son propre serveur sans avoir besoin d'accéder au réseau et centraliser ses données en se connectant au central pour lancer le traitement ETL.

En plus des traitements ETL à développer il y est nécessaire d'installer un serveur Palo sur le poste de chaque personne ayant besoin de travailler sans réseau. Cependant, les différents jobs ne sont présents que sur le serveur central, ce qui facilite la maintenance de cette architecture.

Suivez nous sur Twitter

Yohanna Gilles
picto

Commentaires

Soyez la premiere personne à ajouter un commentaire sur cet article.
Ecrire un nouveau commentaire