mardi 26 février 2008

Démarrer un processus Bpel depuis l'arrivée d'un Email


Bpel Manager d'Oracle peut déclencher un processus métier à partir de l'arrivée d'un email dans une boîte spécifique.

Pour réussir cette recette il faut :


- un serveur email (je vous propose en gratuit : http://www.argosoft.com/ (Mail Server Freeware suffit)

- Soa Suite (du moins Bpel suffira)
- un client email pour pousser l'email qui va instancier votre processus



Paramètrage de Bpel Manager:

- Créer un répertoire : ORACLE_HOME\bpel\domains\default\metadata

- Créer un second répertoire : ORACLE_HOME\bpel\domains\default\metadata\MailService
Ajouter le fichier XML (BpelMailAccount.xml) suivant : ICI dans ce répertoire.

Ensuite, il suffit de créer un Processus Bpel asynchrone qui utilise comme Schéma XSD le fichier présent dans le répertoire en input : ORACLE_HOME\bpel\system\xmllib\Mail.xsd

Ajouter le schéma au projet Jdev (par un Add Schéma dans la vue structure Bpel) utilisé par Mail.xsd (sinon vous aurez des erreurs de compilation) :
ORACLE_HOME\bpel\system\xmllib\common.xsd


Valider la compilation ... Si c'est ok passer à l'étape suivante:

- Configurer l'agent qui va s'activer pour scruter les emails de boîte décrite dans BpelMailAccount.xml.

Il faut éditer le fichier bpel.xml de votre projet et rajouter des lignes pour que le partnerLink scrute les emails:




Ensuite vous déployer et balancer un email dans la boîte en question, et le processus se déclenche .....

Attention, si vous modifier le processus Bpel, le fichier bpel.xml est reinitialisé, pensez à rajouter les lignes pour le fonctionnement de l'agent.

PS: J'ai validé cela sur la version 10.1.3.3 et 10.1.3.1 ... en attendant la V11 SOA

Un grand merci à ce blog :

Aucun commentaire: