“Orquestación de Servicios utilizando el paradigma de...

28
“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004 “Orquestación de Servicios utilizando el paradigma de Programación Orientada a Aspectos” Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN Tesista: Cova Suazo Nancy Noemi Asesor: Dr. José Oscar Olmedo Aguirre

Transcript of “Orquestación de Servicios utilizando el paradigma de...

Page 1: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

“Orquestación de Servicios utilizando el paradigma de Programación Orientada a

Aspectos”

Sección de ComputaciónDepartamento de Ingeniería Eléctrica

CINVESTAV-IPN

Tesista: Cova Suazo Nancy NoemiAsesor: Dr. José Oscar Olmedo Aguirre

Page 2: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción2. Definición del Problema3. Objetivos del Proyecto4. Metodología5. Calendario de Actividades6. Productos Esperados7. Trabajo Relacionado8. Contribuciones9. Referencias

Page 3: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Introducción (1/6)

La ingeniería del software es una disciplina que está en constante evolución. Algunos poderosos avances en nuestros días son:

1. Desarrollo de tecnologías Web (servicios Web).

2. Servicios Web proveen una plataforma para las transacciones de e-commerce y B2B.

Page 4: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Introducción (2/6)Servicio Web está definido como:

“un componente de software funcional o una aplicación Web, la cual que puede ser identificada por medio de su URI e interactuar dinámicamente con otras aplicaciones Web, a través de interfaces, vínculos y mensajes descritos en XML, estos últimos, transmitidos por protocolos estándares de Internet ” [6].

Page 5: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Introducción (3/6)Al ser componentes, los servicios Web pueden verse como cajas negras. Idea que empata perfectamente con el paradigma de programación denominado programación orientada a aspectos.

Este tiene como objetivo reducir o eliminar en forma controlada la modificación de código desarrollado en un sistema de negocios, por medio de la modularización de aspectos.

Page 6: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Introducción (4/6)

Muchas compañías han empezado a desarrollar servicios Web individuales, sin embargo el valor real de estos se verá reflejado cuando las empresas conecten varios servicios, de tal manera que puedan trabajar conjuntamente, brindando así un alto rendimiento a la organización [2].

Page 7: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Introducción (5/6)

En nuestra propuesta de tesis el aspecto en el cual pretendemos enfocarnos es la “orquestación de servicios”.

Por servicio se entiende: servicios locales, Web, en una LAN.

Proceso que consiste en “organizar, coordinar y administrar las interacciones entre los servicios referentes a la lógica del negocio” [3].

Page 8: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Introducción (6/6)

Page 9: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción

2. Definición del Problema3. Objetivos del Proyecto4. Metodología5. Calendario de Actividades6. Productos Esperados7. Trabajo Relacionado8. Contribuciones9. Referencias

Page 10: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Definición del Problema (1/3)El problema al cual nos enfrentamos puede ser concretado los siguientes cuestionamientos:

1. ¿Cómo coordinar servicios compuestos de una manera práctica y eficaz?

2. ¿Cómo conseguimos esto, evitando la invasividad de código?

Page 11: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Definición del Problema (2/3)Como primer paso necesitamos definir un lenguaje de coordinación para describir el orden correcto de actividades involucradas en un servicio.

Características indispensables del lenguaje son [2]:

1. Flexibilidad 2. Actividades básicas y estructuradas 3. Persistencia y correlación

Page 12: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Definición del Problema (3/3)

Como segundo paso definir una infraestructura capaz de realizar la ejecución del mismo.

Es decir, debe ofrecer todos los mecanismos necesarios tanto en cómputo como en comunicaciones para dar soporte a las construcciones del lenguaje.

Page 13: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción2. Definición del Problema

3. Objetivos del Proyecto4. Metodología5. Calendario de Actividades6. Productos Esperados7. Trabajo Relacionado8. Contribuciones9. Referencias

Page 14: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Objetivos del Proyecto (1/2)

General

Proponer un lenguaje de coordinación sencillo para describir el flujo correcto de actividades de un servicio compuesto, además de diseñar e implementar una infraestructura capaz de realizar la ejecución del mismo.

Page 15: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Objetivos del Proyecto (2/2)Particulares1. Explotar las ventajas ofrecidas por la programación orientada a aspectos, principalmente en cuanto invocación de servicios orquestados.

2. Definir un lenguaje de coordinación eficaz para servicios compuestos, el cual permitará representar el flujo correcto de actividades que los describe.

3. Diseñar e implementar una arquitectura de coordinación, capaz de publicar, descubrir y ejecutar un servicio.

4. Diseñar e implementar un compilador del lenguaje de coordinación.

5. Desarrollar un caso de estudio para realizar pruebas de los objetivos anteriores.

6. Analizar los resultados del caso de estudio.

Page 16: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción2. Definición del Problema3. Objetivos del Proyecto

4. Metodología5. Calendario de Actividades6. Productos Esperados7. Trabajo Relacionado8. Contribuciones9. Referencias

Page 17: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

MetodologíaLos pasos sistemáticos son descritos a continuación:

1. Invocación de servicios empleando mecanismos de orientación a aspectos.

2. Diseño del lenguaje de coordinación.

3. Diseñar e implementar una arquitectura de coordinación.

4. Diseñar e implementar el compilador del lenguaje.

Page 18: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción2. Definición del Problema3. Objetivos del Proyecto4. Metodología

5. Calendario de Actividades6. Productos Esperados7. Trabajo Relacionado8. Contribuciones9. Referencias

Page 19: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Calendario de Actividades

Page 20: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción2. Definición del Problema3. Objetivos del Proyecto4. Metodología5. Calendario de Actividades

6. Productos Esperados7. Trabajo Relacionado8. Contribuciones9. Referencias

Page 21: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Productos Esperados

1. Un lenguaje de coordinación sencillo para describir el flujo correcto de actividades de un servicio compuesto, además de diseñar e implementar una infraestructura capaz de realizar la ejecución del mismo.

2. Realizar una publicación de los resultados obtenidos mediante el desarrollo de este proyecto de tesis.

Page 22: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción2. Definición del Problema3. Objetivos del Proyecto4. Metodología5. Calendario de Actividades6. Productos Esperados

7. Trabajo Relacionado8. Contribuciones9. Referencias

Page 23: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Trabajo Relacionado1. BPEL4WS

Business Process Execution Language for Web Service [8,9,10].

2. BPELJ BPEL for Java [11].

2. AO4BPEL Aspect-Oriented for BPEL [12].

3. BPIM-WS Business Processes Integration and Monitoring System based on Web Services [13,14].

4. Propuesta de tesis maestría: “Invocación dinámica de Servicios Web orientada a Aspectos” [15].

Page 24: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción2. Definición del Problema3. Objetivos del Proyecto4. Metodología5. Calendario de Actividades6. Productos Esperados7. Trabajo Relacionado

8. Contribuciones9. Referencias

Page 25: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Contribuciones

1. Lenguaje con un mayor dinamismo.

2. No es una extensión de un lenguaje complejo.

3. Manejo servicios (no sólo servicios Web).

Page 26: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Agenda1. Introducción2. Definición del Problema3. Objetivos del Proyecto4. Metodología5. Calendario de Actividades6. Productos Esperados7. Trabajo Relacionado8. Contribuciones

9. Referencias

Page 27: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Referencias (1/2)[1] Curbera Francisco, Nagy William A. y Weerawarana Sanjiva. “Web Services: Why and How”. IBM T.J. Watson Research Center. Agosto 2001.

[2] Peltz Chris. “Web services orchestration and choreohraphy”. Web Services Journal, http://www.sys-con.com/webservices. 2004.

[3] Peltz Chris. “Web Services Orchestration”. Hewlett Packard, Coorporation. Enero 2003.

[4] Reina Quintero Antonia María. “Visión General de la Programación Orientada a Aspectos”. Departamento de Lenguajes y Sistemas Inform ́aticos Facultad de Informática y Estadística Universidad de Sevilla. Diciembre, 2000.

[5] Kiczales G., Lamping J., Mendhekar A., Maeda C., Lopes C., Loingtier J. and Irwin J. “Aspect-Oriented Programming”. Xerox Palo Alto. 1997.

[6] “Web Services Architecture”. World Wide Web Consortium (W3C), http://www.w3.org/TR/ws-arch. Febrero 2004.

[7] Chafle Girish, Chandra Sunil, Mann Vijay y Gowri Nanda Mangala. “Decentralized Orchestration of Composite Web Services”. Laboratory New Delhi, India. 2004.

[8] “Business Process Execution Language for Web Services”. BPEL4WS 1.1 Design by Microsoft Corporation, 2001. Specification by IBM, Mayo 2003.

Page 28: “Orquestación de Servicios utilizando el paradigma de ...delta.cs.cinvestav.mx/~francisco/semtesis/proyectos/nancy/presTesi… · Introducción (3/6) Al ser componentes, los servicios

“Orquestación de Servicios utilizando el paradigma de POA” Cova Suazo Nancy Noemi 28/10/2004

Referencias (2/2)[9] “Web Services Coordination”. WS-C 1.0 Design by Microsoft Corporation, 2001. Specification by IBM, Agosto 2002.

[10] “Web Services Transaction”. WS-T 1.0 Specification. IBM Agosto 2002.

[11] Blow Michael, et. al. “BPELJ: BPEL for Java”. BEA Systems and IBM. Marzo 2004.

[12] Charfi Anis, Mezini Mira. “Aspect-Oriented Web Service Composition with AO4BPEL”. Software Technology Group, Darmstadt University of Technology. 2004.

[13] A. Hernández Giner, S. Hernández César, D. Castelán Lucio, E. Ramírez Paola, O. Aguirre Oscar. “BPIMS-WS: Business Processes Integration and Monitoring for B2B E-Commerce”. XI International Congress Computer Science Research (CIICC 2004). Proceedings CIICC 2004. ISBN: 968-5823-10-3. pp. 77-84.

[14] A. Hernández Giner, S. Hernández César, O. Aguirre Oscar. “BPIMS-WS: Brokering Architecture for Business Processes Integration for B2B E-Commerce”. IEEE International Conference on Electronics, Communications, and Computers. (IEEE CONIELECOMP 2005). Proceedings IEEE-CONIELECOMP 2005. IEEE Press.

[15] Pérez Reséndiz Marisol. Propuesta de tesis de maestría: “Invocación dinámica de Servicios Web orientada a Aspectos”. CINVESTAV-IPN. Progreso.