Installation avec le serveur de synchronisation

Cette page décrit comment installer le serveur ObsDeb, servant à la synchronisation vers une base SIH-Adagio sous Oracle.

Pré-requis

Avant l'installation du serveur ObsDeb, veuillez vérifier les éléments suivants :

  • Base Oracle (10g ou +) avec un schéma SIH-Adagio (v3.7.0 ou +). Voir le site SIH-Adagio pour plus d'information.

  • Dans le schéma SIH-Adagio:

    • Vérifier que la procédure de calcul des droits est bien à jour : Dans l'historique de la fonction, vérifier que la mise à jour du 03/10/14 est bien présente (ajout du niveau d'acquisition OBSERVED_LANDING). Cette prodécure est intégrées aux scripts de création du schéma SIH-ADAGIO.

    • Vérifier que des stratégies existent bien (table STRATEGY) pour chacun des programmes de collecte ObsDeb (table PROGRAM) : SIH-OBSDEB, SIH-TELDEB, SIH-OPRDEB. Vous pouvez effectuer cette vérifier en utilisant l'outil Allegro-q2.

    • Pour chacune de ces stratégies, vérifier qu'il existe au moins un PSFM sur le niveau d'acuisition 'OBSERVED_LANDING'. Ceci est nécessaire pour que la procédure de calcul des droits génère les lignes relatives aux programmes de collecte ObsDeb.

    • Enfin, assurer vous que les utilisateurs qui utiliseront la synchronisation ont bien des droits sur les programmes de collecte ObsDeb. Utiliser pour cela l'outil d'administration des référentiels.

Installation de la partie serveur

Installation de la version autonome (sans Tomcat) :

Télécharger la dernière version de l'application serveur en cliquant ici . (ou une autre version ici )

Puis suivez les étapes suivantes :

  • Dézipper l'archive dans un répertoire de votre choix.

  • Editer le fichier <OBSDEB-SERVER>/conf/adagio-server.config

  • Modifier les propriétés suivantes :

    • adagio.ui.security.ldap.url. Par exemple :
      ldap://ldap.domain.com
    • adagio.ui.security.ldap.baseDn. Par exemple :
      ou=annuaire,dc=domain,dc=com
    • pour la connection Oracle : URL, user/pwd Pour le schema, attention à bien mettre le propriétaire des tables (généralement SIH2_ADAGIO_DBA) même si un user autre est utilisé.

  • Lancer le serveur :
    • Sous Unix : webapp.sh (ou webapp.sh --port NNNN)

    • Sous Windows : webapp.bat (ou webapp.bat --port NNNN)

  • Vérifier que le serveur est bien démarré :
    • Ouvrir dans un navigateur l'adresse : http://localhost:8080/ Une page d'accueil devrait s'ouvrir, après authentification avec vos login/mot de passe LDAP

  • En cas d'erreur OutOfMemoryException :
    • Ajuster les capacités mémoire de la JVM dans le fichier de lancement (webapp.bat ou webapp.sh).

    • Déduire le nombre maximum de processus simulatné, en modifiant l'option de configuration: adagio.ui.synchro.maxPoolSize. Il s'agit du nombre de processus maximum (importation et exportation) qui peuvent être éxecuté simultanément (Par défaut: 5). Au dela de cette valeur, les demandes sont mises en attente (dans une file d'attente).

note :
Les écrans HTML visibles depuis une navigateur ne sont pas utilisés par le client Allegro-ObsDeb, qui utilise des appels en webservice REST/JSON. Ces écrans servent uniquement pour le développement et les tests (ex: pour vérifier que le serveur est bien démarré).

Déploiement sous Tomcat > avec variables d'environnement :

Vouc pouvez choisir de déployer sous une serveur Tomcat :

  • Télécharger la version autonome, comme indiqué au paragraphe précedent.

  • Editer le fichier <OBSDEB-SERVER>/conf/adagio-server.config, comme indiqué au paragraphe précedent.

  • Dans le répertoire <OBSDEB-SERVER>/lib/, renommer le fichier .war en adagio-server.war

  • Copier le fichier renommé dans <TOMCAT_HOME>/webapps/

  • Copier les drivers JDBC dans les librairies du serveur:
    • copier les deux fichiers <OBSDEB-SERVER>/lib/*.jar dans <TOMCAT_HOME>/lib/

  • Configurer les variables de configuration, dans les scripts de lancement de Tomcat :
    • Sous Unix : Editer le fichier <TOMCAT_HOME>/bin/startup.sh. Ajouter, tout en haut du script, les lignes suivantes :

obsdeb_config_path=/path/to/config/file; export obsdeb_config_path
obsdeb_workspace_path=/path/to/working/directory; export obsdeb_workspace_path
JAVA_OPTS="${JAVA_OPTS} -Dadagio.basedir=${obsdeb_workspace_path} -Dsynchro-server.config=${obsdeb_config_path}";export JAVA_OPTS

.

  • Sous Windows : Editer le script de lancement de Tomcat <TOMCAT_HOME>/bin/startup.bat. Ajouter, tout en haut du script, les lignes suivantes

set obsdeb_config_path=c:\path\to\config\file
set obsdeb_workspace_path=c:\path\to\working\directory
set JAVA_OPTS=-Dadagio.basedir=${obsdeb_workspace_path} -Dsynchro-server.config=${obsdeb_config_path}

.

Déploiement sous Tomcat > via META-INF/context.xml :

Un déploiement sans modification des scripts de Tomcat est possible :

  • Télécharger la version autonome, comme indiqué au paragraphe précedent.

  • Dans le répertoire <OBSDEB-SERVER>/lib/, dézipper le fichier .war

  • Editer le fichier <UNZIPED_WAR>/META-INF/context.xml

  • Décommenté les parties XML suivantes, et renseigner les attributs XML : url, username, password, value (/path/to/config/file)

    <Resource
       name="adagio-ds"
       auth="Container"
       type="javax.sql.DataSource"
       driverClassName="oracle.jdbc.driver.OracleDriver"
       url="jdbc:oracle:thin:@<HOST>:1521:<INSTANCE>"
       username="<USER>"
       password="<PWD>"
       maxActive="20"
       maxIdle="2"
       maxWait="-1"
     />
    
    <!-- Use to set the configuration file path (default path is: <WAR>/WEB-INF/classes/synchro-server.config) -->
    <Environment
     name="synchro-server.config"
     type="java.lang.String"
     value="/path/to/config/file"
     override="false"
    />
  • Reconstruire le fichier .war, puis dployer sous Tomcat comme précédemment (sans modifier les scripts de lancement).

note :
Vous pouvez également saisir la configuration directement en éditant le fichier <UNZIPED_WAR>/WEB-INF/classles/synchro-server.config, Et laisser commenter la balise XML <Environment> du fichier context.xml

Configuration du client Allegro-ObsDeb

Pour utiliser le serveur de synchronisation, il faut :

  • Télécharger et dézipper Allegro-ObsDeb (cliquer ici ). Si nécessaire laisser la mise à jour automatique se faire.

  • Fermer Allegro-ObsDeb

  • Editer le fichier <OBSDEB>/conf/obsdeb.config et ajouter les lignes suivantes :
    • obsdeb.synchronization.site.url=http://localhost:8080

    • obsdeb.authentication.extranet.site.url=${obsdeb.synchronization.site.url}

    • obsdeb.authentication.intranet.site.url=${obsdeb.synchronization.site.url}

  • Relancer AllegroObsdeb

=> L'authentification utilisera le serveur obsdeb et le LDAP configuré

=> La synchronisation sera bien accessible (menu activé)

Troubleshooting

Les modifications faites dans les tables du référentiel ne sont pas visibles tous de suite, lorsque l'on déclenche une importation des données. Ce délai de retention, nécessaire pour les performances, est fixé par défaut à 10 minutes mais peut-être modifié dans la configuration.

Il est cependant possible de réduire le délai d'attente, en appellant (depuis un navigateur) l'adresse suivante

http://<HOST>:<PORT>/<WEBAPP_NAME>/rest/import/referential/updateDate/clear