Développement > Safe X3 WAS > Lien SAFE X3 > Interface 

SEEWARNING Avant de créer votre site , il préférable de lire la documentation :Avant de commencer.


La fonction principale de la fiche de paramétrage 'Interface' est d'identifier et de localiser un web service X3 en fournissant :

  • son nom de publication ou alias,
  • les coordonnées du serveur de web service qui délivre le service.

Les interactions entre une application web XTEND et le back-office X3 met en jeu deux catégories de services :

  • les services de type 'Accès' qui décrivent les accès aux données,
  • les services de type 'Action' qui décrivent les action utilisateurs.

SEEWARNING Le nombre de paramètres des web services de type Accès ou 'Action sous-programme' est limité à 50.

En mode web service, la variable globale X3 GUSER contient le code utilisateur X3 passé en paramètre au moment de l'appel du web service.

XTEND valorise le code utilisateur X3 en fonction du fait que l'utilisateur est signé ou non :

  • L'utilisateur XTEND non signé utilise le code utilisateur X3 défini par défaut dans le Pool web service,
  • L'utilisateur XTEND signé utilise le code utilisateur X3 qui est retourné par la fonction de login.

Interfaces de type 'Accès'

Le serveur XTEND n'accède pas directement à la base de données X3 via un connecteur de base de données, mais au travers d'appel de web services spécialisés de type sous-programme ou liste gauche.

Les interfaces de type 'Accès' permettent de définir ces web services qui fonctionnent comme des fournisseurs de données (data providers).

Ces web services sont appelés par les tokens de type bloc.

Accès généré table

Permet de générer automatiquement un web service pour accéder aux enregistrements d'une table de la base de données X3 :

1. Génération d'un traitement L4G,

2. Création d'une fiche dans la table des sous-programmes,

3. Publication du web service.

Le web service généré est immédiatement opérationnel sur tous les serveurs de web services qui publient le dossier.

Accès généré vue

Idem 'Accès généré table' mais pour les vues X3.

Accès liste gauche

Permet d'utiliser le web service 'liste gauche' d'un objet X3 comme source de données.

Accès 'sous-programme'

Le type Accès sous-programme' est généralement utilisé pour ajouter des champs calculés aux champs de la table/vue à laquelle on souhaite accéder.

Exemple : ajouter la disponibilité et le prix des articles dans un catalogue.

Pour calculer les valeurs des champs 'calculés' il faut pouvoir passer au traitement L4G des paramètres contextuels complémentaires à ceux qui sont passés en standard par le serveur XTEND via les paramètres AXPARCOD et AXPARVAL (voir les actions utilisateurs).

Exemple : un code client ou une quantité/date saisie par l'utilisateur.

Tableau de paramètres 'accès sous-programme'

Ce tableau permet de définir la liste des paramètres complémentaires.
La valeur des paramètres de type 'saisie' est renseignée dans la fiche token lien dynamique ou bloc.

SEEWARNING Contrairement aux actions utilisateur, l'accès sous-programme ne permet pas de saisir le mapping des paramètres.

Le tableau des paramètres peut être considéré comme un mapping sur la liste des paramètres AXPARCOD/AXPARVAL.

Optimisations

Comme pour l'accès généré table, il est parfois nécessaire d'optimiser l'appel des web services pour améliorer les temps de réponses.

  • Ce tableau permet au développeur de définir (saisir) ses propres types d'optimisations.

  • Le serveur XTEND valorisera le paramètre $OPTIMZE lors de l'appel du web service.

  • Le développeur L4G aura à charge de réaliser le traitement d'optimisation en fonction de la valeur du paramètre.

Interfaces de type 'Action'

Le interfaces de type 'Action utilisateur' permettent de définir des web services (traitements L4G) qui agissent sur les données du back-office X3.

L'interface 'Action' est associée à une fiche action web qui permet de décrire le mapping des paramètres.

Ces actions web sont associées aux tokens de type lien dynamique pour être insérés dans les élements d'interface graphique comme les boutons (<input type="button" onClick="">) ou les ancres(<a href="button" onClick="">).

Action utilisateur

Une action utilisateur XTEND se traduit toujours par l'appel d'un web service X3 qui peut être soit un sous-programme soit une action associée à un objet X3.

Une action XTEND attend des paramètres en entrée, effectue un traitement et valorise un certain nombre de paramètres en retour comme l'appel d'un sous-programme en L4G.

Dans le cas d'une application XTEND, les paramètres en entrée sont généralement saisis par l'utilisateur dans un formulaire HTML et les valeurs renvoyées par le sous-programmes sont stockées en mémoire dans la session utilisateur (mapping) dans le but d'être affichées dans une page HTML ou utilisées comme paramètres d'autres actions.

Action sous-programme

Au préalable il faut avoir programmé le traitement L4G et avoir créé la fiche sous-programme.

Une fois l'interface créée, le bouton "Générer l'acces' permet de publier le web service.

Action objet X3

Le code de l'action X3 (bouton d'action de l'objet) est renseigné dans la fiche action web.

Une fois l'interface créée, le bouton "Générer l'acces' permet de publier le web service.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Champs

Les champs suivants sont présents dans cet onglet :

Code de l'interface.

  • Site (champ FCYLIB)

Site Web courant.

  • Intitulé (champ INTIT)

Permet de définir un intitulé associé à chaque fiche.

Fermer

 

Onglet Général

Présentation

Paramètres généraux de l'interface.
Les paramètres à saisir dépendent du type d'interface sélectionné.

Fermer

 

Champs

Les champs suivants sont présents dans cet onglet :

Type d'interface

  • Type (champ TYP)

Les interfaces de type 'accès aux données' :

  • Accès généré table : permet de générer automatiquement un web services pour accéder aux enregistrements d'une table de la base de données X3.

  • Accès généré vue : idem 'Accès généré table' mais pour les vues X3.

  • Accès liste gauche : permet d'utiliser le web service 'liste gauche' d'un objet X3 comme source de données.

  • Accès sous-programme : permet de personnaliser un sous programme d''Accès aux données' et d'y ajouter des champs calculés.

Les interfaces de type 'action' :

  • Action sous-programme : appel d'un web service de type sous-programme.

  • Action utilisateur objet : appel d'un web service de type action d'un objet X3.

Table / Vue

Code de la table pour un 'Accès généré table'.

Code de la vue pour un 'Accès généré vue'.

Objet

Code objet pour les types d'interface 'Action utilisateur objet' et 'Acces données liste gauche'.

  • Transaction (champ VARIANTE)

Code de la transaction pour les interfaces de type 'Accès données liste gauche' et 'Action utilisateur objet'

  • Zones invisibles (champ INVISIBLE)

Ce champ permet de prendre en compte les zones invisibles pour le web service objet dans le cas des interfaces 'Accès liste gauche' et  'Action utilisateur objet'.

  • champ LIBVAR

 

Sous-programme

  • Traitement (champ PRG)

Nom du traitement appelé par le web service.

Ce champ est à renseigner uniquement pour les interfaces 'Acces données sous-programme' et  'Action utilisateur sous-programme'.

SEEWARNING Le traitement et la fiche sous-programme doivent être créées.

  • Sous-programme (champ SUBPRG)

Nom du sous-programme appelé par le web service.

Ce champ est à renseigner uniquement pour les interfaces 'Acces données sous-programme' et 'Action utilisateur sous-programme'.

SEEWARNING Le traitement et la fiche sous-programme doivent être créées.

Publication

  • Nom de publication (champ WEBSRCCOD)

Nom de publication du web service.

  • Nb max. de lignes (champ RESMAX)

Nombre maximum d'enregistrements renvoyés par le web service, modifiable via le bouton 'Générer l'accès'.

  • Générer l'accès (champ IGEN)

SEEREFERTTO Pour accéder à l'aide sur champs de l'écran qui s'affiche, voir la documenation sur le bouton [Générer l'accès].

  • champ WWSLIB

 

Fermer

 

Onglet Avancé

Champs

Les champs suivants sont présents dans cet onglet :

Affichage des messages de type

  • Information (champ DSYINF)

Un web service X3 peut renvoyer des messages de type :

  • Information,
  • Warning,
  • Erreur.

Le fait de cocher un type de message indique au serveur XTEND qu'il doit prendre en compte ce type de message au retour de l'appel du web service pour l'afficher via le token champ de nom AMSGUSER.

  • Avertissement (champ DSYWRN)

 

  • Erreur (champ DSYERR)

 

Tableau numéro 1

  • Optimisations (champ OPTIMI)

Les interfaces des type 'Accès' sont les plus sollicités par le moteur XTEND ; la 'fluidité' du site web dépend fortement des temps de réponse des web services appelés.

Ce tableau propose, pour chaque type d'accès, la liste des optimisations possibles qui sont sélectionnées au moment de l'appel dans le token bloc.

Pool

  • Pool par défaut (champ LNKADSDEF)

Le pool de web service permet de localiser le web service :

  • Oui : indique que le serveur XTEND utilisera le pool de web service défini au niveau du site pour appeler le web service associé à cette interface.

  • Non : pour que l'interface utilise un pool de web service particulier dont le code est donné par le paramètre 'pool de web service'.
  • Pool Web service (champ LNKADS)

Code du pool XTEND, si celui-ci est différent du pool par défaut saisi au niveau du paramètre 'site web'.

Utiliser un pool XTENDparticu lier pour une interface permet de répartir la charge entre différents pools de connexion lorsqu'on dispose de peu de licences web services.

Exemple :

Le pool par défaut peut être utilisé pour l'appel des web services interactifs à faibles temps de réponse. 
En revanche on peut utiliser un pool particulier pour l'appel de web services qui déclenchent des traitements plus longs (comme une passation de commande) afin de ne pas bloquer les autres utilisateurs.
Ce pool peut éventuellement être connecté à un serveur de traitement dédié.

Accès

  • Accès protégé (champ ACSMOD)

Ce paramètre permet de contrôler l'accès aux web services via les profils :

  • Oui : indique que seuls les utilisateurs identifiés auront accès à ce web service.

Ce paramètre est généralement utilisé par les applications qui utilisent les bibliothèque AJAX d'XTEND.

  • champ W1

 

Tableau Param. Accès sous-programme

Code du paramètre.

  • Valeur (champ VALTYP40)

Type de valeur pour le paramètre :

  • Saisie : la valeur des paramètres de type saisie est renseignée dans la fiche token lien dynamique ou bloc.
  • Constante : valeur fixe saisie dans la colonne 'Constante'.
  • Constante (champ VALEUR40)

Valeur d'un paramètre de type 'Constante'.

Fermer

 

Etats

Par défaut, les états suivants sont associés à la fonction :

 PRTSCR : Impression écran

Mais ceci peut être modifié par paramétrage.

Boutons spécifiques

Ce bouton permet de mettre à jour le dictionnaire XTEND au format XML.

Le serveur X3WEB prend en compte uniquement le dictionnaire sous ce format.

Il existe un fichier xml par dictionnaire.

Par exemple le fichier ACT.xml correspondant à l'ensemble des actions web pour le site Web courant.

Ce bouton permet de copier une interface.

Les champs suivants sont présents dans la fenêtre ouverte par ce bouton :

Bloc numéro 1

  • Type de données (champ TYP)

Les interfaces de type 'accès aux données' :

  • Accès généré table : permet de générer automatiquement un web services pour accéder aux enregistrements d'une table de la base de données X3.

  • Accès généré vue : idem 'Accès généré table' mais pour les vues X3.

  • Accès liste gauche : permet d'utiliser le web service 'liste gauche' d'un objet X3 comme source de données.

  • Accès sous-programme : permet de personnaliser un sous programme d''Accès aux données' et d'y ajouter des champs calculés.

Les interfaces de type 'action' :

  • Action sous-programme : appel d'un web service de type sous-programme.

  • Action objet : appel d'un web service de type action d'un objet X3.
  • Code (champ OBJCOD)

  • champ ZDES

 

  • Nom de publication (champ WEBSRCCOD)

  • Nb max. de lignes (champ RESMAX)

Nombre maximum d'enregistrements renvoyés par le web service, modifiable via le bouton 'Générer l'accès'.

  • Traitement (champ PRG)

Nom du traitement L4G appelé par le web service.

  • Sous-programmes (champ SUBPRG)

Nom du sous-programme appelé par le web service.

  • Module (champ MODULE)

  • champ WA

 

  • champ WB

 

  • champ WC

 

  • Type (champ TYPASU)

Tableau Interface

  • champ WSEL

 

  • Code (champ CODXTD)

  • Groupe (champ GRP)

  • Dimension (champ DIME)

  • Intitulé (champ INTITCOURT)

 

  • Longueur (champ CODLNG)

Fermer

'Cette documentation décrit le bouton-icone [Générer l'acces].

Ce bouton permet de générer automatiquement le web service dont le nom de publication est défini dans l'interface.

Le web service généré est immédiatement opérationnel sur tous les serveurs de web services qui publient le dossier. 

SEEINFO Ce bouton est actif après avoir créé la fiche.

Le bouton 'Générer l'accès' effectue les opérations suivantes :

  • Proposition de saisir le nombre maximum d'enregistrements lus à chaque appel du web service ('Nb max. de lignes'),
  • Code activité, module et type de Web service,
  • Demande de sélectionner les champs utiles,
  • Génèration du traitement L4G qui sera appelé par le web service avec pour nom 'W + nom de publication'
  • Publication du web service avec le nom de publication saisi précédemment.

Pour les interfaces de type :

Acces données table, Acces données vue

Le traitement et la fiche sous-programme sont générés automatiquement.

Acces données sous-programme, Action utilisateur sous-programme

Le traitement et la fiche sous-programme doivent être créés manuellement  avant de générer l'acces.

Action utilisateur objet, Acces données liste gauche

Il n'y a pas de traitement ni de fiche sous-programme à créer.

Barre de menu

Outils / Copie Web Service

L'outil 'copie web service' permet de sélectionner une ou plusieurs interfaces (champ interface vide) d'un site XTEND du dossier X3 courant et de copier/publier les web services associés vers un autre dossier.

Pour activer la copie, sélectionnez au moins une interface dans le liste.

Copie d'un sous-programme :

  • Copie d'un web service traitement L4G,
  • Création de la fiche 'sous-programme',
  • Publication du web service.

Copie d'un web service objet X3 :

  • Publication du web service.

Origine/Dossier : Dossier courant.

Origine/Site Web : Code du site XTEND qui permet d'afficher la liste des interfaces (Site courant par défaut).

Origine/Interface : Code de l'interface pour afficher que le web service de cette interface.

Destination/Dossier : Dossier de destination pour la copie.

Outils / Création token champ

Cet outil permet de créer les tokens champs à partir :

  • de la liste des champs d'une table X3,
  • de la liste des champs d'une vue X3,
  • des paramètres du web service associé à une interface.

 Colonne

Description

Paramètre

Code du champ la table ou du paramètre du web service

Intitulé

Intitulé du champ

Token champ

Code XTEND pour le paramètre (même code par défaut)
Saisissable si on souhaite créer un champ avec un nom différent du paramètre (mapping).

Existe

Cochée si le champ existe déjà dans le dictionnaire

Type

Type de champ (XTEND)
Saisissable à la création

Menu

Identifiant du menu pour le type MenuLocal
Saisissable si on souhaite créer un champ avec un nom différent de celui du paramètre

Dimension

Nombre maximum de valeurs du paramètre ou champ

Génération

Pour les champs de dimension supérieure à 1, indique si il faut générer un indice (NOMCHAMP + INDICE) :
Aucun : crée un champ sans indice,
Tous : crée autant de champs indicés que de valeurs possibles pour ce champ,
Un : crée un seul champ avec l'indice indiqué dans la colonne indice.
Saisissable à la création.

Indice

Indice du champ pour calcul du nom
Saisissable à la création si Génération=Un

Validez les champs après génération pour qu'ils soient pris en compte par le serveur XTEND.

La validation génère une nouveau dictionnaire XML des paramètres XTEND.

Le nouveau dictionnaire n'est pris en compte automatiquement sur reload/F5 de la page HTML dans le navigateur que si l'option de la fiche de paramétrage du site 'Technique\Vérifier mises à jour\Dictionnaire web' est cochée.

Sinon il faut forcer le rechargement du dictionnaire avec l'url :
'http://hostname:port/xtend/svc/SolutionX3/DossierX3/SiteXtend/admin/reposit/reload'

Messages d'erreur

Il n'y a pas de message d'erreur autre que les messages d'erreur génériques.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre