Cómo integrar Bizagi con Joomla!

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > ¿Cómo hacer? .... > Temas de integración >

Cómo integrar Bizagi con Joomla!

Introducción

En esta sección se describe cómo crear un caso en Bizagi desde Joomla!.

 

Con el ejemplo Joomla! se puede extender con una potente plataforma digital con capacidades BPM como Bizagi.

Esta integración se centra en Joomla! como punto de entrada de las solicitudes de sus clientes (un gestor de contenidos utilizado como Portal), y Bizagi ejecutando los procesos detrás.

 

El siguiente diagrama representa la arquitectura considerada por la integración en este ejemplo.

 

Joomla_overview

 

1 Los clientes acceden a su sitio web y envían una solicitud de contacto a través de Joomla!

2 La información de contacto es enviada a través de la capa SOA de Bizagi.

3 Un nuevo caso es creado en su proyecto Bizagi para darle continuidad al proceso BPM.

 

 

Pre-requisitos

Para este ejemplo necesita Joomla! 1.5 o superior instalado.

Joomla! puede ser descargado desde su página oficial.

 

 

Lo que debe hacer en Bizagi

 

Para llevar a cabo esta integración se consideran los siguientes pasos:

 

1. El uso de componentes en Joomla! para la forma de contacto.

2. Tener el proceso de Bizagi para gestionar las peticiones de contacto.

3. El uso de una aplicación web para la invocación de servicios Web.

 

 

Ejemplo

El ejemplo se muestra y describe

En primer lugar, la publicación de un "Contáctenos" en el sitio Web de su empresa para capturar la información inicial.

 

 

Joomla_ContactUs

 

Luego, esta información se envía a través de servicios Web a Bizagi para que se delegue en sus procesos (creando un caso para la petición de contacto).

 

Para enviar esta información a través de los servicios Web, es necesario incluir el desarrollo de una invocación de servicio Web.

Para simplificar la integración y el ejemplo, la invocación de los servicios Web publicados por Bizagi no se llevará a cabo a través de PHP directamente, sino a través de un componente en una aplicación .NET.

 

 

1. Usando componentes en Joomla! para la forma de Contáctenos

Con el fin de llevar a cabo este ejemplo para Joomla!, se requiere la creación de los siguientes archivos (y estructura de carpetas) como se muestra a continuación:

 

site/contactus.php - este es el punto de entrada de nuestro componente.

site/controller.php - este archivo contiene el controlador base.

site/views/contactus/view.html.php - este archivo obtiene cierta información y la utiliza en la plantilla (template).

site/views/contactus/tmpl/default.php - esta es la plantilla para nuestra página HTML que contiene el formulario "contáctenos".

site/models/contactus.php - este archivo es creado para seguir el patrón MVC.

contactus.xml - este archivo XML describe los archivos del componente ("manifest") que permiten la instalación en Joomla! del componente.

 

 

Estos archivos y estructura de carpetas fueron nombrados de acuerdo al estándar definido de [de nomenclatura], y nuestro componente se llama "contactus" (contáctenos en inglés). En Joomla!, será instalado como "com_contactus".

 

El archivo Default.php es como se muestra a continuación:

 

 

Joomla_Default_php

 

Nótese que el valor de "action" (parámetro HTML) en la forma, hace referencia a la ubicación HTTP en el que encontraremos el componente .Net. La instalación de este componente será detallada más adelante en lo instruído en "Usando una aplicación web (en .Net) para la invocación de los servicios web".

 

Descargue el componente en Joomla! listo para su instalación aquí.

 

 

2.Creando el proceso en Bizagi para manejar la solicitud de contacto

Ya que tenemos el punto de entrada para estas peticiones de contacto como una página web en Joomla!, es necesario tener ahora un proceso de Bizagi para recibir la información de estas peticiones, y darle continuidad al proceso bajo el enfoque de BPM (por ejemplo: revisar la solicitud, enviar un correo a esa persona, etc,).

 

Para este ejemplo, se describe un simple proceso de "Contacto" creado en Bizagi con las siguientes características:

 

1. El proceso se denomina ContactUsRequest, y el modelo de datos para este proceso tiene como Entidad de Proceso una entidad llamada ContactUsRequest.

 

2. La entidad ContactUsRequest tiene principalmente estos atributos:

 

- ContactName (tipo texto)

- EmailAddress (tipo texto)

- Message (tipo texto)

- TelephoneNumber (tipo texto)

 

 

 

Joomla_attributes

 

Nótese que es necesario especificar una longitud para los atributos de tipo texto (para los 4). Asegúrese de que sean lo suficientemente largos para soportar la información entrante desde el formulario en Joomla!. Los valores sugeridos son:

 

ContactName Longitud: 50

EmailAddress Longitud: 50

Message Longitud: 4000

TelephoneNumber Longitud: 20

 

3. La construcción de la forma de la primera actividad en el proceso Bizagi debe incluír los 4 atributos mencionados anteriormente. En la forma de esta primera actividad en Bizagi se podrá ver la información enviada desde Joomla! de manera no-editable.

 

En resumen, los atributos: ContactName, EmailAddress, Message y TelephoneNumber se incluyen con la propiedad de Editable en falso.

 

Joomla_form

 

 

3. Usando una aplicación web para la invocación de los servicios web

Con el fin de crear casos en Bizagi con la información ingresada externamente, es necesario que una aplicación Web invoque los servicios web de Bizagi. Para ello, en este ejemplo vamos a ilustrar el desarrollo de una aplicación Web en una solución. NET.

 

Esta aplicación web se encargará de enviar la información al invocar el método web createCases en la Capa SOA de Bizagi  (para iniciar una instancia de proceso.

 

Recuerde sin embargo, que Bizagi ofrece a través de su capa SOA muchos más métodos disponibles para la integración con otros sistemas. Estos otros métodos pueden ser utilizados en Joomla! bajo este escenario también (por ejemplo, para actualizar o consultar la información de un caso ya existente).  Para más información refiérase a Invocar servicios Bizagi desde aplicaciones externas.

 

Puesto que este ejemplo se trabajó con Microsoft Visual Studio 2008, la solución de la aplicación web creada se referenciará a partir de ahora como el ContactUsApplication, y se instruyen su paso a paso a continuación.

 

 

1. Cree un nuevo proyecto en Visual Studio y seleccione ASP. NET Web Application para este tipo de proyecto.

 

Joomla_VSWebApplicationSolution

 

Para la aplicación ContactUsApplication, se requiere una referencia web (web reference) en el proyecto visual studio de la manera:

http://[su_servidor_Bizagi]/[su_proyecto_Bizagi]/webservices/workflowenginesoa.asmx

 

2. Cree entonces la referencia web correspondiente a los servicios web publicados por su proyecto Bizagi.  

 

Joomla_VSAddWebReference

 

Joomla_VSWebReference

 

 

Note

Recuerde que lo indicado es un ejemplo y que para seguir prácticas seguras y recomendadas, el acceso a estos servicios web debe estar restringido y controlado en su servidor IIS de acuerdo a sus políticas de seguridad.

 

Dado que la información proveniente desde Joomla! se envía desde un formulario, estos datos pasarán a la ContactUsApplication bajo el método get de HTML. Por lo tanto, se requiere la recuperación de estos parámetros en el Default.aspx.cs, en su método "Page_Load".

 

El archivo Default.aspx.cs debe quedar como se muestra a continuación:

 

Joomla_VSDefault_aspx

 

La invocación del servicio web se realiza en una clase diferente, llamada WSController.cs.

Para crear la clase WSController, se debe agregar un nuevo elemento (add New Item) al proyecto tal como se muestra:

 

 

Joomla_VSAdd_NewItem

 

Joomla_VSNewClass_WSController

 

El archivo WSController.cs debe quedar como se muestra a continuación:

 

Joomla_VSController_cs

 

Descargue el proyecto completo en Visual Studio aquí.

 

 

Finalmente, monte estos archivos en su servidor IIS como una aplicación para que pueda ser accesada desde el enlace (como http://[your_Bizagi_server]/[your_iis_application]/Default.aspx).

 

Para hacerlo, copie primero la carpeta del proyecto en Visual Studio en la carpeta C:\inetpub\wwwroot\ de su servidor IIS.

 

Seguidamente, abra el administrador de IIS desde el comando Ejecutar como se muestra a continuación:

 

 

Joomla_Inetmgr

 

Dé clic derecho sobre la carpeta copiada y seleccione la opción convertir en aplicación.

 

Joomla_IISConvertTA

 

Nótese que la URL de ubicación donde queda este componente debe corresponder a lo definido en el archivo Default.php, en el "action" de la forma.

 

En este punto, hemos finalizado el cómo, y estamos listos para que los clientes puedan acceder la forma de "Contáctenos" a través de Joomla! y hacia su proceso Bizagi. Para probar y acceder al formulario, asegúrese de que su servidor Apache (conteniendo Joomla!) esté iniciado y digite en un explorador:

 

http:[su_servidor]:[puerto_apache]/Joomla_1.5.22-Stable-Full_Package/index.php?option=com_contactus

 

 

Ejecución

Para ver este ejemplo, lo primero que complete la información inicial en el formulario de contacto directamente en Joomla! (acceda a nuestro formulario de contacto mencionado anteriormente).

 

Luego ejecute nuestro Proceso en Portal de Trabajo haciendo clic en la opción Ejecutar:

 

ComponentLibrary_Run

 

 

Podemos ver la actividad pendiente en Bizagi, creada con Joomla!

 

Joomla_exec