Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.


Info

...

Pré-requis

Les services web REST doivent être fonctionnels

Astuce

...

Cloud

En mode Cloud, le service web standard REST WEB_SERVICE_INFINITY est opérationnel

Action du service web

Action de service unique pour l’ERP

Infinity n'utilise qu'une seule action pour tous les Services Web en mode REST.

Pour paramétrer cette action, utiliser Harmony :

...

 Menu Paramétrage ⇒ Actions des services

...

Image Added

Le nom par défaut a utiliser est “WEB_SERVICE_INFINITY” ce qui permet aux services Web Diva d'être appelé automatiquement par des applications externes ou internes développées par Divalto (Exemple Weavy)

...

Image Added

Options :

  • Active / inactif

  • Résident : Le programme est chargé en permanence si actif, sinon à la demande. Voir le chapitre plus bas pour les détails

  • Programme à enchainer : Nom du programme Diva de traitement métier. Le service WEB_SERVICE_INFINITY fait appel a "a5ppswinfinity.dhop"

  • Utilisateur : par défaut, c'est un utilisateur harmony $webservice qui sera pris pour les contrôles d'accès et recherche d'implicites. Il est possible de renseigner un autre utilisateur, qui devra respecter les règles indiquées plus bas

  • Paramètres HMP : non utilisé en standard. Permet de donner des paramètres supplémentaires au traitement appelé

Info

...

Droits

C'est l'

...

utilisateur $webservice (ou celui indiqué) qui sera utilisé pour toutes les demandes de service web

Restriction d’accès (Harmony 408)

Depuis la version 408 du runtime Harmony, il existe 3 nouvelles coches

  • Active SOAP : coché par défaut. Indique que ce service web accepte des appels entrants en mode SOAP

  • Active REST : coché par défaut. Indique que ce service web accepte des appels entrants en mode REST

  • Active WebHook : coché par défaut. Indique que ce service web accepte des appels entrants en mode WEBHOOK

Ces options permettent par exemple d’interdire un accès en mode SOAP (qui ne bénéficie pas d’authentification)

Paramétrage de l'utilisateur $webservice utilisé par le service

L'utilisateur harmony

...

$webservice est obligatoire (si non renseigné dans le paramétrage de l'action de service) et doit

...

exister en tant qu’utilisateur ERP en possédant un implicite pointant au moins sur divalto/sys, mais pointant surtout sur les objets .DHOP appelés par les web services (par exemple a5ppswagil.dhop).

Par défaut, l'implicite de $webservice est : Implicites$webService.txt

...

Image Added

Dans l'exemple suivant, on utilise un implicite existant pour ne pas avoir à en recréer un.

Image Added

Informations sur le mode Résident (Harmony 408)

Il existe 3 valeurs du mode Résident

  • Non : le programme xrtDiva du service web n’est pas résident, il est invoqué et ouvert à l’appel de service web par un appelant, et se referme après traitement

  • Résident : le programme xrtDiva est déjà en mémoire lors de l’appel (il est chargé au lancement du service). Il y a toujours autant d’instance créées que de demandes entrantes

  • Résident avec pool :

    • Dans le mode "résident avec pool", le WebService, quand il est invoqué, reste en mémoire en attente d'une prochaine requête.
      On évite ainsi le temps de rechargement des modules fonctionnels.

    • Les prochaines requêtes peuvent également se faire sans passer par la phase d'initialisation du WebService (ex : chargement du contexte utilisateur).
      On évite ainsi ce temps et on peut alors directement appeler le code "métier" sans recréer systématiquement le contexte de travail.
      NB : cette partie requiert une légère adaptation du code métier du WebService pour conserver le contexte de travail (et uniquement lui) entre 2 appels successifs.

    • Ces WebServices peuvent être distribués sur plusieurs processus xrtDiva. Ainsi, on a un

...

    • pool de processus qui peut répondre à plusieurs demandes en parallèle.
      Il peut être par exemple, plus efficace de demander 10 calculs de tarifs en parallèle que d'effectuer une requête qui calcule 10 tarifs, puisque le client n'a pas à attendre le calcul du 10ème tarif pour connaitre le premier.
      Les traitements sont donc distribuables en parallèle.

    • Un paramétrage permet de définir le nombre et la durée de vie de ces processus.
      Par exemple : Autoriser 4 processus simultanés et fermer les processus après 10 minutes d'activité.

    • Avec ce paramétrage, les requêtes consécutives, proche dans le temps sont donc distribués sur plusieurs processus de traitement et se font vers des objets "chauds" (après phase de démarrage "chauffe = contexte métier" dans chaque processus) qui répondront rapidement aux sollicitations ultérieures.

Sommaire
minLevel1
maxLevel7