Exemple Envoyer des emails avec un automate
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