L'ordonnanceur système (smoBackOffice)


L'outil smoBackOffice est un ordonnanceur système utilisé pour lancer des traitements référencés dans un fichier de configuration : intégrations de données Discovery ou Network, préimports, ...

Principe de fonctionnement

  • Chaque type de traitement est activé, ou non, suivant le besoin de chaque client.
  • L'ordonnanceur lance chaque traitement référencé dans le fichier de configuration, dans l'ordre indiqué et suivant l'heure d'exécution programmée.
  • Note : Les tâches en cours d'exécution sont prioritaires et ne sont pas interrompues. Les nouvelles tâches sont placées en file d'attente.

Remarques

  • L'outil smoBackOffice est livré sous la forme d'un exécutable situé dans le répertoire <Easyvista>\tools\.
         <Easyvista> : répertoire EasyVista sur le serveur applicatif

    Open url.png  voir  Comment choisir le bon outil pour automatiser votre intégration ?

Attention

 

Le fichier de configuration smoBackOffice.cfg

[HTTP]
PORT=8091

;  ==>  pour les intégrations Network :
;   * indiquer les paramètres de configuration
[NETWORK]
;   * port d'écoute (default=1234)
PORT=31163

;  ==>  pour les intégrations Discovery :
;   * indiquer si des données Discovery peuvent être collectées : paramètre ACTIVE (Oui=1 / Non=0)
;   * indiquer comment sont collectées les données : en local ou via un protocole FTP/SMTP (actif=1 / inactif=0)
;   * puis renseigner la section correspondante [… Connect]
[GetData]
ACTIVE=0
FTP=0
SMTP=1
LOCAL=1
;   * DELAY = n minutes
DELAY=1
;   * Heures de début/fin d'intégration souhaitées
Begin_Time=00:00:00:000
End_Time=23:59:59:999
LOG_DEBUG=0

;  ==>  pour les intégrations Discovery :
;   * indiquer les paramètres de configuration du protocole s'il est déclaré actif dans la section [GetData]
[FTP Connect]
rem Host=
rem Port=22 pour sftp
rem Port=21
rem UserID=
rem Password=
rem Directory=
rem Ssl=SFTP
HOST=127.0.0.1
USERID=easyvista
DIRECTORY=data
PORT=21

;  ==>  pour les intégrations Discovery :
;   * indiquer les paramètres de configuration du protocole s'il est déclaré actif dans la section [GetData]
[POP3 Connect]    
rem Host=
rem Port=110
rem UserID=
rem Password=
Host=127.0.0.1
Port=110
UserID=easyvista@aef.com
Password=staff

;  ==>  pour les intégrations Discovery :
;   * indiquer les répertoires de travail EasyVista
[Working folders]
DownloadDir=c:\easyvista\cust\done
UnZipDir=c:\easyvista\cust\
CSVDIR=\\127.0.0.1\report\
PDFDIR=\\127.0.0.1\report\
LocalResultDir=c:\Easyvista\Inventory

[GLOBAL]
MODE=SQL
;DELAY = n minutes
DELAY=1
;   * Autoriser le cryptage des mots de passe et chaînes de connexion dans les fichiers .ini des préimports
CryptedPasswords=true

;  ==>  pour smoBackOffice :
;   * indiquer si des intégrations peuvent être exécutées : paramètre ACTIVE (Oui=1 / Non=0)
;   * puis renseigner les paramètres de configuration si actif
[IMPORT]
ACTIVE=0
MAX_PACKET_SIZE=20
MAX_THREAD=10
;   * Heures de début/fin souhaitées pour lancer le traitement
Begin_Time=00:00:00:000
End_Time=23:59:59:999
;   * DELAY = n minutes
DELAY=1
LOG_DEBUG=0
;   * Pour SQL SERVER
BULK_EXE=C:\Pro
;   * Pour ORACLE
;BULK_EXE=C:\Program Files\oracle\80\Tools\Binn\SQLLDR.exe

;  ==>  pour smoBackOffice :
;   * indiquer si le module Discovery est installé : paramètre ACTIVE (Oui=1 / Non=0)
;   * puis renseigner les paramètres de configuration si actif
[DISCOVERY]
ACTIVE=1
;   * Heures de début/fin souhaitées pour lancer les intégrations Discovery
Begin_Time=00:00:00:000
End_Time=23:59:59:999
;TEMPORARY_TABLE_NAME=
;ACCOUNT=23865
LOG_DEBUG=0
DO_NOT_DELETE_TEMPTABLE=0
PDF_ACTIVE=0
PDF_TEMPLATE=A-@_LANGUAGE_@-Inventory.rpt
PDF_EXPORT=inventory.pdf
CSV_ACTIVE=0
CSV_TEMPLATE=inventory.sql

;  ==>  pour smoBackOffice :
;   * indiquer si des traitements statistiques peuvent être lancés : paramètre ACTIVE (Oui=1 / Non=0)
;   * puis renseigner les paramètres de configuration si actif
[STAT]
ACTIVE=0
;   * DELAY = n minutes
DELAY=30
;   * Heures de début/fin souhaitées pour lancer les traitements statistiques
Begin_Time=00:00:00:000
End_Time=23:59:59:999
LOG_DEBUG=0

;  ==>  pour smoBackOffice :
;   * indiquer si des traitements Network peuvent être lancés : paramètre ACTIVE (Oui=1 / Non=0)
;   * puis renseigner les paramètres de configuration si actif
[EZVNET]
ACTIVE=0
;DELAY = n days
DELAY=1
LOG_DEBUG=0
;   * Heures de début/fin souhaitées pour lancer les intégrations Network
Begin_Time=00:00:00:000
End_Time=23:59:59:999
;MODE = FTP or POP3 or LOCAL
MODE=FTP
;POP3_Host=
;POP3_UserId=
;POP3_Password=
;POP3_Port=110
;EZVNetDir=CONFIGURE THIS VALUE WHEN MODE=LOCAL

;  ==>  pour smoBackOffice et smoBackOfficeClient :
;   * indiquer les paramètres d'accès aux bases de données
[SQL Connection]
Server=EZV_SQL1
UserId=EZV_ADMIN
Password=password
BO_OWNER=EZV_ADMIN
BO_DatabaseName=EVO_BACKOFFICE
ADMIN_OWNER=EZV_ADMIN
ADMIN_DatabaseName=EVO_ADMIN
REF_OWNER= EZV_ADMIN
DateFormat=MM/DD/YYYY

[Administrator]
;Email=ReturnAddr
;SMTPHost=ReturnAddr
;SMTPUserId=ReturnAddr
;ReturnAddr=ReturnAddr
;Port=25

;  ==>  pour smoBackOffice et smoBackOfficeClient :
;   * indiquer si des préimports peuvent être lancés : paramètre ACTIVE (Oui=1 / Non=0)
;   * puis renseigner les paramètres de configuration si actif
[PREIMPORT]
ACTIVE=1
SAAS=1
;   * in seconds
DELAY=300
LOG_DEBUG=0
;   * Heures de début/fin souhaitées pour lancer les préimports
Begin_Time=00:00:00:000
End_Time=23:59:59:999

[LOG]
LEVEL=0

;  ==>  pour smoBackOffice :
;   * indiquer si des traitements de purge peuvent être lancés sur les fichiers Discovery : paramètre ACTIVE (Oui=1 / Non=0)
;   * puis renseigner les paramètres de configuration si actif
[PURGE]
ACTIVE=0
;in days
DELAY=1
LOG_DEBUG=0
;   * Heures de début/fin souhaitées pour lancer les traitements de purge
Begin_Time=00:00:00:000
End_Time=23:59:59:999
;   * in days
;DELETE_DISCOVERY_HISTORY=150
;DELETE_DISCOVERY_IN=100
;DELETE_CITRIX_HISTORY=150
;DELETE_CITRIX_IN=100

;  ==>  pour smoBackOffice :
;   * indiquer si des traitements liés à Citrix peuvent être lancés sur les données des intégrations Discovery : paramètre ACTIVE (Oui=1 / Non=0)
;   * puis renseigner les paramètres de configuration si actif
[CITRIX]
ACTIVE=0
;Heures de début/fin souhaitées pour lancer les traitements liés à Citrix
Begin_Time=00:00:00:000
End_Time=23:59:59:999
LOG_DEBUG=0
DO_NOT_DELETE_TEMPTABLE=0

[INSTALL]
VERSION=1.0


 

Les préimports

Un préimport est un processus préparatoire à une intégration de données tierces dans la base Product name - ev itsm.png. Il est utilisé pour automatiser des traitements ne pouvant pas être effectués via un modèle d'intégration.

Principe de fonctionnement
         Preimport Process.png

1. Lecture de la source de données tierces (fichier CSV, base de données, annuaire, ...) via les informations de connexion définies dans le fichier de configuration .ini.

2. Stockage des données dans des tables de travail Product name - ev itsm.png.

3. Exécution des traitements référencés, et ordonnancés, dans le fichier de configuration .ini.

4. Stockage des données traitées dans les tables finales Product name - ev itsm.png. Les données nouvelles/modifiées peuvent être filtrées par rapport à la dernière exécution du processus.

Exemples

  • Exécution de scripts SQL sur des données : remise en forme / suppression / normalisation de données, Delta, ...
  • Synchronisation de données tierces avec EasyVista (ex. : Incidents)

Remarques

  • Un préimport peut lire et traiter plusieurs sources de données tierces.
  • Chaque préimport peut être lancé régulièrement suivant une fréquence définie dans les fichiers de configuration .ini.

    Open url.png  voir  Comment choisir le bon outil pour automatiser votre intégration ?

Attention

  • Les scripts de création/suppression d'objets Product name - ev itsm.png doivent toujours être exécutés sur la base SQL Server avant de lancer le préimport.

Best Practice big icon.pngBonnes pratiques

  • Comment garantir les performances de la plate-forme Product name - ev itsm.png :
    • Planifiez l'exécution des préimports en dehors des heures de production (nuit, week-end) ou sur les plages horaires sur lesquelles il y a le moins d'utilisateurs connectés pour les plates-formes "24/7".
    • Optimisez la quantité de données à traiter en préférant l'intégration de différentiels (deltas) plutôt que l'intégration de la totalité des données (réduire la charge et la durée du traitement).

Description des fichiers d'un préimport

Le fichier PREIMPORT_SQL.sql

  • Il s'agit de l'ordonnanceur général du préimport.
  • Il indique le chemin des fichiers de configuration .ini utilisés par le préimport et pilote leur enchaînement.
  • Il doit être placé dans le répertoire /Preimport/ de l'outil smoBackOffice.
[PREIMPORT]
import_csv.ini=
import_ldap.ini=

 

Les fichiers de configuration .ini

  • Ils indiquent :
    • les sources de données tierces utilisées et les paramètres de connexion à chacune d'entre elles ;
    • les différents traitements à exécuter et leur enchaînement.
  • Ils doivent être placés dans le répertoire /Preimport/ de l'outil smoBackOffice.
  • Les scripts SQL doivent être placés dans un sous-répertoire du répertoire /Preimport/ (ex. : /Preimport/CUSTOMERNAME).
[DEFINITION]
;  ==>  Éléments généraux du fichier .ini (heure de lancement, fréquence d'exécution, ...)
;   * indiquer si le fichier peut être exécuté : paramètre ACTIVE (Oui=1 / Non=0)
;
NAME=IMPORT EXAMPLE
ACTIVE=1
;in days
FREQUENCY=1
BEGINTIME=06:00:00
LOG_DEBUG=1
DO_NOT_DELETE_TEMPTABLE=0
;last execution date

[PREPROCESS]
;  ==>  Liste des scripts SQL à exécuter avant la lecture/chargement des données
;
;script_preprocess.sql=
FCT=RESULTAT=WSDL(EVO_BACKOFFICE,50004,TEST_WSDL,ID)

[CLEAN]
;scriptclean.sql=

[PROCESS]
;  ==>  Liste des scripts SQL à exécuter pour le chargement des données brutes
;
;IMPORTLDAP1=

[POSTPROCESS]
;  ==>  Liste des scripts SQL à exécuter après le chargement des données
;
;script_postprocess.sql=

[IMPORTLDAP1]
;  ==>  Paramètres de connexion à l'une des sources de données déclarée dans le fichier .ini
;   * nommez la section suivant le type de source de données : [IMPORTLDAP], [IMPORTCSV], [IMPORTORACLE], [IMPORTADO], ...
;
DBKERNEL=LDAP
HOSTNAME_1=MyLDAPServerIP
LOGIN_1=MyLogin
PASSWORD_1=MyPassword
DOMAIN_1=DC=staffandline,DC=local      
OBJECT_1=(|(&(CN=MYPC)(objectClass=*))(&(CN=MY2PC)(objectClass=*)))
FIELDS_1=DN,ObjectGuid
TABLE_1=MyTable
UNICODE_1=0
DNUNICODE_1=0
SINGLEPASS_1=1
DO_NOT_DELETE_TEMPTABLE=1
protocol_1=3
;ROW_SEPARATOR_1=ONELARGEROWSEPARATOR
;LINE_SEPARATOR_1=ONELARGELINESEPARATOR

[IMPORTLDAP2]
DBKERNEL=LDAP2
HOSTNAME_1=1.2.3.4
PORT_1=389
LOGIN_1=LDAPAccount
PASSWORD_1=********
DOMAIN_1=DC=CUSTOMERNAME,DC=com
OBJECT_1=(&(objectcategory=person)(objectClass=user))
FIELDS_1=cn,displayName,mail,sAMAccountName,c,l,title,telephoneNumber,company,department,mobile,manager,locale,language,countryCode,DN
TABLE_1=E_LDAP_CUSTOMERNAME_TEMP
DO_NOT_DELETE_TEMPTABLE=1
ORGANISATION_FILTER_1=(OU=*)
PROTOCOL_1=3
UNICODE_1=1
DNUNICODE_1=0
SinglePass_1=1

[IMPORTADO1]
DBKERNEL=ADO
CONNECTIONSTRING_1=Provider=sqloledb;Data Source=0627-sf\OFFICIEL;Initial Catalog=EVO_ADMIN;User Id=EZV_ADMIN;Password=staff;
TABLE_1=MyTable
REQUEST_1=MyRequest.sql
DO_NOT_DELETE_TEMPTABLE=1
ROW_SEPARATOR_1=ONELARGEROWSEPARATOR
LINE_SEPARATOR_1=ONELARGELINESEPARATOR

[IMPORTORACLE1]
DBKERNEL=ORACLE
HOST=OBELIX
LOGIN=
PASSWORD=
DATABASE=
TABLE_1=
REQUEST_1=MyRequest.sql
TABLE_2=
REQUEST_2=MyRequest.sql
DO_NOT_DELETE_TEMPTABLE=1

[IMPORTCSV1]
DBKERNEL=CSV
TABLE_1=TABLE_CSV_TEMP
DIRECTORY_1=C:\easyvista\tools\smoBackOffice\QUERIES\SQL\PREIMPORT\
EXTENTION_1=MyFile.csv
SEPARATOR_1=;
DO_NOT_DELETE_TEMP_TABLE=1

La section [PREPROCESS]

Cette section liste les scripts SQL à exécuter avant la lecture/chargement des données. Généralement, il s'agit de requêtes de vidage des tables.

    Example documentation icon FR.png  

  • Vider la table mytable
  • Lancer des scripts situés dans le répertoire CUSTOMERNAME. Note : N'omettez pas le caractère = qui identifie chaque fin d'instruction.
DELETE FROM mytable
CUSTOMERNAME\LDAP_TRUNCATE_TABLE_LDAP_CUSTOMERNAME_TEMP.sql=
CUSTOMERNAME\LDAP_TRUNCATE_TABLE_LDAP_CUSTOMERNAME_OK.sql=

La section [PROCESS]

Cette section liste les scripts SQL à exécuter pour le chargement des données brutes dans les tables de travail Product name - ev itsm.png. Ceux-ci sont fonction de la source de données tierce et peuvent donner lieu au remplissage de nouvelles tables de travail Product name - ev itsm.png.

    Example documentation icon FR.png

  • Lancer un script situé dans le répertoire CUSTOMERNAME. Note : N'omettez pas le caractère = qui identifie chaque fin d'instruction.
CUSTOMERNAME\LDAP_INSERT_TABLE_LDAP_CUSTOMERNAME_OK.sql=

La section [POSTPROCESS]

Cette section liste les scripts SQL à exécuter sur les données chargées dans les tables de travail Product name - ev itsm.png.

  • Scripts standard Product name - ev itsm.png d'homogénéisation des données
        Example documentation icon FR.png  
    • Mettre toutes les dates au format Product name - ev itsm.png
    • Stocker ensuite les données homogénéisées dans une nouvelle table de travail
INSERT INTO [EVO_BACKOFFICE].ezv_admin.e_csv_temp2
            ([qualite],lastname,firstname,[directory],[start_date],[end_date],[email],[phonefixext],[telcom],[cellphone],[sitecode],[desk],[section],[subsidiary],[division],[FolderN1],[department],[login])
SELECT Isnull(Rtrim(Upper([civility])), ''),
      Isnull(Upper([firstname]), ''),
      Isnull(Lower([lastname]), ''),
      Isnull([directory], ''),
      Cast(( Substring(start_date, 7, 4) + '-' + Substring(start_date, 4, 2) + '-' + Substring(start_date, 1, 2) + ' 00:00:00.000' ) AS DATETIME),
      Cast(( Substring(end_date, 7, 4) + '-' + Substring(end_date, 4, 2) + '-' + Substring(end_date, 1, 2) + ' 00:00:00.000' ) AS DATETIME) AS date_fin
FROM   [EVO_BACKOFFICE].ezv_admin.[e_csv_temp]
WHERE  firstname NOT LIKE 'TEST%'
      AND directory NOT LIKE 'RET%'
      AND sitecode NOT LIKE '%--%'--
  • Scripts personnalisés de normalisation des données, propres à chaque client
        Example documentation icon FR.png
    • Stocker les valeurs en Mo et non en Go
    • Reconstruire la localisation à partir de 3 champs des données client
    • Numéroter les cartes graphiques de chaque poste de travail
       
    • Normaliser les libellés des civilités d'une table de travail
UPDATE [EVO_BACKOFFICE].ezv_admin.e_csv_temp
SET    civilite = CASE qualite
                   WHEN 'Sir' THEN 'Mr.'
                   WHEN 'sir' THEN 'Mr.'
                   WHEN 'Madam'THEN 'Ms.'
                   WHEN 'Miss' THEN 'Ms.'
                   WHEN 'Mrs' THEN 'Ms.'
                   ELSE qualite
                 END
FROM   [EVO_BACKOFFICE].ezv_admin.e_csv_temp
  • Scripts de transcodage des données dans le cadre des passerelles d'intégration, pouvant être personnalisés par chaque client
        Example documentation icon FR.png
    • Suivre sous une même entrée catalogue toutes les dénomination SCCM des versions d'un même logiciel
  • Scripts de remplissage des tables finales Product name - ev itsm.png, exécutés après tous les traitements précédents. Note : Un mini-traitement peut être appliqué à l'intérieur du script, sous la forme d'une clause WHERE.
        Example documentation icon FR.png
    • Intégrer les données d'un fichier CSV en excluant la ligne d'entête
      WHERE 'col0' <> 'nom'
    • Remplir une table finale Product name - ev itsm.png à partir d'une table de travail
INSERT INTO [EVO_BACKOFFICE].[EZV_ADMIN].[e_csv_ok]
            ([civility],[name],[start_date],[end_date],[email],[phone],[cellphone],[rsoc_div_dep],[domain],[language],[date_update],[login])
SELECT [civility],[name],[start_date],[end_date],[email],[phonefixext],[cellphone],[rsoc_div_dep],[domain],[language],Getutcdate(),login
FROM   [EVO_BACKOFFICE].[EZV_ADMIN].[e_csv_temp2]

 

L'outil d'exécution des préimports (smoBackOfficeClient)

L'outil smoBackOfficeClient permet de lancer des préimports à la demande et de façon autonome (i.e. en dehors de l'ordonnanceur système smoBackOffice). 

Il nécessite l'écriture de lignes de commande indiquant les fichiers de configuration à exécuter. Ces lignes peuvent être insérées dans un script (Batch, Powershell, ...) lancé via un ordonnanceur externe ou une application tierce pour une exécution à heure fixe.

Exemple

L'intégration Nexthink permet d'intégrer dans Product name - ev itsm.png 48 indicateurs de santé relatifs aux matériels. Généralement, elle est lancée toutes les 30 mn. 

==>  Pour pouvoir garantir cette fréquence, l'outil smoBackOfficeClient est utilisé : l'intégration est exécutée immédiatement au lieu d'être placée dans la file d'attente de l'ordonnanceur système smoBackOffice.

Remarques

  • L'outil smoBackOfficeClient est livré sous la forme d'un exécutable situé dans le répertoire <Easyvista>\tools\.
         <Easyvista> : répertoire EasyVista sur le serveur applicatif

    Open url.png  voir  Comment choisir le bon outil pour automatiser votre intégration ?

Attention

  • Lorsqu'une tâche est lancée via l'outil smoBackOfficeClient, elle ne doit plus être exécutée via l'ordonnanceur système smoBackOffice.

Best Practice big icon.pngBonnes pratiques

  • Comment garantir les performances de la plate-forme Product name - ev itsm.png :
    • Limitez le nombre de tâches lancées en parallèle par l'outil smoBackOfficeClient.
    • Planifiez les tâches en dehors des heures de production (nuit, week-end) ou sur les plages horaires sur lesquelles il y a le moins d'utilisateurs connectés pour les plates-formes "24/7".
  • Vous pouvez enchaîner l'exécution immédiate d'un préimport (via l'outil smoBackOfficeClient) et l'intégration immédiate des données (via l'outil smoIntegration). Pour cela, insérez à la suite les 2 lignes de commandes dans un script (Batch, Powershell, etc.).

 

Comment utiliser l'outil smoBackOfficeClient

Étape 1 : Installation de l'outil smoBackOfficeClient

1. Allez sur le répertoire <Easyvista>\tools\smoBackOffice.
          <Easyvista> : répertoire EasyVista sur le serveur applicatif

2. Dupliquez le fichier smoBackOffice.cfg.

3. Renommez le fichier en smoBackOfficeClient.cfg.
 

Étape 2 : Lancement du préimport

1. Ouvrez une fenêtre d'invite de commande Windows.

2. Tapez la commande ci-dessous.

  • Remplacez <sous-répertoire> par le sous-répertoire où se situe le fichier de configuration .ini du préimport.
  • Remplacez <fichier.ini> par le nom du fichier de configuration .ini du préimport.
smoBackOfficeClient.exe <Easyvista>\tools\<sous-répertoire>\<fichier.ini>

    Example documentation icon EN.png  Pour lancer l'intégration Nexthink

smoBackOfficeClient.exe C:\easyvista\tools\smoBackOffice\QUERIES\SQL\PREIMPORT\NEXTHINK_ASSET_STATUS.ini
Tags:
Modifié par Utilisateur inconnu le 2019/04/03 11:44
Créé par Administrator XWiki le 2015/04/10 11:30

Raccourcis

L'actualité mensuelle
•  Newsletter

Tous les changements
•  Service Engine
•  Service Apps
•  Self Help

Glossaire

Powered by XWiki ©, EasyVista 2019