SMTP BC OutBound Ejemplo con NetBeans 6.1

Estuvo mirando e indagando algunas paginas para crear un demo con la smtp bc y encontre algunos, pero no terminaban completamente de explicar el demo, otro era muy complicado explicando un escenario simple y no funcionaba bien, ademas que tenia errores en la escritura, asi que aca esta el demo de smtp bc.

Este demo asume que se ha trabajado con NetBeans, openesb, procesos bpel.

SMTP BC
En la pagina de openesb open-esb.dev.java.net esta la explicacion de para que sirve y que se puede hacer con smtpbc en open esb y una arquitectura orientada a servicio.
Con una vista amplia de lo que se puede hacer con smtp bc me tomo el atreviemiento de hacer el siguiente resumencito.
Smtp bc tiene varios escenarios los principales son:
  • Outbound (Enviar correos electronicos)
  • Inbound(Recibir correos electronicos)
A continuacion describo un ejemplo sencillo para comprender smtp bc enviando correos.

Empecemos con el Demo

1. Creamos un proyecto Bpel: File --> New Project --> SOA --> Bpel Module
Name: DemoSmtp
2. Dentro del proyecto creamos un wsdl llamado SMTPWSDL


En el paso 3 de la creacion elegimos operacion one-way y agregramos a las entradas 4 partes ... como muestra la figura

En el paso 4 escogemos como Binding Type SMTP.

3. Configuramos el wsdl acabado de crear, primero modificamos los datos del smtp server, por favor ingresar datos validos, asi como muestra la siguiente figura.

Despues modificamos los datos del input:smtp, como muestra la figura

3. Ahora creamos el wsdl del http bc llamado HTTPWSDL

Paso 3 de la creacion de HTTPWSDL

Paso 4 ...
4. Ahora creamos un proceso bpel llamado SendMail
Que debe quedar de la siguiente manera:

El Assign1 esta mapeado de la siguiente manera:
El stringLiteral asignado al from de la variable SMTPOperationIn debe tener una direccion valida de email, el cual envia el correo.

Y el Assign2 queda mapeado de la siguiente manera:
El stringLiteral asignado al part1 de la variable HTTPWSDLOperationOut dice: "Exito Envio Email"

.... Listo
5. Clean And Build
6. Creamos una Composite Application llamada DemoSmtpCA y le agregamos el jar del bpel process creado anteriormente, Clean & Build y la desplegamos en el GlassFish (Deploy).

Para poder probar se puede dentro de DemoSmtpCA crear un Test y ejecutarlo pero yo prefiero usar el programa soapUI, dentro de este creo un nuevo proyecto wsdl, le asigno un nombre al proyecto y le pongo la direcion del wsdl donde esta publicada la Composite Application, la cual se puede averiguar mirando las lineas finales del HTTPWSDL.

Esta crea automaticamente las Requests para poder probar DemoSmtpCA, simplemente (al igual que los tests en Netbeans) llenamos los datos en el request y orprimimos el boton en forma rectangular verde ubicado en la parte superior izquierda.

La respuesta la podemos ver en la parte derecha del Request


Como podemos ver sale el mensaje dice "Exito en Email" lo cual indica que la prueba fue exitosa ... Ahora podemos revisar el correo electronico del destinatario para verificar que el mail ha llegado correctamente.

Conclusion
  • Desde que se proporcionen los datos correctos para el smtp:address osea del smtp server, no debe existir incoveniente al desplegar la Composite Application ni al probarla.
  • En este demo del blog es mejor guiarse por las imagenes pues valen mas que mil palabras :)
Suerte Y Ciao !!!!

Comentarios

Entradas populares de este blog

Instalación Oracle WebLogic con Cluster

Email bc - Receiving Emails - Imap, NetBeans 6.1

La historia de la historia de un dia sorpresivo