Téléchargement des produits


Version anglaise


 

L'AMBSS permet d'exécuter des programmes Adélia d'un type particulier : EADELIA (Event Adélia). Ce type de programme ne peut être utilisé que pour les utilisateurs possesseurs de la licence SOA.

Un programme EADELIA a pour but le traitement des messages envoyés par un courtier. Cependant, un programme EADELIA est indépendant du type de courtier : il peut être également consommateur de messages issus de différents courtiers. Chaque instance de ce programme sera consommateur d'un courtier particulier.

Un programme EADELIA est un programme Batch généré pour la plateforme Java "Event". Ce programme ne peut être appelé que par l'AMBSS. De plus, il peut avoir des paramètres parmi les types suivants : ALPHA / NUM_BIN_2 / NUM_BIN_4 / NUM_BIN_8 / NUM_E / NUM_P / BOOL / DATE / TIME / TIMESTAMP.

Un programme EADELIA ne peut pas appeler un autre programme EADELIA, mais peut appeler :

  • un programme VA_B (avec ou sans état) généré pour la plateforme Java "Event",
  • un programme SA_B (depuis sa partie serveur).


La génération multilingue est autorisée pour ce type de programme pour la prise en charge des constantes du dictionnaire localisées.

Enfin, un programme EADELIA travaille uniquement avec des connexions BD poolées.


Principes

Un programme EADELIA est lié à un souscripteur via sa description (dans l'objet config/adeliaPgm).

Le programme est créé par la fabrique puis interagit avec le souscripteur natif.

Un programme EADELIA traite les événements qui lui sont envoyés de manière synchrone et séquentielle. A chaque événement est associé un bloc de traitement (un paragraphe) correspondant.

Durant tout le cycle de vie d'un souscripteur Adélia (démarrage, consommation de messages, arrêt), une seule instance du programme est utilisée. Un programme EADELIA est stateful.



Après la création de l'instance du programme, un événement ON_START est envoyé pour notifier l'utilisateur du démarrage du souscripteur Adélia : le bloc d'instructions correspondant onStart est exécuté. Si les traitements d'initialisation utilisateur échouent, il est possible d'acquitter négativement l'événement ON_START pour arrêter le souscripteur Adélia. Les blocs onError (événement ON_ERROR) puis onStop (événement ON_STOP) seront exécutés en séquence.


Si l'événement ON_START est acquitté positivement, alors la fabrique créé le souscripteur natif associé, qui se connecte et s'abonne au courtier. Puis le courtier transmet les messages disponibles au souscripteur natif.


Le cas 1 décrit le traitement classique d'un message : Celui-ci est envoyé par le courtier au souscripteur natif qui l'envoie au programme EADELIA via l'événement ON_MESSAGE. Le message est traité dans le bloc onMessage et l'utilisateur acquitte le message (positivement ou négativement). L'acquittement est ensuite envoyé par le souscripteur natif au courtier.


Le cas 2 décrit le traitement d'erreur : Une erreur peut être envoyée par le courtier ou par le souscripteur natif. Celle-ci est transmise au programme via l'événement ON_ERROR. L'erreur est traitée dans le bloc onError. Si l'erreur est critique, un événement ON_STOP est envoyé par le souscripteur natif au programme. Le bloc onStop permet de libérer les ressources utilisées par le programme. Le souscripteur natif se déconnecte du courtier et l'instance du programme est détruite.


Le cas 3 décrit le traitement d'une demande d'arrêt du souscripteur Adélia par programme : Lors du traitement du message dans le bloc onMessage, l'utilisateur peut demander l'arrêt du souscripteur Adélia. A la fin de l'exécution du bloc onMessage, le bloc onStop (événement ON_STOP) est exécuté. Puis le souscripteur natif se déconnecte du courtier et l'instance du programme est détruite.

Ordres associés

Le traitement du flux d'information entre la fabrique/le souscripteur natif et le programme EADELIA passe par les différents blocs et leurs ordres associés.

OrdreDescriptionPortée
BRK_RECUP_CONFPermet de récupérer des informations sur le contexte d'exécution du programme et sur la description du souscripteur Adélia.onStart / onStop / onError / onMessage
BRK_RECUP_MSGPermet de récupérer la charge utile du message à traiter ainsi que ses propriétés / Permet de récupérer les propriétés de l'erreur en cours.onError / onMessage
BRK_REPONSEPermet d'acquitter un traitement / Permet d'arrêter le souscripteur.onStart / onMessage


Remarque : ces ordres ne peuvent être utilisés que dans un programme EADELIA (et dans les procédures locales au programme).

Exécution

Sachant qu'un souscripteur Adélia ne connait que le nom et le package (via sa description dans l'objet config/adeliaPgm) du programme a exécuter, il est nécessaire d'indiquer à l'AMBSS dans son paramétrage, l'emplacement de génération du programme.

De plus, il est possible d'utiliser un gabarit Gradle de packaging d'une application AMBSS standalone contenant l'ensemble des binaires des programmes EADELIA à exécuter. Ces binaires peuvent être issus d'une génération interactive ou d'un artéfact issu d'un build Adélia par domaines ou d'un build Adélia par composants (le support de ce nouveau type de programme étant ajouté).

↑ Haut de page

  • Aucune étiquette