Вы находитесь на странице: 1из 59

Una infraestructura para cooperacin de aplicaciones basada en eventos

Rubby Casallas
rcasalla@uniandes.edu.co Grupo Construccin de Software

Septiembre 27 a Octubre 01 de 2005 Bogot, Colombia

Contexto
+Proyecto Colciencias-Uniandes-Heinsohn

Software House +Objetivo Global del Proyecto:


Mejorar el proceso de pruebas y correccin

de defectos en un ambiente de desarrollo de software globalizado

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Equipo de desarrollo (Eleggua)


+
+ + + +

Catalina Acero Dario Correal Oscar Gonzalez Nicols Lpez Milena Vela

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Objetivo de la charla
+Presentar la definicin e implementacin

de una infraestructura (Eleggua) que permite integrar aplicaciones que cooperan en la realizacin de procesos transversales de negocio.

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda
+Los problemas
+La propuesta de solucin +La validacin +El futuro +Conclusiones

+Preguntas

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Planeacin Proyecto

Definicin Especificaciones

Creacin Proyecto

Construccin Artefactos Instalacin Puesta Produccin Verificacin Validacin


6

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Creacin Proyecto Planeacin Proyecto

Definicin Especificaciones

Construccin Artefactos

Verificacin Validacin

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Creacin Proyecto Planeacin Proyecto

Definicin Especificaciones

Construccin Artefactos

Verificacin Validacin

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Planeacin Proyecto

El lado servidor
Creacin Proyecto

-Crear proyecto - Definir actividades - Asociar Recursos: Tiempo Personas

Herramienta Planeacin
9

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El lado servidor - Crear proyecto - Definir Especificaciones Definicin Especificaciones

Herramienta Especificaciones

10

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El lado servidor
-Crear proyecto - Desarrollar diseo Herramienta Diseo

-Crear proyecto - Desarrollar Pruebas

Construccin Artefactos

Herramienta Pruebas

Verificacin Validacin
11

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El lado servidor

Herramienta Diseo

Construccin Artefactos

Herramienta Pruebas

Verificacin Validacin
12

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El lado servidor

13

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Planeacin Proyecto

Definicin Especificaciones Planeacin Proyecto

Creacin Proyecto

Definicin Especificaciones

Construccin Artefactos Instalacin Puesta Produccin

Creacin Proyecto

Verificacin Validacin

Construccin Artefactos Instalacin Puesta Produccin

Verificacin Validacin

El lado servidor

14

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El lado servidor

El lado servidor

Internet

Internet

15

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Los problemas
+Aplicaciones: Apoyan actividades individuales Pueden ser heterogneas Pueden ser legado Pueden ser distribuidas
+Dominios de datos distintos

+Duplicacin de datos
+Duplicacin de funcionalidad
16

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda

Los problemas La propuesta de solucin


+La validacin +El futuro +Conclusiones

+Preguntas

17

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Propuesta de Solucin
+Visin Alto Nivel Las reglas de Negocio Acuerdo sobre los conceptos (los datos del negocio) Definicin de la cooperacin

18

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Propuesta de Solucin
+Lo primero: Reglas de Negocio
Un proyecto es un proyecto! Su creacin se debe propagar a todas las herramientas. Cuando se detecte un defecto, se debe crear una actividad para corregirlo y asignarlo al responsable.
19

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Propuesta de Solucin
+Lo segundo: Acuerdo sobre los conceptos
Para mi, lo que define un proyecto es...... Listo, estamos de acuerdo, pero yo tambin necesito saber ...

Herramienta de planeacin
20

Herramienta de diseo

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Propuesta de Solucin
+Lo tercero: la cooperacin
Yo les aviso cuando registren un defecto!

Si me entero de un defecto, le creo una tarea de correccin al responsable

Herramienta de defectos
21

Herramienta de planeacin

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Propuesta de Solucin
+Visin Global
+Conceptos Bsicos Observaciones Eventos lgicos Reglas evento-condicin-accin

22

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Creacin Proyecto

23

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Creacin Proyecto

24

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Sistema de notificacin de eventos

25

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Sistema de notificacin de eventos


+Middleware de eventos distribuidos
+Funcionalidad bsica de tipo

publicar/suscribir. +Registro de aplicaciones +Suscripcin de aplicaciones +Despacho de eventos y notificacin +Persistencia de eventos
26

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Sistema de notificacin de eventos


Representantes de las aplicaciones

27

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Observar la aplicacin

28

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Generar 2 Evento 1

Observar la aplicacin

Evento Lgico: Lleva valores de conceptos comunes previamente acordados

29

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Sistema de notificacin de eventos

Ejecutar 3 acciones asociadas al evento

30

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Sistema de notificacin de eventos

Ejecutar 3 acciones asociadas al evento

Webservice

31

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Representante de Aplicacin = Proxy de Cooperacin


+Observacin de las aplicaciones
+Generacin de eventos lgicos +Recepcin de notificaciones de

eventos +Ejecucin de acciones


Solicitudes webservices

32

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Sistema de notificacin de eventos

33

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Monitor/ administrador

Sistema de notificacin de eventos

34

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Implementacin
+J2EE-JBoss
+JMS
Sistema de notificacin de eventos PCoop

+Observaciones: AspectJ +Webservices: AXIS +JMX

+JavaGroups

Monitor/ administrador

35

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda

Los problemas La propuesta de solucin La validacin


+El futuro +Conclusiones

+Preguntas

36

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Validacin
+Proceso de Negocio: pruebas y

correccin de defectos:
35 reglas de cooperacin 4 Aplicaciones: Requerimientos,

Pruebas, Planeacin y Seguimiento, Control de Proyectos

+Estado actual: En fase de prueba de usuarios en dos proyectos piloto


37

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Agenda

Los problemas La propuesta de solucin La validacin


+El futuro +Conclusiones

+Preguntas

38

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

El Futuro
1. Definicin de las reglas de negocio a

alto nivel y generacin sobre la plataforma objetivo 2. Validacin de las reglas de negocio antes de implementacin

39

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Estrategia: Model Driven Architecture


1. Transformacin de Modelos hasta

generacin de cdigo 2. Modelos Ejecutables (simulacin)

40

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Un proyecto es un proyecto! Su creacin se debe propagar a todas las herramientas.

Para mi, lo que define un proyecto es......

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 tambin necesito saber ...

Herramienta de planeacin

Herramienta de diseo

Yo les aviso cuando registren una noconformidad

Si me entero de una no-conformidad, le creo una tarea al responsable

Herramienta de defectos

Herramienta de planeacin

41

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Un proyecto es un proyecto! Su creacin se debe propagar a todas las herramientas.

Para mi, lo que define un proyecto es......

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 tambin necesito saber ...

Herramienta de planeacin

Herramienta de diseo

Yo les aviso cuando registren una noconformidad

Si me entero de una no-conformidad, le creo una tarea al responsable

Necesidad de contar con un vocabulario comn para expresar los conceptos de cooperacin

Alto nivel vs. implementacin


Herramienta de defectos

Herramienta de planeacin

42

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Modelo de cooperacin proceso de diseo

Modelo de cooperacin proceso de pruebas

Modelo de cooperacin proceso de control cambios

43

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Modelo de los modelos de cooperacin = Metamodelo

Modelo de cooperacin proceso de diseo

Modelo de cooperacin proceso de pruebas

Modelo de cooperacin proceso de control cambios

44

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Metamodelo define un vocabulario comn. La semntica, responsabilidades y restricciones de los elementos necesarios para modelar la cooperacin de aplicaciones de manera asincrnica

Modelo de cooperacin proceso de diseo

Modelo de cooperacin proceso de pruebas

Modelo de cooperacin proceso de control cambios

45

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Metamodelo define un vocabulario comn. La semntica, responsabilidades y restricciones de los elementos necesarios para modelar la cooperacin de aplicaciones de manera asincrnica
EAI-Rules Metamodel
Modelo de cooperacin proceso de diseo Modelo de cooperacin proceso de pruebas Modelo de cooperacin proceso de control cambios

46

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Conceptos Independientes de la plataforma


47

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Conceptos Independientes de la plataforma


48

Modelo de la plataforma

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Transformacin

49

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

La Estrategia: Model Driven Architecture


1. Transformacin de Modelos
2. Modelos Ejecutables

50

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Transformacin

Modelo Independiente de la plataforma

Modelo Ejecutable

51

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Transformacin

Modelo Ejecutable
Ejecucin sobre una mquina de modelos UML ejecutables. Por ejemplo, iUML Kennedy Carter Ventaja: validacin de requerimientos y de interaccin entre las distintas reglas de negocio antes de escribir una sola lnea de cdigo
52

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Conclusiones
+Eleggua es una infraestructura para dar

soporte a:
cooperacin e integracin de

aplicaciones mantener la consistencia de la informacin

53

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Conclusiones
+

Objetivo: ofrecer una integracin nointrusiva y de bajo acoplamiento de aplicaciones en un contexto distribuido

54

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Conclusiones
+Elementos principales: infraestructura basada en eventos asincrnicos la comunicacin usa Web Services como mecanismo de solicitud/respuesta Reglas de cooperacin entre las aplicaciones definidas como E-C-A

55

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Publicaciones
+ Eleggua: An Event Infrastructure for Application

Cooperation. Rubby Casallas, Nicols Lpez, Daro Correal. Conference on Component-Oriented Enterprise Applications (COEA). Erfurt, Alemania. 2005 + Mejoramiento del proceso de pruebas en un contexto de desarrollo de software globalizado. Rubby Casallas, Daro Correal, Nicols Lpez. Conferencia latinoamericana de Informtica. Cali, Colombia. 2005

56

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Publicaciones
+ From high level business rules to an implementation

on an event-based platform to integrate applications. R.Casallas, C. Acero, N. Lpez. IEEE Enterprise Distributed Object Computing Conference, Workshop on Vocabularies, Ontologies and Rules for The Enterprise (VORTE). Enschede, Holanda. 2005 + xEAI-Rules: executable models to simulate enterprise application integration. R.Casallas, M. Vela,C. Acero, N. Lpez. Enviado a ACM special Track on Model Transformation. 2005
57

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Ms informacin en:

http://agamenon.uniandes.edu.co/~csw

58

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Preguntas

59

XXV Saln de Informtica Arquitecturas Empresariales de Software Septiembre 28 -Octubre 01 de 2005

Вам также может понравиться