OpAdxd permet, à partir d’une session Safe X3 qui s’exécute sur un serveur de traitement (dans la suite référencé par « serveur Appelant »), d’établir ou de fermer une session avec un serveur de traitement Safe X3, ou un serveur Safe X3 Bridge Java tiers (dans la suite référencé par « Serveur Appelé »).
Dans le cas d'une ouverture de session, l’instruction Opadxd établie, sur la base des paramètres passés à l'instruction, une session en se connectant à un dossier du serveur appelé, lui associe une abréviation et la rend utilisable par les instructions Calliu et Funciu, ces dernières permettant de déclencher l’exécution de sous-programmes situés sur le dossier de connexion, ou dans le container OSGI du serveur Bridge Java.
La fermeture d’une session associée à une abréviation sous-jacente s’effectue en utilisant l’instruction Opadxd sans référencement de paramètre, hormis l’abréviation elle même.
OpAdxd [expr_servtrt[:exp_porttrt] With [expr_servapp[:exp_portapp]@]expr_dossier, expr_lang, expr_utili, expr_motpasse] Using [abreviation]
Eléments | Type | Description |
expr_ servtrt[:exp_porttrt] | Variable ou constante de type Char | Identifiant réseau (le couple DNS ou adresse IP de la machine, port d’écoute) du serveur de traitement cible. Le numéro de port (:exp_portrtt) est optionnel. Par défaut c’est le numéro de port du serveur de traitement appelant qui est employé. |
[expr_ servapp:exp_portapp@]expr_dossier | Variable ou constante de type Char | Identifiant du dossier Cible. Si le dossier cible n’est pas localisé sur le serveur de traitement cible (expr_ servtrt[:exp_porttrt]), le nom canonique du dossier, incluant l’identifiant réseau du serveur d’application cible (expr_ servapp:exp_portapp@]), doit alors être employé. Dans le cas de l’établissement d’une session avec un serveur Bridge Java, ce paramètre doit correspondre à une chaîne vide. |
expr_lang | Variable ou constante de type Char | Langage de connexion au dossier cible. |
expr_utili | Variable ou constante de type Char | Utilisateur applicatif sur le dossier cible. |
expr_motpasse | Variable ou constante de type Char | Mot de passe pour l’utilisateur applicatif |
abreviation | Identifiant | Identifie le canal de communication créé (utilisable par les instructions Calliu et Funciu) |
# Ouverture d'une session sur le dossier X3DIAM localisé sur le
# serveur de traitement « aydaix03.acy » à l’écoute sur le port 4150
OpAdxd "aydaix03.acy:4150" With "X3DIAM","FRA","myUserId","myPassword" Using [DIAMOND]
# Fermeture de la session Safe X3 identifiée par l'abréviation "DIAMOND"
OpAdxd Using [DIAMOND]
# Ouverture d'une session avec un serveur de traitement Safe X3 localisé
# sur la machine « sodaix02.com » à l’écoute sur le port 16000, et
# connexion au dossier DEMOFRA hébergé sur le serveur d’application
# « astragale.com » à l’écoute sur le port 5500
OpAdxd "sodaix02.com:16000" With
"astragale.com:5500@DEMOFRA","FRA","myUserId","myPassword" Using [EXT]
Le serveur de traitement Safe X3 qui initie la connexion est vu comme un client par rapport au serveur de traitement distant.
Le dialogue entre les deux serveurs de traitement, Appelant et Appelé, s’effectue selon le protocole de communication Safe X3, qui est identique au protocole de communication entre un serveur de traitement Safe X3 et un client Safe X3.
Le serveur de traitement appelé peut potentiellement envoyer des messages protocolaires qui exigent une réponse de la part du serveur de traitement appelant, par exemple le message NDOBOXI (Instruction Qstbox) qui correspond à une boîte de dialogue avec un ou plusieurs boutons attendant un choix et une réponse. Dans ce cas, la réponse la plus sûre et probable, c’est à dire le choix correspondant au bouton par défaut, est automatiquement renvoyée à l’appelé par l’appelant.
Gestion des situations exceptionnelles
L’abréviation qui identifie une session ouverte par OpAdxd est unique . Une tentative de ré-ouverture d’un canal de communication avec une abréviation qui est déjà utilisée pour identifier une autre session provoque une exception « ERCHNEX (126) Canal en cours d’utilisation ».
Un échec au démarrage du serveur de traitement cible ou de la connexion au dossier applicatif cible (suite par exemple à des paramètres de connexion incorrectes ou a des restrictions de droits d’accès aux exécutables et fichiers, ou autres cas d’erreur pouvant survenir pendant le démarrage de la session) sont interceptés, et publiés au niveau du serveur de traitement de la session appelante (EROPADXD (129) Erreur provenant du serveur distant) et entraînent la fermeture de la session cible devenue inutilisable. L’abréviation de la session cible est dans ce cas libérée.
Enfin, la fermeture de la session appelant entraîne la fermeture de toutes les sessions Opadxd ouvertes et non explicitement fermées.
Le compte de connexion système doit coïncider sur les deux plateformes de l’appelant et de l’appelé, puisqu’il n’est pas renseigné dans l’appel de OpAdxd, mais automatiquement propagé par l’appelant. Autrement dit, le compte de connexion utilisée pour établir la session sur la plate-forme cible est celui qui a prévalu à l’établissement de la session sur la plate-forme de l’appelant.
La version des serveurs de traitement et d’application Safe X3 appelant et appelé doit être identique.
Erreur | Description |
ERCHNEX (126) | Canal en cours d’utilisation. |
EROPADXD (129) | Erreur provenant du serveur distant. |
ERNET (130) | Erreur réseau. |