Your SlideShare is downloading. ×
0
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Integracion google calendar-drive-wso2_bonita_bonita_life_liferay
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Integracion google calendar-drive-wso2_bonita_bonita_life_liferay

1,763

Published on

Ejemplo de Orquestacion con Bonita BPM en una Arquitectura de Referencia WSO2

Ejemplo de Orquestacion con Bonita BPM en una Arquitectura de Referencia WSO2

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,763
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
31
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Jack A. Rider Principal Software Architect & Consultant BPM, ECM, Open Source, Portals jack.rider [at] chakray.com +34 667770067 Integraciones con arquitectura Cha Google Calendar & Google Drive WSO2 – Application Server & Business Activity Monitor Bonita BPM
  • 2. Objetivos • 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… 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. Integraciones con arquitectura Chakray
  • 3. Arquitectura de Referencia Vista global de la arquitectura de referencia usada Integraciones con arquitectura Chakray
  • 4. Elementos utilizados en la Integración 1/2 Capa de Presentación VIEW Capa de Orquestación CONTROLLER Capa de Negocio MODEL Integraciones con arquitectura Chakray
  • 5. Escenario : Chackray Magazine Events 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. Integraciones con arquitectura Chakray
  • 6. Escenario : Chackray Magazine El Proceso: Integraciones con arquitectura Chakray
  • 7. Elementos utilizados en la Integración 2/2 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. Integraciones con arquitectura Chakray
  • 8. Tareas del Proceso 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. Integraciones con arquitectura Chakray
  • 9. Tareas del Proceso 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. Integraciones con arquitectura Chakray
  • 10. Tareas del Proceso 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. Integraciones con arquitectura Chakray
  • 11. Tareas del Proceso 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. Integraciones con arquitectura Chakray
  • 12. Tareas del Proceso 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. Integraciones con arquitectura Chakray
  • 13. Tareas del Proceso 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. Integraciones con arquitectura Chakray
  • 14. Tareas del Proceso 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. Integraciones con arquitectura Chakray
  • 15. Tareas del Proceso 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. Integraciones con arquitectura Chakray
  • 16. Como se hizo: Definiendo el catalogo de servicios. 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. Integraciones con arquitectura Chakray
  • 17. Como se hizo: Creando los servicios 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. Integraciones con arquitectura Chakray
  • 18. Como se hizo: Implementando los servicios. Expusimos los servicios en WSO2 Instalamos WSO2 Application Server y le implementamos los servicios Axis2 creados Integraciones con arquitectura Chakray
  • 19. Como se hizo: La integración con Bonita BPM 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. Integraciones con arquitectura Chakray
  • 20. Como se hizo: Configurando la monitorización. 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. Integraciones con arquitectura Chakray
  • 21. Como se hizo: Configurando la monitorización. 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. Integraciones con arquitectura Chakray
  • 22. Como se hizo: Business Activity Server DashBoard. 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. Integraciones con arquitectura Chakray
  • 23. Como se hizo: Business Activity Server Reports. 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
  • 24. ¿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
  • 25. ¿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
  • 26. Gracias por su atención -----------------Thanks for your attention Doing the right things With the right technology To support business Haciendo las cosas correctas Con las tecnologías adecuadas Para apoyar a las empresas Integraciones con arquitectura Chakray

×