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.

Pour comprendre le fonctionnement des services web avec Divalto, voici un schéma illustré avec des notions simples sur le traitement d'un courrier papier.

...

Il faut bien distinguer les 5 éléments qui entrent dans un dialogue service web ou API.


1. Le MESSAGE

Le MESSAGE doit être dans le format attendu pour l'exécution d'une ACTION METIER.

...

Pour connaître les messages, il faut consulter la documentation concernant les actions métier

Astuce

Action et Param

Tous les messages vers Divalto ont nécessairement 2 parties:

  • ACTION, ou action de service web : sert uniquement au Service Web Harmony pour l'orientation du message au bon traitement Diva

  • PARAM : ce sont toutes les données pour le traitement de l'ACTION METIER


2. Le MODE DE TRANSPORT

Le MODE DE TRANSPORT impose une technologie aux échanges, notamment tout ce qui enveloppe le message (authentification, format, styles, schémas)

...

Astuce

Il est recommandé d'utiliser le mode de transport REST qui permet une authentification de l'appelant.

Cette authentification est une action préalable a l'appel du service web afin d'obtenir un TOKEN joint à l'appel



3. Le SERVICE IIS

Le SERVICE IIS est le composant qui permet d'exposer des services web sur internet ou sur le réseau de l'entreprise.

...

Chacun de ces services a son propre paramétrage, et nécessite une installation préalable.

...

Sur un poste Windows, Internet Information Service est une fonctionnalité a activer

...


4. Le SERVICE WEB HARMONY - Action de service web (pour un service métier uniquement)

Le SERVICE WEB HARMONY, ou action de service web, fait l'intermédiaire entre le SERVICE IIS et le traitement Diva indiqué dans le paramétrage harmony des actions de services web.

...

  • Le service web harmony SYNCHRO_INFINITY_AGILEO, qui fait appel au traitement générique A5PPSWAGIL.DHOP, et qui a été développé historiquement en mode SOAP

  • Le service web harmony WEB_SERVICE_INFINITY, qui qui fait appel au traitement générique A5PPSWINFINITY.DHOP, et qui a été développé en mode REST

Info

Nommage

Le respect des noms des services web Divalto standards (SYNCHRO_INFINITY_AGILEO et WEB_SERVICE_INFINITY) permet de les mettre en oeuvre plus facilement, car les interactions au sein de Divalto Infinity ERP ou avec Weavy ou Agiléo Divalto CRM sont prévues pour passer par défaut par ces noms de services.

Cependant, il est possible de leur attribuer un autre nom, tout en conservant le traitement générique (.DHOP) qui est associé.

...

  • on peut appeler un service web métier qui attend un message XML depuis un transport REST

  • on peut appeler un service web métier qui attend un message JSON depuis un transport SOAP


Astuce

Recommandation

Pour des raisons de sécurité, depuis Infinity 10.5 et le Runtime Harmony 406, il est recommandé d'utiliser le mode de transport REST qui permet une authentification.

Les anciens services web métier, développés pour recevoir un message au format XML, peuvent être appelés dans ce mode REST a condition que le message reste sous format XML/HMP et que l'appelant gère l'authentification



5. Le TRAITEMENT DIVA / ACTION METIER

5.1 Pour un service métier

L'ACTION METIER est réalisée par un TRAITEMENT DIVA qui va exploiter la partie PARAM du MESSAGE.

Le traitement exploite donc directement le PARAM reçu pour effectuer le traitement métier demandé par l'appelant.


Astuce

Services métier standards

Les traitements génériques (A5PPSWAGIL.DHOP et A5PPSWINFINITY.DHOP) associés aux services métiers standards fournis avec Infinity l’ERP ont la particularité d'être des points d'entrée uniques.

Ils bénéficient donc d'un système de routage pour re-orienter vers un module Diva spécialisé dans un métier (par exemple en gestion commerciale, en paie,...)

Ce routage se fait par la balise <ACTION> qui est contenue dans la partie PARAM du message, par exemple <ACTION>interroger_stock


5.2 Pour un service API Recordsql

Le traitement est effectué directement par l'API RecordSql, avec exécution d'une requête SELECT dans la base de donneés.

Cette requête utilise la couche d'accès aux données que sont les RecordSql Diva.

5.3 Pour un service WebHook

Le WebHook est un autre mode d'exposition d’un service web. Toute la mise en œuvre des services web SOAP ou REST et d’une action de service sont donc requis au préalable.

...