Processus métiers utilisant les fonctions de messagerie (bp)

De Wiki1000

Sommaire

Activités de messagerie

Les activités disponibles pour gérer les messageries sont les suivantes :

Envoyer un Email (SMTP)
Attendre la réponse d’un Email (REST)
Attendre la réponse d’un Email (POP3)
Attente de réception d’Email dans une boîte à lettre (POP3)

Les activités de messageries fonctionnent sur les protocoles standards Internet.

Trois types scénarios sont possibles :

  • Envoyer un mail,
  • Recevoir un mail,
  • Déclencher une activité dès réception d’un mail.

Deux méthodes sont offertes pour recueillir la réponse d’un Email :

  • REST
l’utilisateur clique sur un lien http correspondant au service d’un Serveur 1000 permettant de créer des évènements métiers. Cette possibilité suppose que l’utilisateur ait accès au domaine hébergeant le Serveur 1000 (Solution Intranet).
  • POP3
l’utilisateur répond au message reçu en en modifiant son contenu. L’activité scrute la boîte aux lettres de retour pour recueillir la réponse (Solution Internet).

Exemple d’utilisation d’une réponse REST

Déroulement du processus :

  1. Lorsqu’un utilisateur modifie le code d’un objet de WFClasseA, une instance du processus est déclenchée.
  2. Un email est alors envoyé à deux destinataires.
  3. Les destinataires peuvent répondre par Oui ou Non.
  4. Le processus attend la réponse, et en fonction du choix de l’utilisateur, exécute l’une ou l’autre des activités.

image62.png

Comme précédemment le déclenchement du processus utilise un évènement métier, l’activité suivante est l’envoi de l’email.

Onglet « Mail »

image63.png

Onglet « Mail »

Identifiant

L’identifiant du mail est un identifiant arbitraire utilisé pour réaliser le lien avec l’activité qui va gérer la réponse.

Adresse

La saisie des adresses des destinataires utilise la convention suivante :

les adresses sont séparées par des points-virgules,

  • si l’adresse contient un caractère arobase @ alors il s’agit d’une adresse externe Internet
  • si l’adresse ne contient pas de caractère arobase @ alors il s’agit d’une adresses interne d’une boîte à message de l’application.

Le corps du message est rédigé en HTML. Il contient les URL qui permettent à l’utilisateur de répondre. Pour placer ces URL, sélectionnez une zone de texte qui constituera le texte associée à l’URL puis utilisez la fonction URL de la barre d’outils.

image64.png

Le corps du message contient aussi des valeurs d’attributs du processus qui seront substituées à l’exécution : [Instance.unCode] la valeur entre les crochets est une expression qui sera évaluée par l’activité lors de l’exécution.

Onglet « Avancé »

Le lien vers l’écran associé fonctionne si vous renseignez le nom de l’écran dans l’onglet « Avancé ».

image65.png

Il permet à l’utilisateur d’accéder directement à une interface en rapport avec l’objet métier associé à l’instance du processus.

L’attente de la réponse à l’email est paramétrée de la façon suivante :

image66.png

Il suffit de reprendre l’identifiant de l’activité mail pour effectuer le lien avec l’email envoyé.

L’enchainement du processus en fonction de la réponse du destinataire est réalisé ainsi :

  • Si le destinataire répond OK la séquence Succès suivante est exécutée.
  • Si le destinataire répond NOK la séquence Echec suivante est exécutée.

Les activités qui suivront ne feront qu’écrire un message dans l’historique de l’instance.

image67.png

Exécutez cet exemple en utilisant une machine locale.

Tout d’abord ce processus envoi un Email à travers le protocole SMTP, il faut donc fournir les informations sur le serveur de messagerie utilisé. Avec l’application Desktop cela s’effectue dans le panneau de configuration du menu Fichier.

image68.png

Si nous avions utilisé un Service 1000 comme Serveur du processus ces informations seraient renseignées dans son fichier de configuration.

Ensuite le processus attend une réponse renvoyée à travers un service du Serveur 1000, il faut donc exécuter un Serveur 1000 pour récupérer cette réponse.

image69.png

Utilisez une machine locale. Cette machine n’étant pas le Serveur 1000 qui récupérera la réponse, il est nécessaire de renseigner l’adresse de ce serveur. Cela s’effectue sur les propriétés des « Serveurs de processus métiers ».

image70.png

Démarrez une instance du processus en modifiant un objet de la classe métier.

image71.png

L’instance a démarré.

image72.png

Vérifiez que les emails ont été envoyés. Tout d’abord dans la boîte à message de l’utilisateur vous retrouvez le message de départ.

image73.png

Il est possible de répondre à partir de la boîte à messages accessible depuis la barre Outlook, la barre d’outils de votre application Desktop ou le menu Fichier de votre application web.

image74.png

Puis dans le compte de votre messagerie.

image75.png

L’adresse du destinataire provient du paramètre situé dans les préférences de l’utilisateur (TODO).

Consultez l’écran associé au message en cliquant sur le lien du message, le navigateur est ouvert par le logiciel de messagerie. A cet instant l’utilisateur n’a pas de session ouverte sur le Serveur 1000, la page de connexion est donc tout d’abord proposée.

image76.png

Après avoir renseigné les informations de connexion, l’utilisateur est redirigé sur l’écran.

image77.png

Répondez maintenant « Répondre à l’email » en cliquant sur le lien Réponse NOK. Comme il s’agit d’un lien, le navigateur est ouvert par le logiciel de messagerie.

image78.png

L’exécution du service a été réalisée et sa réponse est un fragment XML indiquant que l’évènement a bien été créé. (TODO)

Concernant le processus, on constate que l’instance s’est terminée, et il est possible de visualiser le le journal de ce processus.

image79.png

La réponse reçue est bien NOK.

Vous pouvez aussi consulter les deux évènements métiers utilisés par ce processus : le changement d’état initial de l’objet métier et l’évènement créé par la réponse de l’utilisateur.

image80.png

Exemple utilisant une réponse POP3

Ce second exemple est identique au précédent, excepté la réponse de l’utilisateur qui est retrouvée dans sa réponse à l’email. C’est la référence du mail qui fait le lien.

L’envoi de l’email a été modifié pour permettre une réponse par messagerie.

image81.png

Les fragments entre crochet seront substitués à l’exécution ; ils ont été insérés avec la fonction suivante de la barre d’outils.

image82.png

Pour que la réponse de l’utilisateur soit reconnue, il est important qu’elle contienne la référence de l’email , le reste du texte n’a pas d’importance.

Si la réponse contient le fragment correspondant à [mailreponse_ok] la réponse sera considérée comme positive.

Pour paramétrer l’attente d’une réponse POP3, il faut paramétrer les informations nécessaires à la connexion sur le serveur de messagerie POP3.

image83.png

Exemple :

image84.png

L’email est reçu dans le logiciel de messagerie.

image85.png

Répondez en acceptant la réponse, pour cela supprimez la clause de refus.

image86.png

L’envoi de la réponse est détecté par l’instance du processus qui se termine. Vous retrouvez la trace dans le journal.

image87.png

Cas d’utilisation déclenchant un processus par la réception d’un email

Dans cet exemple vous allez réaliser un processus déclenché par la réception d’un email dans une boîte de messagerie. Le processus répond ensuite à l’email puis se termine.

image88.png

Evènement initial

L’évènement initial est la réception d’un email par le protocole POP3. En double-cliquant sur l’activité « Réception d’un Email dans une boîte à lettre », vous la paramétrez avec les informations de connexion du compte POP3.

image89.png

Le préfixe des paramètres sera utilisé pour copier les informations de l’email déclencheur dans les paramètres de l’instance.

Activité

L’activité envoyant la réponse est paramétrée dans la boîte de dialogue des propriétés de l’activité « Envoyer un email »..

image90.png

L’activité utilise les informations copiées lors de la création de l’instance pour :

déterminer l’adresse du destinataire : [GetParameter(‘inbox’,’ReplyTo’) ],

déterminer l’objet de l’Email : [Get(‘inbox.Subject’) ],

déterminer le corps de l’Email : [Get(‘inbox.Content’)].

Les deux formes GetParameter et Get sont équivalentes dans cet exemple.

Exécutez ce processus en utilisant le logiciel de messagerie d’envoi d’email dans la boîte à lettre utilisée par le processus.

image91.png

La réception de l’Email a créé une instance, celle-ci a répondu puis s’est terminée. Vous en trouvez la trace dans le journal.

image92.png

Vous pouvez aussi consulter les paramètres de l’email.

image93.png

Consultez la boîte à lettre de l’expéditeur pour retrouver la réponse.

image94.png

Cas d’utilisation faisant appel à un formulaire

Processus Métiers (bp)Développement DSM





Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels