Exemple Envoyer des emails avec un automate
(10 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 11 : | Ligne 11 : | ||
* Une classe métier à l'origine de l'email, la classe contient un attribut unEmail qui contient l'émail du destinataire. | * Une classe métier à l'origine de l'email, la classe contient un attribut unEmail qui contient l'émail du destinataire. | ||
* Un évènement métier qui détecte le changement de l'objet. | * Un évènement métier qui détecte le changement de l'objet. | ||
− | * Une file d'attente QUEUEEMAIL pour consommer l'évènement. | + | * Une file d'attente source QUEUEEMAIL pour consommer l'évènement. |
− | * Une file d'attente QUEUEPOP3 pour produire l'émail. | + | * Une file d'attente destination QUEUEPOP3 pour produire l'émail. |
− | * Un automate déclenché par un évènement file d'attentes. | + | * Un automate déclenché par un évènement file d'attentes sur QUEUEEMAIL. |
− | * Une tâche de copie de message entre file d'attente. | + | * Une [[Tâche copie de file d'attente (automate)|tâche de copie de message]] entre file d'attente. |
===Définition de l'évènement métier=== | ===Définition de l'évènement métier=== | ||
+ | L'évènement métier est déclenché lorsqu'un objet est créé dans la classe ou bien lorsque la valeur de l'attribut unEntier change. | ||
+ | |||
+ | {{#images:image3.png|msgqueue/example6}} | ||
+ | |||
+ | * File d'attente | ||
+ | : On indique ici le queueTopic qui sera utilisé dans la file d'attente source. | ||
+ | |||
+ | * Sujet | ||
+ | :Le sujet de l'email sera le libellé de l'objet. Cette zone alimentera l'attribut Caption de l'évènement. | ||
+ | |||
+ | * Redirriger vers | ||
+ | :Ici on retrouve l'adresse du destinataire à partir de l'objet. Cette zone alimentera l'attribut RedirectTo de l'évènement. | ||
+ | |||
+ | * Contenu | ||
+ | :Le contenu de l'email est paramétré par des attribut de l'objet. Cette zone alimentera l'attribut Text de l'évènement. | ||
+ | |||
===Teste avec le système d'Alerte=== | ===Teste avec le système d'Alerte=== | ||
+ | Il est possible de tester le déclenchement correcte de l'évènement en associant cet évènement comme Alerte à une boite à message. | ||
+ | |||
+ | {{#images:image4.png|msgqueue/example6}} | ||
+ | |||
+ | En modifiant un objet de la classe métier existant on vérifie qu'un message est bien créée dans la boite. | ||
+ | |||
===Définition des files d'attentes=== | ===Définition des files d'attentes=== | ||
+ | ====File d'attente Source==== | ||
+ | Cette file consomme les évènements | ||
+ | |||
+ | {{#images:image2.png|msgqueue/example6}} | ||
+ | |||
+ | *La classe est TdbmEvent | ||
+ | |||
+ | *Le topic est queueEmail tel que défini dans l'évènement métier | ||
+ | |||
+ | ====File d'attente Destination==== | ||
+ | Cette file est utilisée pour envoyer l'émail. | ||
+ | |||
+ | {{#images:image1.png|msgqueue/example6}} | ||
+ | |||
+ | sur l'url: | ||
+ | |||
+ | *sndMailToField | ||
+ | :Définit quel attribut de l'évènement contient l'adresse du destinataire, ici l'attribut RedirectTo de l'évènement | ||
+ | |||
+ | *sndSubjectField | ||
+ | :Définit quel attribut de l'évènement contient le sujet de 'émail, ici l'attribut Caption de l'évènement | ||
+ | |||
+ | *sndContentField | ||
+ | :définit quel attribut de l'évènement contient le contenu du message, ici l'attribut Text de l'évènement | ||
+ | |||
===Paramétrage de l'automate=== | ===Paramétrage de l'automate=== | ||
+ | {{#images:image5.png|msgqueue/example6}} | ||
+ | |||
+ | L'automate exécute une [[Tâche copie de file d'attente (automate)|tâche de copie]] de file à file. | ||
+ | |||
===Exécution=== | ===Exécution=== | ||
+ | Pour déclencher un email il suffit de modifier la valeur de l'attribut unEntier d'un objet de la classe métier | ||
+ | |||
+ | On constate le déclenchement de la tâche : | ||
+ | |||
+ | {{#images:image7.png|msgqueue/example6}} | ||
+ | |||
+ | puis la réception de l'email | ||
+ | |||
+ | {{#images:image8.png|msgqueue/example6}} | ||
+ | |||
+ | {{tip|Après exécution l'évènement initial a été supprimé}} | ||
[[Category:File d'attente]] | [[Category:File d'attente]] |
Version actuelle en date du 6 juin 2013 à 16:00
Sommaire |
Dans cet exemple nous allons montrer comment envoyer un email à un destinataire lorsque l'état d'un objet de l'application change.
Dans ce scénario:
- Nous modifions l'état d'un objet.
- Ceci crée un évènement métier.
- Une tâche d'automate consomme l'évènement et le copie dans une file d'attente POP3.
- La file d'attente POP3 envoie l'email.
Pour cela nous utiliserons :
- Une classe métier à l'origine de l'email, la classe contient un attribut unEmail qui contient l'émail du destinataire.
- Un évènement métier qui détecte le changement de l'objet.
- Une file d'attente source QUEUEEMAIL pour consommer l'évènement.
- Une file d'attente destination QUEUEPOP3 pour produire l'émail.
- Un automate déclenché par un évènement file d'attentes sur QUEUEEMAIL.
- Une tâche de copie de message entre file d'attente.
Définition de l'évènement métier
L'évènement métier est déclenché lorsqu'un objet est créé dans la classe ou bien lorsque la valeur de l'attribut unEntier change.
- File d'attente
- On indique ici le queueTopic qui sera utilisé dans la file d'attente source.
- Sujet
- Le sujet de l'email sera le libellé de l'objet. Cette zone alimentera l'attribut Caption de l'évènement.
- Redirriger vers
- Ici on retrouve l'adresse du destinataire à partir de l'objet. Cette zone alimentera l'attribut RedirectTo de l'évènement.
- Contenu
- Le contenu de l'email est paramétré par des attribut de l'objet. Cette zone alimentera l'attribut Text de l'évènement.
Teste avec le système d'Alerte
Il est possible de tester le déclenchement correcte de l'évènement en associant cet évènement comme Alerte à une boite à message.
En modifiant un objet de la classe métier existant on vérifie qu'un message est bien créée dans la boite.
Définition des files d'attentes
File d'attente Source
Cette file consomme les évènements
- La classe est TdbmEvent
- Le topic est queueEmail tel que défini dans l'évènement métier
File d'attente Destination
Cette file est utilisée pour envoyer l'émail.
sur l'url:
- sndMailToField
- Définit quel attribut de l'évènement contient l'adresse du destinataire, ici l'attribut RedirectTo de l'évènement
- sndSubjectField
- Définit quel attribut de l'évènement contient le sujet de 'émail, ici l'attribut Caption de l'évènement
- sndContentField
- définit quel attribut de l'évènement contient le contenu du message, ici l'attribut Text de l'évènement
Paramétrage de l'automate
L'automate exécute une tâche de copie de file à file.
Exécution
Pour déclencher un email il suffit de modifier la valeur de l'attribut unEntier d'un objet de la classe métier
On constate le déclenchement de la tâche :
puis la réception de l'email