Composants et outils

Divalto Search

Consultez la page dédiée dans le chapitre Power Search : Installation Power Search (On Premise)


Outils de diagnostic

Plusieurs outils d'analyse sont disponibles

  • Ils permettent de récupérer des informations à différents niveaux

  • Liste des outils :

    • XPerf

    • XPerfSql

    • Statistiques d'exécution

    • Statistiques de transport

  • Dans quel cas les utiliser ?

    • Optimisation des programmes à la suite d'un nouveau développement

    • Analyse suite à une problématique de performance

    • Mesure de temps de référence

Outils de diagnostic - XPerf

  • L'outil « xperf » permet d'analyser un programme dans le but d'en améliorer les performances

    • Il indique le temps passé dans chaque fonction du programme

    • Il permet de visualiser la pile et de visualiser la liste des fonctions appelées par une fonction

    • Les temps passés dans les saisies clavier et les chargement de modules ne sont pas comptabilisés

    • Pour chaque programme exécuté dans ce mode, un fichier de trace sera généré

      • Ce fichier peut être conservé pour analyse ultérieure

      • Les services de support sont susceptibles de vous demander ces fichiers

    • S'applique aussi bien en cas de problème de performance que pour vérifier un nouveau développement

    • Vous pouvez générer une trace depuis n'importe quel mode de connexion


Outil de diagnostic - XPerf

Par défaut, ce mode « xperf » n'est pas actif. Il est possible de l'activer par utilisateur en utilisant le programme de saisie des paramètres techniques

  • Soit en passant par le menu du programme « Harmony.dhop » : Paramétrage > Saisie des paramètres techniques

  • Soit en saisissant le nom du programme « xDivaltoParam.dhop » en tant que programme à exécuter (Option du Client)

    • Vous pouvez également intégrer ce programme dans un menu

  • Dès que la trace est active, vous pouvez dérouler le traitement pour lequel vous souhaitez obtenir une analyse

    • Il peut s'agir d'un enchainement de programmes auquel cas un trace sera générée par programme

  • Lorsque le traitement est terminé, il est important de fermer les fenêtres associées afin d'obtenir les informations

    • Vous pouvez ensuite arrêter XPERF depuis le programme de saisie des paramètres techniques afin de cesser la collecte

    • Le programme vous permet d'ouvrir ou encore de télécharger le dernier fichier généré

  • Les autres fichiers sont situés dans le dossier '/divalto/divaltoLog/perf' du serveur sur lequel s'exécute le(s) processus « XrtDiva.exe » de l'utilisateur

Outils de diagnostic - XPerfSQL

L'outil xPerfSQL intercepte et instrumente les requêtes SQL effectuées dans la session de l'utilisateur.

  • Cet outil s'exécute en parallèle des applications habituelles et permet de récupérer :

    • Les requêtes SQL avec les informations de contexte d'exécution (programme Diva, …)

    • Le temps d'exécution de chaque requête

  • L'outil d'analyse XPerfSQL se focalise sur les opérations de type « RecordSQL » et n'intègre pas les opérations d'accès à la base de données effectuées par le biais du composant DhsXlanServer

  • Par défaut la trace « XPerfSQL » n'est pas active. Il est possible de l'activer par utilisateur en utilisant le programme de saisie des paramètres techniques

    • Soit en passant par le menu du programme « Harmony.dhop » : Paramétrage > Saisie des paramètres techniques

    • Soit en saisissant le nom du programme « xDivaltoParam.dhop » en tant que programme à exécuter (Option du Client)

      • Vous pouvez également intégrer ce programme dans un menu

 

  • Vous pouvez activer la trace en mode dialogue ou en mode fichier

    • En mode dialogue, les requêtes SQL vont s'afficher directement sur l'outil.

    • Le mode fichier offre la possibilité de journaliser les requêtes dans un fichier consultable ultérieurement.

  • Le bouton « Options » permet d'affiner les résultats afin de n'afficher que les requêtes les plus

pertinentes. Le bouton « Filtrer » permet d'activer ou de désactiver les paramètres définis dans « Options »

 

  • Vous pouvez ouvrir des traces précédentes ou enregistrer la trace courante

  • Il est également possible de télécharger le fichier de trace dans le but de le conserver sur votre poste

  • L'affichage d'une ligne en mode fiche permet d'obtenir des informations détaillées dont la requête SQL complète


Outils de diagnostic – Statistiques d’exécution

  • Chaque fenêtre exécutée depuis Divalto Client intègre nativement un mécanisme de statistiques sur les performances des traitements (côté serveur) associés

  • Vous pouvez consulter ces informations en utilisant le menu « Statistiques » accessible depuis l'icône

de la barre de titre de chaque fenêtre

 

  • En complément des informations sur la version de Divalto Client et les versions des composants de

base, vous trouverez le détail pour chaque type d'opération :

  • CPU : Temps de traitement CPU (XRtDiva.exe)

    • Si le temps est élevé, cela peut indiquer un algorithme trop complexe ou un manque d'optimisation du programme Diva

    • RecordSQL : Temps global d'exécution, nombre de requêtes (Queries), nombre d'opérations de type « Select / ReaderSelect » (Reads)

    • Echange de données entre XRtDiva.exe et SQL Server

    • Xlan : Temps de traitement et nombre d'échange

      • Flux entre XRtDiva.exe et DhsXlanServer

      • Les échanges Xlan concernent les communications suivantes :

        • Demande de licence

        • Gestion des réservations

        • Primitives d'accès aux données (méthodes HRead, ...)

Outils de diagnostic – Statistiques de transport

  • La collecte des statistiques de transport réseau est un mécanisme d'analyse des échanges réseaux réalisés lors de l'utilisation de l'application Divalto Client

  • Le résultat de cette collecte est restitué sous forme de fichier et indique différentes valeurs pour chaque session

  • Ce type d'analyse peut être utilisé pour identifier des anomalies sur la couche de transport (déconnexions, latence réseau excessive, ...)

  • Ce mécanisme de collecte s'active au niveau des paramètres du profil utilisateur local.

  • La collecte des données de statistiques s'appliquera pour toutes les transactions Divalto Client de la session utilisateur indépendamment de la configuration au niveau du profil de connexion Divalto Client.

  • Le programme exécutable « xDivaltoMajIni.exe » qui est accessible depuis le dossier d'installation « divalto\sys » doit être utilisé pour effectuer la modification suivante :

    • Assurez-vous d'être déconnecté du serveur en utilisant le menu 'Fichier' > 'Déconnexion du serveur de client léger' si ce choix de menu est disponible.

    • Positionnez-vous au niveau des paramètres propres au compte utilisateur en en utilisant le menu 'Lecture' > 'Dans la base de registre locale à l'utilisateur'

    • Sous le chapitre 'ClientLeger', vous devez créer une nouvelle valeur 'StatistiquesTransport' qui contient les paramètres suivants séparés par un point-virgule :

    • Premier paramètre : 1 (actif) – 0 (inactif)

    • Second paramètre : intervalle d'écriture (seconde)

    • Troisième paramètre : Chemin du fichier

    • Exemple : « 1;5;C:\Users\root\AppData\Local\Temp\LogTransportDivalto.txt »

 

  • Le fichier qui sera généré permet de récupérer différentes valeurs et d'en déterminer d'autres

  • Voici un exemple de restitution du fichier après mise en forme


Traductions

  • Divalto peut être exécuté dans différentes langues

  • Divalto propose plusieurs dictionnaires de traductions compilés (Anglais, Allemand)

    • Une option de licence est nécessaire pour en bénéficier

    • Vous pouvez créer vos propres dictionnaires de traduction

    • Les fichiers sont livrés au format DHOT et doivent être définis dans le fichier paramètre

nommé 'TranslateParams.txt'

 

  • Les fichiers de traduction sont mis à disposition des utilisateurs par le biais d'un paramètre d'environnement (CheminLangues) :

    • L'emplacement indiqué doit contenir le fichier de paramètre (TranslateParams.txt) et les dictionnaires de traduction

    • Il est possible d'exploiter un chemin de type UNC pour centraliser ces éléments



Propagation des paramètres

  • Plusieurs programmes permettent de saisir des paramètres :

    • Paramètres d'interface de messagerie / télécopie / ..

    • Paramètres d'impressions (Chapitres pour les éditions, ..)

    • Paramètres d'environnements

    • [ … ]

  • Ces paramètres sont stockés dans la base de registre utilisateur (HKCU) et sont donc spécifiques à chaque compte

    • Dans certains cas, il est utile de pouvoir diffuser ces paramètres à un ensemble d'utilisateurs, c'est le principe de la propagation

    • La propagation s'effectue par défaut à l'ensemble des utilisateurs mais vous

pouvez réduire le périmètre de diffusion

  • Vous pouvez par exemple diffuser les paramètres d'un environnement uniquement

aux utilisateurs concernés

  • Il est possible de définir un opérateur logique 'ET' ou 'OU' si vous spécifiez plusieurs groupes

     

Restrictions :

  • Certains programmes exécutables nécessitent l'utilisation du switch /PROPAGER

au moment de l'exécution pour autoriser ce mode (xDivaltoMajini.exe, ..)

  • Les autres programmes imposent des confidentialités de type Administrateur

(ERP), c'est le cas par exemple du programme 'xDivaltoParam.dhop'

La propagation va créer un fichier dans le dossier 'divalto\installlog'

  • Ce fichier sera créé et interprété par les utilisateurs du même serveur

    • Le nom du fichier contient un horodatage qui est exploité pour optimiser le traitement

  • Pour étendre la diffusion à l'ensemble des serveurs, il est possible d'utiliser le mécanisme d'indirection.

    • Chaque serveur dispose d'un fichier 'indirection.txt' dans le dossier 'divalto\installlog'

    • Ce fichier contient uniquement le chemin UNC vers le partage du dossier 'installlog' qui regroupera l'ensemble des fichiers

Services Diva

Consultez la page dédiée aux services Diva : Services Diva (dhsServices)

 

Divalto Web Services

  • Les services web permettent d'effectuer des échanges d'informations afin de récupérer ou d'alimenter des données dans l'ERP Infinity.

  • Un site e-commerce peut ainsi récupérer l'état des stocks, etc ..

  • Il existe deux méthodes pour invoquer des services Web sur Divalto

  • Protocole SOAP

    • Permet l'exploitation de WebService Diva

  • Architecture REST

    • Permet l'exploitation de WebService Diva

    • Permet l'utilisation de l'API RecordSQL

    • Permet d'exploiter des Webhook

  • La seconde méthode est à privilégier car elle dispose nativement d'un mécanisme d'authentification (token) et de fonctionnalités supplémentaires (API RecordSQL, Webhook)

 

Divalto Web Services
Protocole SOAP

Les informations qui suivent sont un résumé. Consultez le chapitre dédié pour plus de détails Services web

  • Le protocole SOAP pour l'échange de données par service Web s'installe en utilisant l'assistant situé dans le programme 'Harmony.dhop'

  • Si vous n'exploitez pas le dossier d'installation par défaut (C:\divalto\Internet\WebServiceDiva), il sera nécessaire de mettre à jour les fichiers manuellement en cas de mise à jour du Runtime

  • Afin d'exécuter les traitements dans un contexte utilisateur

particulier, vous pouvez :

  • Ajouter au fichier 'DivaltoEnv.txt' les balises <user> et <password> avec les valeurs associées

  • Attention : Le fichier doit dans ce cas être protégé et filtré de l'accès Web !

    • Définir un compte de façon globale sur le service « DhsDivaAgent » afin que

l'ensemble des processus xRtDiva.exe » s'exécute sur un compte particulier

  • Le programme /WebServiceDiva.asmx doit être appelé pour contacter le Service Web

    • Il s'agit d'une méthode générique permettant d'exécuter une action sur le serveur en lui passant des paramètres

  • Si vous souhaitez installer l'application web sans passer par l'assistant :

    • Application Web qui exploite la cible : C:\divalto\Internet\WebServiceDiva

    • Application associée à un pool d'applications qui autorise les applications 32 bits

  • Si le même serveur doit gérer des services web pour différents environnements, vous pouvez dupliquer l'installation existante

    • Un fichier 'DivaltoEnv.txt' doit être créé à la racine de chaque installation pour définir l'environnement.


Divalto Web Services
WebService Diva

Services Diva (dhsServices)

  • L'appel d'un WebService Diva permet d'invoquer un programme métier en utilisant un code action dans la requête et en spécifiant des paramètres.

    • Ce service web est accessible aussi bien en SOAP qu'en REST (recommandé)

    • La seule différence technique est la couche d'authentification et le format de l'enveloppe (XML vs JSON). Le contenu dépend du programme Diva (JSON ou XML)

Le programme va réaliser des opérations de type 'métier' selon les paramètres qui lui seront envoyés puis retourner le résultat

  • La première étape consiste à déclarer le code action qui sera utilisé

afin de le faire correspondre à un programme Diva

  • Les codes des actions des services sont stockés dans les fichiers 'XBAL'

    • Les fichiers sont présents dans 'divalto\sys' mais il est recommandé d'en avoir un par environnement

  • Harmony > Paramétrage > 'Services Diva'

  • Options :

    • Active / inactif

    • Résident : Le programme est chargé en permanence si actif, sinon à la demande

    • Programme à enchainer : Nom du programme Diva

 

Divalto Web Services
Architecture REST

Les informations qui suivent sont un résumé. Consultez le chapitre dédié pour plus de détails Services web

L'architecture REST pour l'échange de données par service Web s'installe en utilisant l'assistant situé dans le programme 'Harmony.dhop'

 

  • Si vous souhaitez installer l'application web sans passer par l'assistant :

    • Application Web qui exploite la cible : C:\divalto\Internet\DhsDivaltoServiceDivaApiRest

    • Application associée à un pool d'applications qui autorise les applications 32 bits

  • Une seule installation peut gérer plusieurs environnements mais vous pouvez également dupliquer l'installation afin de dédier des applications à chaque environnement

    • Le nom de l'environnement peut être passé en paramètre lors de chaque requête ou imposé au niveau de la configuration coté serveur

  • La configuration de l'API figure dans les fichiers XML suivants :

    • DhsDivaltoServiceDivaApiRest_ListDHOQ.xml

      • Contient la liste des fichiers RecordSQL (DHOQ) autorisés pour exploiter l'API RecordSQL

      • Par défaut, aucun fichier n'est autorisé (les deux exemples sont commentés)

      • Chaque fichier autorisé doit être préalablement déclaré

  • DhsDivaltoServiceDivaApiRest_ParamSystem.xml

  • Permet de modifier les paramètres par défaut (Modification de la durée de validité du token, ..,) ou de forcer certains paramètres comme le nom du domaine qui servira pour l'authentification ou encore l'environnement Divalto.


Divalto Web Services
Utilisation (REST API)

Les informations qui suivent sont un résumé. Consultez le chapitre dédié pour plus de détails Services web

  • L'étape d'authentification qui est obligatoire permet d'obtenir un token (valable 30 minutes par défaut) qui sera nécessaire pour exploiter le service

  • La valeur du token devra être fournie à chaque appel du service

    • Adresse : https://\[...\]/api/v1/Authent/Auth

Le token peut être passé en header (Bearer Authentification)

 

  • Exemple de réponse suite à la phase d'authentification

 

  • L'API RecordSQL permet d'interroger directement des informations situées dans la base de données SQL d'un environnement ERP

    • Adresse : https://\[...\]/api/v1/RecordSql/Execute

    • Exemple :

      • Récupération des 5 premiers résultats des champs 'CPOSTAL' et 'VIL'

      • Sur condition que le code postal débute par '6796' ou que le nom de la ville contienne le mot « PARIS » et suivant un tri par code postal.

    • Les statistiques sont activées afin d'obtenir les temps associés à l'exécution

de la requête.

  • Requête :

 

L'instruction 'whereaddcondition' permet de spécifier l'opérateur entre chaque clause WHERE au niveau du paramètre 'filter'

  • Exemple de requête avec les paramètres suivants :

  • (Les codes postaux qui commencent par 67 ET le nom de la ville correspond à

'ENTZHEIM') OU le nom de la ville contient le mot 'OBERN'

  • Résultat :

 

Utilisation du WebService Diva (REST mode)

  • Adresse : https://\[...\]/api/v1/WebService/Execute

  • Exemple : Test avec l'action 'PING'

  • Le résultat doit contenir : « Pong Version XXXX … »

Divalto Web Services
Utilisation (SOAP)

  • Utilisation du WebService Diva (SOAP mode)

    • Adresse : _https://\[...\]/WebServiceDiva/WebServiceDiva.asmx_

    • Exemple : Test avec l'action PING»

    • Le résultat doit contenir : « Pong Version XXXX … »

Divalto DhsTelnet

Le service DhsTelnet assure l'interface entre des programmes Diva et des clients Telnet (mode caractères). Pour chaque client qui se connecte, le service exécute un programme Diva

  • Depuis la version X.5, une interface Telnet WPF est disponible et exploite l'interface Web (LCWeb / HTML5)

  • Un seul service Telnet peut adresser plusieurs environnements en utilisant des ports TCP différents

  • La configuration du service s'effectue à l'aide du fichier 'DhsTelnet.txt' situé dans le dossier 'divalto\sys'. Ce fichier est chargé au démarrage du service et contient une ligne par service Telnet

Retrouvez toutes les informations de mise en œuvre du service Telnet dans le chapitre dédié.

 

Interfaces (messagerie, ..)

  • Interface MAPI

  • L'utilisation de l'interface MAPI nécessite l'exploitation du programme 'Divalto Client' afin d'établir le lien avec le client de messagerie présent sur le poste.

  • Vous devez disposer d'un profil de

messagerie valide pour exploiter cette interface. S'il ne s'agit pas de votre profil par défaut, vous pouvez le spécifier.

  • Une option vous permet également d'exploiter une version 64 bits du client de messagerie

     

  • Fonction SMTP

  • L'utilisation des fonctions SMTP avec le support de SSL/TLS est disponible

  • Si vous activez cette interface, vous devez renseigner les paramètres d'accès au serveur SMTP (Adresse, Port, identification, type de chiffrement) avant de pouvoir l'exploiter.

 

  • Google Gmail

  • Une interface Google Gmail peut être exploitée si vous avez préalablement configuré la liaison avec votre compte GSuite d'entreprise.

  • Les applications Divalto pourront ainsi envoyer des mails au travers

d'un dialogue direct avec les services Google Cloud - G Suite

  • Un fichier des clés devra être préalablement installé sur Divalto afin

de permettre l'utilisation de l'API GSuite

  • Avec l'utilisation de l'attribut personnalisé « DivaltoInfinityWinAccount », vos comptes Google G Suite seront automatiquement affectés à vos utilisateurs Divalto Infinity

 

  • Exchange Web Services

  • Le protocole EWS (Exchange Web Services) permet un dialogue direct entre l'application Divalto et un serveur de messagerie Exchange.

  • Cette configuration s'applique entre autres aux utilisateurs de la solution Microsoft Office 365 et fonctionne aussi bien avec le programme 'Divalto Client' qu'avec l'interface Web.

  • Il suffit dans la plupart des cas d'activer la découverte automatique des paramètres de configuration en spécifiant uniquement l'adresse e-mail et le mot de passe

Impressions

  • Par défaut, Divalto exploite l'imprimante par défaut de la session Windows

  • Les programmes ERP font référence à des modèles d'imprimante pour générer des éditions en

fonction du paramétrage de l'entrée de menu ou le cas échéant en utilisant le modèle par défaut (STD)

  • Un modèle d'imprimante est associé à un code format pour le spool

    • Ce code format pour le spool est ensuite associé à un chapitre pour les éditions

      • Le chapitre contient les paramètres (Nom de l'imprimante, etc ..)

 

  • Choix du modèle d'imprimante (F6)

    • Mode impératif : le menu ne change jamais le modèle

    • Mode conseillé : autorise le menu à changer d'imprimante

  • Affectation des modèles

    • Par module (Shift+F4)

    • Par menu (F4)

 

  • Les informations concernant les modèles d'imprimante (Shift + F6) sont définies dans les fichiers séquentiels 'FPRINTERS'

    • Ces fichiers sont présents par défaut dans 'divalto\sys' mais peut aussi figurer dans chaque environnement

  • Le modèle d'imprimante doit être associé à un code format

 

  • La déclaration d'un chapitre pour les éditions est propre à chaque utilisateur mais peut faire l'objet d'une propagation

    • Mode 'Serveur' : Les impressions sont directement transmises aux imprimantes sur le(s) serveur(s) d'appplications

    • Mode 'Agent' : Les impressions sont déposées dans une file d'attente afin qu'un agent d'impression puisse ensuite réaliser le traitement. Il est possible de spécifier la file d'attente si plusieurs agents sont exploités

 

Graphique

Caractère

Prise en charge par le GDI de Windows

Envoi direct (via le spool) à l'imprimante

Visualisation des états avant impression
par DivaltoViewer ou au format PDF

Pas de visualisation avant impression

sauvegarde, impression, export vers
Excel, l'envoi par mail ou par Fax

Pas de paramétrage Windows, pas
d'interface Mapi

Accès au paramétrage Windows des imprimantes

Attributs d'impression simplifiés (expansé, comprimé, …)

Interface Mapi : redirection vers fax, mail, etc.

Intérêt : Interfacer des matériels non reconnus par Windows, contrôle total de la liaison, indépendamment de Windows.


Répartition de charge

La répartition de charge doit s'effectuer en conservant l'affinité de session afin qu'un même utilisateur exploite un seul et même serveur d'applications le temps de sa connexion.

  • La méthode diffère en fonction du protocole de transport utilisé pour

permettre l'accès des utilisateurs à Divalto :

  • En mode de transport 'Socket IP', il convient de se baser sur l'adresse IP source

  • En mode de transport 'Service Web', le paramètre d'URL « sessionDivalto » doit être exploité

  • En utilisant l'interface web HTML5, l'injection d'un cookie qui contient une valeur propre à chaque serveur d'applications est recommandée

La notion de timeout est prise en charge par Divalto qui transmet des trames de « keepalive » à intervalle régulier, le load balancer ne doit pas terminer les sessions

  • Exemples (HAProxy)

 

  • Vous pouvez définir le paramètre 'UserProfilePath' sur les serveurs d'applications

    • (HKLM – Divalto.ini\AgentDiva) qui doit contenir le chemin partagé

    • Permet de centraliser les profils des utilisateurs (dont le registre utilisateur

qui contient des paramètres)

Il est recommandé d'effectuer une vérification de niveau 7 (HTTP) pour vérifier l'état des serveurs
  • Le mécanisme de répartition doit être redondé afin d'éviter de

créer un point de défaillance unique (SPOF)

  • Ce type de composant réseau peut également vous permettre

d'exposer ces services sur Internet :

  • Déchargement SSL

  • Reverse proxy

  • Web Application Firewall


SQL Server - Maintenance

Opération de maintenance

Exploitez les outils intégrés dans SQL Server pour identifier les requêtes couteuses et l'évolution des plans d'exécutions à l'aide du « Query Store », de « SQL Profiler » et des informations de statistiques

Exemples d’opérations de maintenance

Vous apprendrez notamment

  • comment reconstruire des index, par exemple après ajout de champs

  • comment créer un plan de maintenance pour des opérations de contrôle ou de réduction de la base de donénes

  • comment consulter un plan d'exécution réel SQL sur une requête SQL afin de l’analyser et par exemple trouver un index à ajouter

 


Divers

  • Ajuster la configuration de l'analyse temps réel des Antivirus

    • Sur les serveurs mais aussi sur les postes

    • Exclusions des dossiers liés à Divalto

    • Exclusions des exécutables (xRtDiva.exe, Xwpf.exe, ..)

    • Exclusions des dossiers liés à SQL Server

  • Assurez-vous que les serveurs fonctionnent en mode 'performances élevées' au niveau des options d'alimentation

  • La structure des fichiers joints doit contenir une arborescence qui permet de limiter le nombre de fichiers dans un même dossier