integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Post on 07-Nov-2014
700 Views
Preview:
DESCRIPTION
TRANSCRIPT
Integraciones con arquitectura ChakrayGoogle Calendar & Google Drive
WSO2 – Application Server & Business Activity Monitor Bonita BPM
Jack A. RiderPrincipal Software Architect & Consultant
BPM, ECM, Open Source, Portals
jack.rider [at] chakray.com
+34 667770067
Objetivos
Integraciones con arquitectura Chakray
Requisitos
• Uso de Web Services para mostrar desacoplamiento entre recursos.• Solo usar Conectores pre-existentes de Bonita BPM.• Acceder a recursos de Google usando su API.• Tener una plataforma de monitoreo de toda la estructura.
• Ejercicio práctico de creación de un proceso de integración, orquestado por BPM, que resuelva una situación compleja.
• Usando el Stack Open Source definido en la arquitectura Chakray.
• Manteniendo total separación entre la vista, el modelo de negocio y el control de los recursos.
• Escalable, con posibilidad de Implementar Seguridad, Calidad de Servicios, KPIs, BAM…
Arquitectura de Referencia
Integraciones con arquitectura Chakray
Vista global de la arquitectura de referencia usada
Elementos utilizados en la Integración 1/2
Integraciones con arquitectura Chakray
Capa de Presentación
VIEW
Capa de Orquestación
CONTROLLER
Capa de Negocio
MODEL
Escenario : Chackray Magazine Events
Integraciones con arquitectura Chakray
Definir los pasos del proceso:
• Un Redactor un pide la cobertura de un evento
• Se crea el Evento en Google Calendar y se avisa al Jefe de Fotógrafos
• El Jefe de Fotógrafos invita a un Reportero a cubrir el evento.
• Se añade a ese fotógrafo a calendario y se le invita.
• El Reportero puede, o no, aceptar la invitación.
• En caso de no aceptar se repite selección y se avisa al Jefe de Fotógrafos
• Si acepta, se habilita un Repositorio en Google Drive y se le comparte.
• Cuando el fotógrafo sube las fotos, se avisa al redactor y termina.
• Quedando al final una plataforma de Monitorización del sistema, para QoS, estadísticas, etc.
Escenario : Chackray Magazine
Integraciones con arquitectura Chakray
El Proceso:
Elementos utilizados en la Integración 2/2
Integraciones con arquitectura Chakray
Para esta prueba de concepto utilizamos como capa de visualización el Bonita Portal, aunque como hemos visto en casos anteriores, podríamos usar BonitaLife con Liferay Portal.
Nuestra capa de controlador, la resolvemos a través del uso del Bonita engine, que con sus conectores nos permite consumir los servicios creados y expuestos en WSO2 y orquestar las tareas de forma sencilla. El uso de estos servicios se publica con el AS Service Data Publisher en el BAM.
Nuestros recursos en este ejemplo provienen de Google Calendar para la gestión de calendario y de Google Drive para los repositorios documentales. Evidentemente luego podremos cambiar estos recursos por otros, como Outlook, Alfresco, Documentum, etc. Cassandra lo utilizamos para guardar las actividades de los WS para el explotarlos en el BAM.
Tareas del Proceso
Integraciones con arquitectura Chakray
El Redactor Crea el evento
Nuestro redactor, una vez autenticado en Bonita Portal, lanza el proceso de eventos fotográficos, asignándose y ejecutando la tarea “Introducción Evento”, que corresponde a la formalización del correspondiente formulario, con los datos del mismo.
Tareas del Proceso
Integraciones con arquitectura Chakray
Se crea el Evento e Google Calendar
De forma automática, el proceso crea el evento en Google Calendar, como se ve en las capturas actuales, usando los datos del Redactor.
Tareas del Proceso
Integraciones con arquitectura Chakray
Se avisa al Jefe de Fotografía
Aunque, el envío de una notificación, se podría haber definido en el alta del calendario, como se verá mas adelante, aquí hemos querido mostrar el uso del conector de correo de Bonita para enviar notificación del evento al Jefe de Fotografía.
Tareas del Proceso
Integraciones con arquitectura Chakray
El Jefe de Fotografía ahora debe Asignar el evento
Nuestro Jefe de Fotografía, una vez notificado, entra en el portal y observará que tiene la tarea “Asignar Evento a Fotógrafo”, pendiente de ejecutar.El formulario que le aparece al ejecutarla, se muestra en la captura de la izquierda. Simplemente seleccionará un fotógrafo de la lista y enviará la invitación.
Tareas del Proceso
Integraciones con arquitectura Chakray
El Reportero asignado debe Aceptar
El proceso ahora es bastante dinámico, creando primero un evento en el calendario del fotógrafo seleccionado, como se ve a la izquierda, para quedar después a la escucha de su respuesta.
Si la respuesta es negativa, eliminará la actual invitación y volverá al Jefe de Fotografía para que realice otra selección, y en caso positivo, continuará el proceso, todo esto sin intervención humana.
Tareas del Proceso
Integraciones con arquitectura Chakray
Se crea el repositorio para el evento y se le avisa
El primer paso a realizar, una vez el fotógrafo a aceptado el evento, es crear un repositorio para que pueda subir sus documentos y notificarle. Aquí hemos dejado que la Google Drive API realice la notificación al usuario.
Tareas del Proceso
Integraciones con arquitectura Chakray
Esperamos a que el Fotógrafo suba los documentos
Al igual que hacíamos con los eventos, quedamos a la espera de que el fotógrafo realice la acción esperada, en este caso, subir los documentos, como se observa en la captura de la izquierda.
Esto se consigue con el uso de “Border Events” de Bonita, en este caso particular, con un timer.
Tareas del Proceso
Integraciones con arquitectura Chakray
Avisamos al redactor que ya tiene sus fotos
Detectada la acción de subida al repositorio correspondiente del trabajo del reportero, la última tarea que nos queda es avisar al redactor responsable del evento de que ya tiene los recursos disponibles.
Como se hizo: Definiendo el catalogo de servicios.
Integraciones con arquitectura Chakray
Primero detectamos los servicios por Departamento / Rol
Redactor• Crea un Evento y su entrada de calendario• Avisa al Jefe de Fotógrafos• Recibe resultado del Evento
Jefe de Fotógrafos• Asigna / Re-asigna Eventos a Reporteros• Invita a Reportero al Calendario / Evento• Comprueba que el reportero acepta el trabajo
Reportero / Fotógrafo• Acepta o no el Evento• Sube su trabajo al repositorio• Avisa a redacción de su terminación.
Como se hizo: Creando los servicios
Integraciones con arquitectura Chakray
Después Creamos un Web Service para cada necesidad
Con el Developer Studio de WSO2 en Eclipse, y valiéndonos de las Google Calendar & Drive APIs creamos unos AXIS2 webservices de las operaciones necesarias.
Como se hizo: Implementando los servicios.
Integraciones con arquitectura Chakray
Expusimos los servicios en WSO2
Instalamos WSO2 Application Server y le implementamos los servicios Axis2 creados
Como se hizo: La integración con Bonita BPM
Integraciones con arquitectura Chakray
Finalmente asignamos estos servicios a tareas del modelo
Por último, utilizando el conector de Bonita para “WebService SOAP 1.2”, realizamos las conexiones correspondientes entre las tareas y los WebServices.
Como se hizo: Configurando la monitorización.
Integraciones con arquitectura Chakray
Activamos la publicación de Datos de Servicios desde WSO2 AS
Antes instalamos WSO2 BAM Business Activity Monitor para lanzar al repositorio Cassandra del BAM server la actividad de los servicios usados.
Como se hizo: Configurando la monitorización.
Integraciones con arquitectura Chakray
En el Servidor BAM instalamos las herramientas de monitoreo de estadísticas
Las BAM “Service Stats Monitoring Toolbox” son unas herramientas de WSO2 para la monitorización de actividades y existen para BAM, ESB, AS, DSS y BRS.
Como se hizo: Business Activity Server DashBoard.
Integraciones con arquitectura Chakray
Gráficos de monitorización pueden verse en el BAM Dashboard
El Dashboard puede personalizarse con diferentes gadgets y aparte pueden generarse informes como veremos en la siguiente slide.
Como se hizo: Business Activity Server Reports.
Integraciones con arquitectura Chakray
Además podemos realizar informes sobre los datos monitorizados
El Business Activity Monitor Server tiene una serie de herramientas para crear informes de los datos adquiridos de forma sencilla y exportables a Pdf, html, etc.
Integraciones con arquitectura Chakray
¿Que podemos mejorar?
Bueno, el límite es el cielo, pero aquí van algunas ideas:
-Integrar esta solución con WSO2 Identity Server, nos resolvería toda la temática de autenticacíon entre aplicativos y roles de usuarios.
-Probablemente Nuxeo, Alfresco o Documentum, sean repositorios mas apropiados para esta solución que Google Drive.
- En un contexto real, se necesitarían opciones que permitan la cancelación del proceso por el Redactor o el Jefe de Fotografía.
- Aplicar seguridad a todos los WS, seguridad, seguridad y seguridad.
- Para asignar eventos con racionalidad se pueden aplicar ciertas reglas de negocio en WSO2 Business Rules Server.
- Se podrían calcular los tiempos de desplazamiento entre eventos (tenemos la localización) para no darle a un reportero dos eventos con 10 minutos entre ellos y a 100Km de distancia.
- Si utilizamos la integración de Liferay Portal, BonitaLife, el uso del portal nos dará mas comodidad en el manejo de las tareas.
- y a si 1000 mas.
Integraciones con arquitectura Chakray
¿Que podemos concluir?
Como dice un amigo, “depende”, pero aquí van algunas conclusiones:
-Hemos construido una solución compleja a base de herramientas totalmente open source. Ojo, nuestra vida sería mas fácil si por ejemplo usamos la versión de subscripción de Bonita, que tiene mejoras sustanciales.
-Nos encontramos con una infraestructura totalmente escalable, desacoplada, que podemos convertir en tolerante a fallos y crecer sin límites.
-Tenemos Monitorización de los servicios, con lo que esto significa.
- No hemos tenido que “matarnos” a programar, solo hemos hecho 8 sencillos servicios, bien ¿eh?
- Modificar o extender el proceso, solo implica modificar el diagrama. En el peor de los casos modificaremos o añadiremos algún servicio.
- Para aplicar seguridad, no tenemos que modificar nada, WSO2 se encarga de todo.
- Si tenemos que cambiar alguna de las herramientas, solo tendremos que cambiar los servicios afectados, no hay que tirar la solución a la basura. Esto es SOA.
- y tú, ¿Qué concluyes?
Integraciones con arquitectura Chakray
Gracias por su atención ------------------
Thanks for your attention
Doing the right thingsWith the right technology
To support business
Haciendo las cosas correctasCon las tecnologías adecuadas
Para apoyar a las empresas
top related