1 / 59

Una infraestructura para cooperación de aplicaciones basada en eventos

Rubby Casallas rcasalla@uniandes.edu.co Grupo Construcción de Software. Una infraestructura para cooperación de aplicaciones basada en eventos. Contexto. Proyecto Colciencias-Uniandes-Heinsohn Software House Objetivo Global del Proyecto:

loman
Download Presentation

Una infraestructura para cooperación de aplicaciones basada en eventos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rubby Casallas rcasalla@uniandes.edu.co Grupo Construcción de Software Una infraestructura para cooperación de aplicaciones basada en eventos

  2. Contexto • Proyecto Colciencias-Uniandes-Heinsohn Software House • Objetivo Global del Proyecto: • Mejorar el proceso de pruebas y corrección de defectos en un ambiente de desarrollo de software globalizado

  3. Equipo de desarrollo (Eleggua) • Catalina Acero • Dario Correal • Oscar Gonzalez • Nicolás López • Milena Vela

  4. Objetivo de la charla • Presentar la definición e implementación de una infraestructura (Eleggua) que permite integrar aplicaciones que cooperan en la realización de procesos transversales de negocio.

  5. Agenda • Los problemas • La propuesta de solución • La validación • El futuro • Conclusiones • Preguntas

  6. Planeación Proyecto Definición Especificaciones Creación Proyecto Construcción Artefactos Instalación Puesta Producción Verificación Validación

  7. Creación Proyecto Definición Especificaciones Verificación Validación Planeación Proyecto Construcción Artefactos

  8. Creación Proyecto Definición Especificaciones Verificación Validación Planeación Proyecto Construcción Artefactos

  9. Planeación Proyecto Creación Proyecto El lado servidor -Crear proyecto - Definir actividades - Asociar Recursos: Tiempo Personas Herramienta Planeación

  10. Definición Especificaciones El lado servidor - Crear proyecto - Definir Especificaciones Herramienta Especificaciones

  11. Construcción Artefactos Verificación Validación El lado servidor -Crear proyecto - Desarrollar diseño Herramienta Diseño -Crear proyecto - Desarrollar Pruebas Herramienta Pruebas

  12. Construcción Artefactos Verificación Validación El lado servidor Herramienta Diseño Herramienta Pruebas

  13. El lado servidor

  14. Planeación Proyecto Planeación Proyecto Definición Especificaciones Definición Especificaciones El lado servidor Creación Proyecto Creación Proyecto Construcción Artefactos Construcción Artefactos Instalación Puesta Producción Instalación Puesta Producción Verificación Validación Verificación Validación

  15. El lado servidor El lado servidor Internet Internet

  16. Los problemas • Aplicaciones: • Apoyan actividades individuales • Pueden ser heterogéneas • Pueden ser legado • Pueden ser distribuidas • Dominios de datos distintos • Duplicación de datos • Duplicación de funcionalidad

  17. Agenda • Los problemas • La propuesta de solución • La validación • El futuro • Conclusiones • Preguntas

  18. La Propuesta de Solución • Visión Alto Nivel • Las reglas de Negocio • Acuerdo sobre los conceptos (los datos del negocio) • Definición de la cooperación

  19. “Un proyecto es un proyecto! Su creación se debe propagar a todas las herramientas.” “Cuando se detecte un defecto, se debe crear una actividad para corregirlo y asignarlo al responsable.” La Propuesta de Solución • Lo primero: Reglas de Negocio

  20. La Propuesta de Solución • Lo segundo: Acuerdo sobre los conceptos Para mi, lo que define un proyecto es...... Listo, estamos de acuerdo, pero yo también necesito saber ... Herramienta de planeación Herramienta de diseño

  21. La Propuesta de Solución • Lo tercero: la cooperación Si me entero de un defecto, le creo una tarea de corrección al responsable Yo les aviso cuando registren un defecto! Herramienta de planeación Herramienta de defectos

  22. La Propuesta de Solución • Visión Global • Conceptos Básicos • Observaciones • Eventos lógicos • Reglas evento-condición-acción

  23. Creación Proyecto

  24. Creación Proyecto

  25. Sistema de notificación de eventos

  26. Sistema de notificación de eventos • Middleware de eventos distribuidos • Funcionalidad básica de tipo publicar/suscribir. • Registro de aplicaciones • Suscripción de aplicaciones • Despacho de eventos y notificación • Persistencia de eventos

  27. Sistema de notificación de eventos Represen-tantes de las aplicaciones

  28. Observar la aplicación

  29. Generar Evento 2 Evento Lógico: Lleva valores de conceptos comunes previamente acordados 1 Observar la aplicación

  30. Sistema de notificación de eventos Ejecutar acciones asociadas al evento 3

  31. Sistema de notificación de eventos Ejecutar acciones asociadas al evento 3 Webservice

  32. Representante de Aplicación =Proxy de Cooperación • Observación de las aplicaciones • Generación de eventos lógicos • Recepción de notificaciones de eventos • Ejecución de acciones • Solicitudes webservices

  33. Sistema de notificación de eventos

  34. Monitor/ administrador Sistema de notificación de eventos

  35. La Implementación • J2EE-JBoss • JMS • Observaciones: AspectJ • Webservices: AXIS • JMX • JavaGroups Sistema de notificación de eventos PCoop Monitor/ administrador

  36. Agenda • Los problemas • La propuesta de solución • La validación • El futuro • Conclusiones • Preguntas

  37. La Validación • Proceso de Negocio: pruebas y corrección de defectos: • 35 reglas de cooperación • 4 Aplicaciones: Requerimientos, Pruebas, Planeación y Seguimiento, Control de Proyectos • Estado actual: • En fase de prueba de usuarios en dos proyectos piloto

  38. Agenda • Los problemas • La propuesta de solución • La validación • El futuro • Conclusiones • Preguntas

  39. El Futuro • Definición de las reglas de negocio a alto nivel y generación sobre la plataforma objetivo • Validación de las reglas de negocio antes de implementación

  40. La Estrategia: Model Driven Architecture • Transformación de Modelos hasta generación de código • Modelos Ejecutables (simulación)

  41. “Un proyecto es un proyecto! Su creación se debe propagar a todas las herramientas.” “Cuando se detecte una no conformidad en el producto, se debe crear una actividad para corregirla y asignarla al responsable” Listo, estamos de acuerdo, pero yo también necesito saber ... Para mi, lo que define un proyecto es...... Herramienta de diseño Herramienta de planeación Yo les aviso cuando registren una no-conformidad Si me entero de una no-conformidad, le creo una tarea al responsable Herramienta de defectos Herramienta de planeación

  42. “Un proyecto es un proyecto! Su creación se debe propagar a todas las herramientas.” “Cuando se detecte una no conformidad en el producto, se debe crear una actividad para corregirla y asignarla al responsable” Listo, estamos de acuerdo, pero yo también necesito saber ... Para mi, lo que define un proyecto es...... Herramienta de diseño Herramienta de planeación Yo les aviso cuando registren una no-conformidad Necesidad de contar con un vocabulario común para expresar los conceptos de cooperación Si me entero de una no-conformidad, le creo una tarea al responsable Alto nivel vs. implementación Herramienta de defectos Herramienta de planeación

  43. Modelo de cooperación proceso de diseño Modelo de cooperación proceso de pruebas Modelo de cooperación proceso de control cambios

  44. Modelo de los modelos de cooperación = Metamodelo Modelo de cooperación proceso de diseño Modelo de cooperación proceso de pruebas Modelo de cooperación proceso de control cambios

  45. Metamodelo define un vocabulario común. La semántica, responsabilidades y restricciones de los elementos necesarios para modelar la cooperación de aplicaciones de manera asincrónica Modelo de cooperación proceso de diseño Modelo de cooperación proceso de pruebas Modelo de cooperación proceso de control cambios

  46. Metamodelo define un vocabulario común. La semántica, responsabilidades y restricciones de los elementos necesarios para modelar la cooperación de aplicaciones de manera asincrónica EAI-Rules Metamodel Modelo de cooperación proceso de diseño Modelo de cooperación proceso de pruebas Modelo de cooperación proceso de control cambios

  47. Conceptos Independientes de la plataforma

  48. Conceptos Independientes de la plataforma Modelo de la plataforma

  49. Transformación

  50. La Estrategia: Model Driven Architecture • Transformación de Modelos • Modelos Ejecutables

More Related