88
cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Evaluación de Medidas de Similitud Aplicadas a la Selección de Servicios Web presentada por Guadalupe Ariana Sánchez González Ing. en Sistemas Computacionales por el I. T. de Cuautla como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: M. en C. Olivia Graciela Fragoso Díaz Co-Director de tesis: Dr. René Santaolaya Salgado Jurado: Dr. Joaquín Pérez OrtegaPresidente M. en C. Olivia Graciela Fragoso DíazSecretario M. en C. Humberto Hernández GarcíaVocal Dr. Guillermo Rodríguez OrtizVocal Suplente Cuernavaca, Morelos, México. 31 de Enero de 2011

Evaluacion de medidas de similitud aplicadas a la ... Guadalupe... · Figura 3.5 Diagrama de clases correspondiente ... entre estos criterios encontramos la calidad ... En este capítulo

Embed Size (px)

Citation preview

cenidet

Centro Nacional de Investigación y Desarrollo Tecnológico

Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIAS

Evaluación de Medidas de Similitud Aplicadas a la Selección de Servicios Web

presentada por

Guadalupe Ariana Sánchez González Ing. en Sistemas Computacionales por el I. T. de Cuautla

como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación

Director de tesis: M. en C. Olivia Graciela Fragoso Díaz

Co-Director de tesis: Dr. René Santaolaya Salgado

Jurado: Dr. Joaquín Pérez Ortega– Presidente

M. en C. Olivia Graciela Fragoso Díaz– Secretario

M. en C. Humberto Hernández García– Vocal Dr. Guillermo Rodríguez Ortiz– Vocal Suplente

Cuernavaca, Morelos, México. 31 de Enero de 2011

i

Dedicatoria

A Dios por ser mí torre fuerte, mi fortaleza y mi confianza en todo instante. A Él sea todo honor

y gloria.

A mi padre:

José Luis Sánchez por ser mi mejor amigo, mi respaldo, por impulsarme a ser mejor y apoyarme

en cada decisión.

A mi madre:

Guillermina Gonzáles por ser mi mejor amiga, por la sabiduría con que me ha guiado, por la

confianza y apoyo en cada momento de mi vida.

A mi hermana:

Sandra Adriana por su compresión, ayuda y por estar siempre a mi lado.

A mi amado:

José Luis Rodríguez por su apoyo, ayuda y ánimo en los momentos difíciles.

A mi familia

Por impulsarme, por ser mi soporte y cuidarme siempre, los amo mil ;)!

ii

Agradecimientos

Más gracias sean dadas a Dios, que nos da la victoria por medio de nuestro Señor Jesucristo.

1 Co. 15:57

A mis padres, mi hermana y mi novio por apoyarme siempre y en todo, por preocuparse por mí,

por sus oraciones, por toda la energía invertida en mí persona. Sin su respaldo, compresión y

ánimo no lo hubiera logrado.

Al Centro Nacional de Investigación y Desarrollo Tecnológico por haberme permitido

pertenecer a su comunidad estudiantil y realizar así mis estudios de maestría.

Al Consejo Nacional de Ciencia y Tecnología (CONACYT) por la beca otorgada, que hizo

posible la realización de este trabajo de investigación.

A la Dirección General de Educación Superior Tecnológica (DGEST) por la beca otorgada, que

hizo posible la realización de este trabajo de investigación.

A mis directores de tesis: la M. en C. Olivia Graciela Fragoso Díaz y el Dr. René Santaolaya

Salgado por la asesoría brindada, por la paciencia que me tuvieron, por el buen trato y sobre todo

por brindarme su amistad.

A mis revisores de tesis: M. en C. Humberto Hernández García, Dr. Joaquín Pérez Ortega, Dr.

Guillermo Rodríguez por el tiempo que dedicaron a este proyecto, por sus recomendaciones y

valiosas aportaciones.

A mi gran familia en Cristo, gracias por sus ánimos y oraciones.

A mis compañeros de generación de IS: Alberto, Adán, Elías, Alejandro, Alba y Fernando por la

grata convivencia.

A mis compañeros de generación de SD e IA: Norma Elizabeth, Iván, Lizeth, Jenifer, Juan

Antonio, Marino, Cesar, Adair, Hugo, Henry, Sergio, María Josee, Miguel y Carlos.

A mis compañeros de nueva generación de IS por sus observaciones: Lizbeth, Blanca y Ricardo.

A todos aquellos, amigos y familiares que no podría mencionar en este pequeño espacio, a todas

las personas que hicieron posible este proyecto, les deseo bendiciones.

iii

Resumen

Actualmente, múltiples investigaciones desarrolladas en el ámbito de los servicios Web están

enfocadas al proceso de selección. Este proceso resulta muy importante al momento de

componer o simplemente hacer uso de un servicio. El criterio más relevante para elegir un

servicio es la funcionalidad, sin embargo, la calidad del servicio se ha convertido en un criterio

ampliamente cuestionado para satisfacer las necesidades de un usuario.

La calidad de un servicio o producto refleja su habilidad para satisfacer las necesidades del

usuario a través de sus características. Entonces, ¿cómo elegir el servicio que satisfaga las

necesidades, en términos de calidad, de un usuario? Para dar respuesta a esta interrogante, en esta

investigación se efectuó un análisis del comportamiento de siete medidas de similitud de los

enfoques: espacio vectorial, correspondencia de características y heurísticos.

La similitud es un factor importante que sirve como principio de organización y clasificación, es

por ello que en este trabajo se evaluó el comportamiento de las medidas de similitud, con el

propósito de identificar cuáles son las que reflejan mejor la similitud entre las características de

un servicio y la solicitud de un usuario expresada en atributos de calidad de servicio.

iv

Abstract

Currently, many research works developed in the area of Web services are focused on the

selection process. This process is very important when composing or simply using a service. The

most important criterion in selecting a web service is its functionality, however, service quality

has become a standard widely challenged to meet the needs of a user.

The quality of a service or product reflects its ability to meet the customer needs through its

features. Then, ¿how to select the service that meets the user needs in terms of quality?. In order

to answer this question, this research deals with the analysis of the behavior of seven measures of

similarity of different approaches: the vector space, matching features and heuristic approach.

Similarity is an important factor that serves as an organizing and classification principle, that is

why this document is about the evaluation of similarity measures, with the purpose of identifying

which is the one that produces the best similarity measure between the characteristics of a web

service and a user requirement expressed in quality of service factors.

v

Tabla de contenido

Página

Dedicatoria ....................................................................................................................................... i

Agradecimientos ............................................................................................................................. ii

Resumen ......................................................................................................................................... iii

Abstract .......................................................................................................................................... iv

Tabla de contenido .......................................................................................................................... v

Listado de figuras .......................................................................................................................... vii

Listado de tablas .......................................................................................................................... viii

Glosario .......................................................................................................................................... ix

Introducción .................................................................................................................................... 1

1 Antecedentes ........................................................................................................................ 2

1.1 Antecedentes ................................................................................................................. 3

1.2 Contexto del trabajo de investigación .......................................................................... 4

1.3 Planteamiento del problema ......................................................................................... 5

1.4 Objetivo ........................................................................................................................ 6

1.5 Trabajos relacionados ................................................................................................... 6

1.6 Producto resultado y beneficios .................................................................................. 15

1.7 Alcances y limitaciones .............................................................................................. 15

2 Marco Teórico .................................................................................................................... 17

2.1 Arquitectura orientada a servicios .............................................................................. 18

2.2 Servicios Web ............................................................................................................. 18

2.3 Lenguaje de descripción de servicios Web (WSDL).................................................. 19

2.4 Calidad de software .................................................................................................... 22

2.5 Medidas de similitud .................................................................................................. 23

vi

3 Descripción de la Solución ................................................................................................ 33

3.1 Propuesta de solución ................................................................................................. 34

3.2 Diseño e implementación de los módulos del sistema que conforman la propuesta de

solución ....................................................................................................................... 35

4 Plan Experimental .............................................................................................................. 44

4.1 Hipótesis a probar ....................................................................................................... 45

4.2 Alcances...................................................................................................................... 45

4.3 Resultados de la ejecución del plan experimental ...................................................... 45

4.4 Análisis de resultados ................................................................................................. 59

5 Conclusiones y Trabajos Futuros ....................................................................................... 61

5.1 Conclusiones ............................................................................................................... 62

5.2 Trabajos futuros .......................................................................................................... 63

Anexo A Escenarios de los casos de uso ...................................................................................... 65

Anexo B Plan de pruebas SSWQOS ............................................................................................. 67

Anexo C Solicitudes de requerimientos QoS ................................................................................ 71

Anexo D Servicios Web del dominio de Estadística Descriptiva ................................................. 73

Referencias .................................................................................................................................... 75

vii

Listado de figuras

Página

Figura 1.1 Relación del presente trabajo de investigación con respecto a los antecedentes. ......... 5

Figura 2.1 Elementos de un WSDL. ............................................................................................. 20

Figura 2.2Atributos de calidad en el WSDL. ................................................................................ 21

Figura 2.3 Ángulo entre dos vectores. .......................................................................................... 24

Figura 2.4 Distancia entre dos vectores. ....................................................................................... 26

Figura 2.5 Diagrama de actividad del recocido simulado. ............................................................ 28

Figura 3.1 Diagrama de despliegue de la herramienta de evaluación de similitud. ...................... 34

Figura 3.2 Diagrama de Casos de Uso (DCU) general para la herramienta de evaluación de

medidas de similitud. ................................................................................................... 35

Figura 3.3 Diagrama de secuencia de la interacción entre los elementos de la arquitectura. ....... 36

Figura 3.4 Arquitectura de Paquetes del cliente y servicios Web. ................................................ 38

Figura 3.5 Diagrama de clases correspondiente al enfoque de espacio vectorial. ........................ 39

Figura 3.6Diagrama de clases correspondiente al enfoque de correspondencia de características.

..................................................................................................................................... 40

Figura 3.7 Diagrama de clases correspondiente al enfoque heurístico. ........................................ 41

Figura 3.8 Funciones de Normalización. ...................................................................................... 42

Figura 3.9 Interfaz de aplicación clienteWS. ................................................................................ 43

Figura 4.1 Gráfica de los servicios mejor evaluados por las medidas respecto a la SolicitudQoS3.

..................................................................................................................................... 50

Figura 4.2 Gráfica de los servicios mejor evaluados por las medidas respecto a la SolicitudQoS3

en el dominio de Estadística Descriptiva. ................................................................... 51

Figura 4.3 Gráfica de los servicios mejor evaluados por las medidas respecto a la SolicitudQo9.

..................................................................................................................................... 53

Figura 4.4 Gráfica de los servicios mejor evaluados por las medidas respecto a la

SolicitudQoS13 ........................................................................................................... 54

Figura 4.5 Gráfica de los servicios mejor evaluados por las medidas respecto a la

SolicitudQoS15. .......................................................................................................... 55

Figura 4.6 Gráfica de los atributos de los mejores servicios y la SolicitudQoS20. ...................... 57

Figura 4.7 Gráfica de los atributos de los mejores servicios y la SolicitudQoS20. ...................... 58

viii

Listado de tablas

Página

Tabla 1.1Trabajos relacionados .................................................................................................... 12

Tabla 2.1 Atributos de calidad utilizados en esta investigación. .................................................. 21

Tabla 2.2 Descripción de los parámetros del recocido simulado aplicados a esta investigación. 27

Tabla 2.3 Solicitudes definidas para el dominio de Predicción Climatológica. ........................... 32

Tabla 2.4 Solicitudes definidas para el dominio de Estadística Descriptiva. ............................... 32

Tabla 3.1 Clases correspondientes al enfoque de espacio vectorial. ............................................ 39

Tabla 3.2 Clases correspondientes al enfoque de correspondencia de características. ................. 40

Tabla 3.3 Clases correspondientes al enfoque heurístico. ............................................................ 41

Tabla 3.4 Clases correspondientes a las funciones de normalización. ......................................... 42

Tabla 4.1 Solicitudes QoS por bloque de valores del dominio de Predicción Climatológica. ..... 46

Tabla 4.2 Solicitudes QoS por bloque de valores del dominio de Estadística Descriptiva. ......... 46

Tabla 4.3 Valor de la similitud de cada servicio con respecto a la SolicitudQoS3. ..................... 48

Tabla 4.4 Posiciones descendentes de los servicios Web más similares a la SolicitudQoS3. ...... 49

Tabla 4.5 Los diez mejores servicios Web por medida de similitud con respecto a la

solicitudQoS3 ................................................................................................................ 51

Tabla 4.6 Los diez mejores servicios Web por medida de similitud con respecto a la

solicitudQoS9. ............................................................................................................... 52

Tabla 4.7 Los diez mejores servicios Web por medida de similitud con respecto a la

solicitudQoS13. ............................................................................................................. 54

Tabla 4.8 Los diez mejores servicios Web por medida de similitud con respecto a la

solicitudQoS15. ............................................................................................................. 55

Tabla 4.9 Los diez mejores servicios Web por medida de similitud con respecto a la

solicitudQoS20. ............................................................................................................. 56

Tabla 4.10 Los diez mejores servicios Web por medida de similitud con respecto a la

solicitudQoS22. ............................................................................................................. 58

Tabla 4.11 Promedio de coincidencias por bloque de valores ...................................................... 59

ix

Glosario

WS Web service, Servicio Web.

QoS Quality of Services, Calidad de servicio.

CBR Case Base Reasoning, Razonamiento Basado en Casos.

UDDI Universal Description, Discovery and Integration.

WSDL Web Services Description Language.

OWL Web Ontology Language.

SAW Simple Additive Weighting.

APIs Application Programming Interface.

SOAP Simple Object Access Protocol.

XML eXtensible Markup Language.

CU Caso de uso.

Introducción

1

Introducción

El proceso de selección de servicios se ha convertido en un tema ampliamente investigado. Los

factores más importantes en este proceso son los criterios utilizados para llevar a la cabo la

elección de ciertos servicios, entre estos criterios encontramos la calidad del servicio o QoS (de

las siglas en ingles Quality of Service). La calidad del servicio se encuentra determinada por un

conjunto de atributos de calidad, tales como el promedio máximo de respuesta y latencia, entre

otros.

En el trabajo de investigación se analiza el problema de la selección de servicios web con el

criterio de calidad de servicio y se propone la evaluación del comportamiento de siete medidas

de similitud aplicadas en el contexto de servicios Web. Estas medidas de similitud son:

coeficiente de Coseno, Dice, Traslape, Jaccard, Distancia Euclidiana, función de Tversky y el

algoritmo de Recocido Simulado. Cabe mencionar que si bien el algoritmo de Recocido

Simulado no es una medida en sí, la función objetivo que implementa es la Distancia Euclidiana,

y para efectos de esta investigación se tomará en cuenta como una medida de similitud.

Organización del documento

Capítulo 1 Antecedentes. En este capítulo se describen los trabajos encontrados en la literatura

actual, se presenta el problema que atiende este trabajo y el objetivo que se busca cumplir.

Además se describen los alcances y limitaciones del trabajo de investigación.

Capítulo 2 Marco teórico. En este capítulo se presenta información relevante sobre los servicios

Web, tales como: publicación, descubrimiento y el proceso de selección en base a la calidad del

servicio, éste último a través de la aplicación de medidas de similitud como elemento

fundamental en la selección.

Capítulo 3 Descripción de la solución. En este capítulo se describe la solución propuesta al

problema planteado en este trabajo de investigación. Se presenta el diseño y la implementación

de los módulos del sistema desarrollados para apoyar la realización de la evaluación de las

medidas de similitud.

Capítulo 4 Plan experimental. En este capítulo se describen y analizan los resultados obtenidos

de la ejecución de los casos de prueba definidos para evaluar el comportamiento de las medias de

similitud en el proceso de selección de servicios Web, empleando como criterio los atributos de

calidad.

Capítulo 5 Conclusiones y trabajos futuros. En este capítulo se describen las conclusiones

obtenidas de la evaluación del comportamiento de las medidas de similitud, además, se presentan

los trabajos futuros resultantes de esta investigación.

CA

PÍT

UL

O 1

1 Antecedentes

En este capítulo se definen y describen las bases para el desarrollo y

la sustentación del trabajo de investigación presentado en la tesis. El

capítulo se encuentra organizado en los siguientes subtemas:

1.1 Antecedentes.

1.2 Contexto de la tesis.

1.3 Planteamiento del problema.

1.4 Objetivo.

1.5 Trabajos relacionados.

1.6 Producto resultado y beneficios.

1.7 Alcances y limitaciones.

Capítulo 1: Antecedentes

3

1.1 Antecedentes

En los últimos años ha habido un gran auge sobre el uso de arquitecturas orientadas a

servicios en el desarrollo de software, lo que ha generado una amplia gama de ofertas de

servicios disponibles en Internet.

El surgimiento de los servicios Web ha propiciado el desarrollo de otras tecnologías que

permitan publicar y describir servicios independientes tanto del hardware como del

software y localizarlos en línea [MOR06]. El enfoque basado en servicios propone una

solución al desarrollo de aplicaciones empresariales mediante la integración, clasificación y

selección de servicios Web. Esta solución tiene como factor importante para el éxito: la

selección de los mejores servicios Web de entre un grupo de proveedores [HOI08].

Esta tesis forma parte de un conjunto de trabajos de investigación desarrollados, por el

grupo de Ingeniería de Software del Centro Nacional de Investigación y Desarrollo

Tecnológico (CENIDET), en el ámbito de los servicios Web, estos trabajos se describen en

esta sección.

1.1.1 Extensión al modelo UDDI para la localización y selección de

servicios Web utilizando razonamiento basado en casos [FRA08]

En este trabajo, la autora propone un esquema de localización y selección de servicios Web

utilizando razonamiento basado en casos (CBR por sus siglas en inglés), para extender el

modelo Universal de Descubrimiento, Descripción e Integración (UDDI por sus siglas en

inglés). El problema que atiende es que dado un conjunto de requerimientos de un cliente y

un conjunto de servicios Web disponibles se debe encontrar el conjunto de servicios que

satisfacen los requerimientos del cliente. Este conjunto debe ser menor que el que se pueda

obtener con otras herramientas como el motor de búsqueda del directorio UDDI. También

se plantea medir el esquema propuesto utilizando índices de precisión y recuperación, con

el objeto de mejorar estos índices en la selección de aquellos servicios que mejor se ajusten

a los requerimientos de los usuarios. Este trabajo de investigación actualmente se encuentra

en desarrollo.

1.1.2 Banco de pruebas orientado a la calidad o QoS para apoyar la

selección y composición de servicios Web [CAB08]

Este trabajo de investigación propone un banco de pruebas para los modelos de selección

de servicios Web. Este banco de pruebas está formado por un conjunto de WSDLs (Web

Services Description Language) de servicios Web, estos servicios cuentan con un conjunto

Capítulo 1: Antecedentes

4

de ocho atributos de calidad y su valor en su descripción, además se implementó el modelo

de selección desarrollado en [LTH05] y se integró a la aplicación WeSSQoS1 .

1.1.3 Sistema de búsqueda y selección de servicios Web [MOR06]

Esta tesis analiza el problema de la búsqueda y selección de servicios Web en una UDDI

atendiendo a la necesidad de contar con los servicios más relevantes que cumplan la

funcionalidad requerida por el usuario. La solución propuesta es un modelo que extiende

las capacidades de búsqueda de la UDDI incluyendo el criterio de localización por

descripción de funcionalidad. El modelo planteado permite a los proveedores describir a los

servicios Web de la misma forma que la UDDI pero adicionando una descripción de su

funcionalidad, y a los consumidores realizar búsquedas en base a este nuevo criterio con el

objetivo de proporcionar al consumidor la descripción de aquellos servicios que proveen la

funcionalidad que más se aproxima a la requerida.

1.2 Contexto del trabajo de investigación

En la Figura 1.1 se muestra el lugar en que se encuentra ubicada esta investigación dentro

del conjunto de trabajos que el grupo de Ingeniería de Software del Centro Nacional de

Investigación y Desarrollo Tecnológico (CENIDET) ha desarrollado en el ámbito de

servicios Web.

La Figura 1.1 muestra 4 partes las cuales representan el contexto de este trabajo de tesis. La

parte representada por el inciso A) propone un esquema que permita extender la

funcionalidad del descubrimiento de servicios Web mediante una selección utilizando

CBR, para ello, el trabajo de investigación representado por el inciso B) proporciona las

bases necesarias para aplicar al esquema una selección de servicios por funcionalidad,

mientras que la parte representada por el inciso C) proporciona la información necesaria

para establecer atributos de calidad en la descripción de cada servicio Web. El presente

trabajo de investigación representado por el inciso D) aporta una evaluación del

comportamiento de algunas medidas de similitud en la selección de servicios Web, con el

objeto de identificar cuál o cuáles medidas de similitud pueden apoyar mejor al proceso de

selección de servicios Web.

1 http://appserv.lsi.upc.es/wessqos/FindServQoS.htm.

Capítulo 1: Antecedentes

5

Figura 1.1 Relación del presente trabajo de investigación con respecto a los antecedentes.

1.3 Planteamiento del problema

1.3.1 Descripción del problema

Existe una gran variedad de servicios Web disponibles en Internet, entre los cuales

podemos encontrar algunos que implementan funcionalidades similares. Esto ha propiciado

la búsqueda de diferentes criterios que apoyen al proceso de selección de servicios Web,

algunos de estos criterios ampliamente investigados son los no funcionales también

conocidos como calidad del servicio o QoS.

De acuerdo con la norma A3 1987 ANSI / ASQC, calidad es la totalidad de aspectos y

características de un producto o servicio que permiten satisfacer necesidades implícita o

explícitamente formuladas. La selección de servicios con base en estos aspectos se puede

definir como la comparación entre servicios existentes y los requerimientos de un usuario.

Desde un enfoque de calidad, la selección de servicios Web mediante QoS proporciona

B)

C)

D)

A)

Capítulo 1: Antecedentes

6

además del apoyo en la selección, un mayor grado de confianza en la elección de uno de

ellos. Teniendo la calidad de un servicio Web como el elemento primordial para realizar la

selección del mejor servicio, el problema tratado en esta tesis se define como sigue:

Dado un conjunto de servicios y sus atributos de calidad QoS y dado un requerimiento de

un usuario expresado en términos de atributos de calidad, seleccionar el servicio que mejor

satisfaga el requerimiento de manera cuantitativa.

Para atender al problema planteado es necesario efectuar una evaluación de algunas de las

medidas de similitud disponibles y aplicables al proceso de selección, y de esta manera

identificar cuál o cuáles de ellas son las que mejor apoyan al proceso de selección de

servicios Web.

1.3.2 Descripción de la complejidad del problema

La complejidad del problema consiste en la identificación de las medidas pertinentes para

la selección y en la definición del plan de pruebas, que permitirá efectuar la evaluación de

las medidas para identificar el comportamiento de los atributos y de sus respectivos valores,

cabe mencionar que únicamente serán tomados en cuenta atributos cuyo valor pueda ser

calculable.

1.4 Objetivo

El objetivo de este trabajo de investigación consiste en evaluar el comportamiento de un

subconjunto de medidas de similitud que puedan ser aplicadas al proceso de selección de

servicios Web de manera cuantitativa. El propósito de evaluar el comportamiento es

determinar cuál de las medidas proporciona los mejores resultados, es decir, cuales medidas

permiten identificar dentro de un conjunto de servicios Web el/los servicios que mejor

cumplen los requerimientos de calidad establecidos por un usuario.

1.5 Trabajos relacionados

El proceso de selección de los servicios Web tiene como objetivo obtener el/los mejores

servicios Web para integrarlos en una aplicación o usarlos de forma independiente. Esto ha

motivado el desarrollo de múltiples investigaciones que permitan apoyar este proceso en el

ámbito de los servicios Web.

En los trabajos más sobresalientes de la literatura actual sobre la selección de servicios

podemos encontrar la definición de atributos, el establecimiento de técnicas, modelos y

arquitecturas para dar apoyo al proceso de selección.

Capítulo 1: Antecedentes

7

En esta investigación nos centraremos en los modelos de selección de servicios Web que

emplean QoS como principal criterio de selección. Dentro de estos trabajos podemos

encontrar diferentes enfoques y orientación del proceso de selección dado por sus autores.

Con base en lo anterior y para efectos de este trabajo de investigación se clasificarán como

sigue: enfoque orientado a agentes, enfoque orientado a Web semántica, enfoque orientado

a la confianza en el usuario y otros enfoques. En la última clasificación agrupamos los

trabajos que por sus características particulares no se pueden incluir dentro de las primeras

tres clasificaciones.

1.5.1 Enfoque de selección orientado a agentes

Los servicios Web pueden ser desplegados e invocados por diferentes clientes. Esto permite

integrarlos en un conjunto de servicios o formar otras aplicaciones. Al integrar servicios

Web es necesario identificar los servicios que proporcionen el conjunto de funciones

requeridas para llevar a cabo una tarea específica. A continuación se presentan algunos

trabajos que apoyan en la identificación de los servicios desde un enfoque orientado a

agentes.

The design of QoS broker algorithms for QoS-capable Web services [TAO04]. Los

autores explican que dado que la UDDI sólo permite la búsqueda de servicios Web basados

en la funcionalidad no es posible garantizar los niveles de calidad de los servicios Web.

Como propuesta de solución los autores definen una arquitectura de servicios Web con

capacidad QoS (QCWS por sus siglas en ingles) con un agente QoS como intermediario

entre clientes y proveedores, que actúa como Front-End en el servidor. Además bajo la

consideración de que el rendimiento del sistema se mide por la utilidad promedio y la

inestabilidad de la calidad de servicio por la “tasa” de reconfiguración del recurso; los

autores proponen dos algoritmos, HQ (algoritmo de asignación homogénea de recursos) y

RQ (asignación no homogénea de recursos), con la meta de maximizar el rendimiento del

sistema mientras se reduce la inestabilidad de la calidad del servicio.

Service selection algorithms for composing complex services with multiple QoS

constraints [TAO051].Los autores amplían su investigación previa [TAO04] para resolver

el problema de la composición de servicios complejos con múltiples restricciones QoS,

modelando el problema de dos maneras: el combinatorio y el modelo de grafos. En el

primero se define el problema como Problema de la Mochila Multidimensional (MMKP

por sus siglas en inglés), mientras que el segundo se define como problema de camino

óptimo con múltiples restricciones (MCOP por sus siglas en inglés). Además para cada

modelo proponen algoritmos para componer y seleccionar los servicios QoS bajo múltiples

restricciones y lograr la máxima utilidad y comparación entre ellos.

Capítulo 1: Antecedentes

8

Service selection algorithms for Web services with end-to-end QoS constraints

[TAO052]. En este trabajo se trata de resolver el problema de la selección de servicios

orientado a la composición, para ello, los autores, definen: un mecanismo de servicio de un

agente QoS para la gestión de las restricciones en la composición de servicios. El agente

QoS está diseñado para hacer la selección de servicios para las solicitudes del cliente, según

sus limitaciones y los requisitos QoS. La función objetivo y restricciones utilizadas por los

algoritmos propuestos se basan en un amplio conjunto de parámetros del sistema,

incluyendo la información del servidor estático (nivel de servicio), requisito de QoS del

cliente (restricción de calidad de servicio), la capacidad dinámica del servidor (prestaciones

de servicios), y retrasar la comunicación de red. También podría considerar la confiabilidad

del servicio, disponibilidad, etc. Se estudia la selección QoS utilizando dos enfoques

diferentes, el enfoque combinatorio y el enfoque de la teoría de grafos. La función de

utilidad empleada pretende maximizar el beneficio que reciben los usuarios y reducir al

mínimo el costo que tienen que pagar.

A QoS broker based architecture for dynamic Web service selection [DEM08]. En este

trabajo se propone una arquitectura de agente de calidad de servicio basada en la selección

dinámica de servicios Web, que facilita al solicitante especificar sus requisitos de calidad

junto con los requisitos funcionales. El mecanismo de selección empleado atraviesa un

árbol de servicios Web candidatos en un orden de nivel 0 a nivel H, tratando los nodos de

manera diferente, para los nodos hoja el mecanismo realiza las acciones de pre

procesamiento, filtros, ampliación y ranking. Mientras que para los nodos internos realiza

el filtrado y la clasificación. Posteriormente los servicios Web se clasifican en orden

decreciente de acuerdo a su puntuación. Este ordenamiento da como resultado el servicio

Web que mejor cumple con las limitaciones de calidad definidas por el solicitante

A QoS broker based architecture for efficient Web services selection [SER05]. Este

trabajo presenta una arquitectura basada en un agente QoS, el objetivo de esta arquitectura

es apoyar al cliente en la selección de los servicios Web que concuerden con sus

necesidades de calidad, para lograr esto propone una estrategia de dos fases de verificación

técnica: 1) Verificación semántica y sintáctica de la descripción de la interfaz del servicio

incluyendo una descripción de parámetros QoS, 2) Aplicar técnicas de medición para

corroborar el estado de las métricas de QoS descritas en la interfaz del servicio y

posteriormente almacenarlo en la base de datos, para ilustrar este proceso proporciona tres

ecuaciones correspondientes al tiempo de respuesta y disponibilidad para generar

escenarios de pruebas

Capítulo 1: Antecedentes

9

1.5.2 Enfoque de selección orientado a Web semántica

El trabajo que se identificó como más relevante con enfoque a Web semántica es:

A QoS-aware selection model for semantic Web services [XIA06]. En este trabajo se

propone una selección de servicios basada en QoS, especificando inicialmente una

ontología que contenga las descripciones con QoS de los servicios, además presenta un

algoritmo normalizado de optimización como mecanismo de selección. El algoritmo

presentado emplea la Distancia Euclidiana como función objetivo en la selección de los

servicios.

1.5.3 Enfoque de selección orientado a la confianza en el usuario

Algunos trabajos que apoyan al proceso de selección de servicios partiendo del punto de

vista de que la información proporcionada por un usuario es confiable se describen en esta

sección.

QoS-based service selection and ranking with trust and reputation management

[LEH051]. La parte clave de éste trabajo es detectar y hacer frente a las valoraciones que

los proveedores les dan a sus servicios. Los autores presentan una nueva solución de

clasificación y selección de QoS basado en Web semántica con la aplicación de un método

de gestión de la confianza y la reputación, para abordar el problema de la selección.

An adaptive service selection approach to service composition [LIJ08]. Se propone un

marco de trabajo de adaptación que cubre la problemática de qué servicios externos

(ejemplo: PayPal) se usarán en aplicaciones orientadas a servicios en una organización.

Este marco utiliza la información dinámica del WSDL para hacer una captura aproximada

de los servicios de la red y aplicar un análisis sobre esa captura, para identificar los

servicios que son popularmente usados por diferentes consumidores hasta el momento. De

esta forma determina que el más popular es el mejor. La propuesta fue evaluada a través de

un estudio de simulación, demostrando en términos del número de fracasos experimentados

por los consumidores que los resultados obtenidos son superiores al enfoque en la selección

de servicios, al azar, fiables para formar composición de servicios.

Autonomic ranking and selection of Web services by using single value decomposition

technique [HOI08]. En este trabajo se describe un nuevo método por el cual los servicios

Web pueden ser clasificados y seleccionados automáticamente en función de una serie de

parámetros de calidad de servicio. Este enfoque trata a la calidad de servicio Web y la

relación de los servicios Web como una matriz. Hace uso de la técnica de descomposición

en valores singulares (SVD, por sus siglas en ingles) y un sistema de ponderación de

usuario, además introduce el concepto de "índice de calidad de servicio Web".

Capítulo 1: Antecedentes

10

A Web service selecting model based on measurable QoS attributes of client-side

[SHU08]. Este artículo propone un nuevo modelo de selección de servicios Web, el modelo

que los autores proponen consta de una arquitectura caché de varios niveles para acelerar el

proceso de selección; dentro de la arquitectura, las similitudes de los clientes y los cachés

se toman en cuenta para mejorar la exactitud de la selección con la información histórica

del servicio. Este trabajo pretende optimizar el modelo de selección de servicios Web

mediante dos factores, 1) que tan rápido se encuentra el servicio y 2) la exactitud de la

estimación basada en la similitud y registros históricos.

1.5.4 Otros enfoques de selección

En la literatura actual se encuentran trabajos de investigación que proponen una solución al

problema de selección de servicios Web desde otros enfoques, que van desde la aplicación

de criterios de calidad con elementos difusos hasta la definición de nuevos criterios que

apoyen al problema de selección.

A QoS-based Web service selection method for dynamic web service composition

[ZHA09]. Este trabajo atiende el problema de selección de servicios Web con idéntica

funcionalidad pero diferente calidad de servicio para la composición. Los autores proponen

dos cosas, una es la concepción y definición de la “Composibilidad” o grado de

composición del servicio, y la otra es un modelo de selección de servicios Web candidatos

de acuerdo con los atributos QoS que satisfagan al usuario. En el modelo presentado se

añadió el criterio de “Composibilidad”. La idea principal de este trabajo es diseñar una

función a trozos para reducir el número de los servicios principales, y asegurar la tasa de

éxito.

A framework for autonomic Web service selection [DAY05]. En este trabajo se presenta

un enfoque basado en examinar los parámetros de calidad de servicios, con el objeto de

responder a la pregunta: ¿cómo puede un cliente de servicios Web buscar y seleccionar, de

entre varios, el servicio con la mejor calidad para cumplir sus necesidades?. La

investigación parte de que el factor más importante en el momento de elegir un servicio

Web debe ser sus parámetros de calidad. En este trabajo el autor describe un marco de

trabajo de selección de servicios Web, donde las decisiones se hacen en base a información

QoS, y donde dicha información se describe usando una ontología en lenguaje de

ontologías Web (OWL por sus siglas en ingles).

QoS-based Web service selection [HON07]. Este trabajo atiende el problema de selección

de servicios Web durante el proceso de composición en base a los atributos no funcionales

(QoS), proponiendo un modelo óptimo global-QoS. Este trabajo se divide en dos aspectos:

1) el diseño de un modelo QoS razonable y extensible desde la perspectiva de composición

de servicios, considerando los atributos de calidad: precio, tiempo de respuesta, capacidad

de servicio y reputación del servicio; además el modelo propuesto toma en cuenta la

Capítulo 1: Antecedentes

11

diferencia entre las unidades y equivalencia de los atributos QoS, por ello normaliza los

atributos con el método Aditivo Simple de Ponderación (SAW por sus siglas en ingles), 2)

el diseño y análisis experimental del algoritmo de selección para resolver el modelo

mediante el algoritmo de Recocido Simulado y Algoritmo Genético.

Solving fuzzy QoS constraint satisfaction technique for Web service selection [LIU07].

Este trabajo atiende el problema de la selección de servicios Web utilizando como criterio

la calidad del servicio. Tomando en cuenta que los criterios de calidad de servicio no

siempre son explícitos y por lo general contiene elementos difusos, para esto proponen una

forma de expresar las preferencias QoS difusas. Además propone el uso de un algoritmo

genético que se centra en la relación entre la satisfacción y ajuste de las restricciones de

QoS difusos y la evolución de la selección multi-objetivo de los servicios.

En la Tabla 1.1 se listan las características principales de los trabajos relacionados con

respecto de esta investigación.

Capítulo 1: Antecedentes

12

Tabla 1.1Trabajos relacionados

Artículo Objetivo Atributos de calidad

(especificados) Modelo/Algoritmo Experimentación

The design of QoS

broker algorithms for

QoS-capable Web

services.

Maximizar el rendimiento del sistema

mientras se reduce la inestabilidad de la

calidad del servicio.

No especificado.

HQ (algoritmo de asignación

homogénea de recursos) y RQ

(asignación no homogénea de

de recursos).

Muestra los resultados

de la simulación del

desempeño de los

algoritmos.

Service selection

algorithms for

composing complex

services with multiple

QoS constraints.

Apoyar en la solución al problema de

selección con múltiples limitaciones. No especificado.

Combinatorio y teoría de grafos

problema de la mochila con

múltiples opciones (MCKP) y

ruta óptima con múltiples

restricciones (MCOP).

Comparación de los

algoritmos propuestos.

Service selection

algorithms for Web

services with end-to-end

QoS constraints.

Construir agentes automatizados para

selección del servicio óptimo para

composición.

Tiempo de respuesta,

costo, disponibilidad del

servicio, fiabilidad del

servicio.

Basado en agentes con un

enfoque combinatorio:

búsqueda exhaustiva,

programación dinámica,

problema de la mochila con

múltiples opciones (MCKP) y

Teoría de grafos: Bellman-

Ford(CBF), Camino más corto

CSP).

Muestra tabla con la

comparación de los

resultados de los

algoritmos.

A QoS-based web

service selection method

for dynamic Web service

composition.

Realizar una composición dinámica

seleccionando los mejores servicios Web

de acuerdo a su grado de composición

(Composibilidad).

Precio de ejecución,

duración de la ejecución,

fiabilidad, disponibilidad,

reputación.

Define un método de selección

que emplea el algoritmo de

branch-bound.

Resultados gráficos de

comparación del método

con otro trabajo

publicado.

A QoS broker based

architecture for dynamic

Web service selection.

Presentar una arquitectura basada en un

agente QoS con el objetivo de

seleccionar el mejor servicio Web que

satisfaga los requerimientos QoS de un

solicitante.

Pena, compensación,

reputación y cumplimiento

(necesarias para fase de pre

procesamiento).

Un agente QoS cuyo

mecanismo de selección de

servicios es un árbol de

servicios candidatos con QoS.

Se realizaron las pruebas

a diez servicios con seis

atributos de calidad.

A framework for

autonomic Web service

selection.

La selección de servicios Web mediante

un enfoque basado en el examen de los

parámetros de (QoS) anteriores de

clientes similares para poder realizar la

selección de forma automática.

Disponibilidad, fiabilidad,

tiempo de ejecución. Algoritmo Naive Bayes.

Realiza pruebas al

Marco de Trabajo.

Capítulo 1: Antecedentes

13

Tabla 1.1 Trabajos relacionados (Continuación).

Artículo Objetivo Atributos de calidad

(especificados) Modelo/Algoritmo Experimentación

An adaptive service

selection approach to

service composition.

Propone un marco para selección y

composición de servicios con un

algoritmo de rankeo de servicios que usa

análisis de red social para seleccionar

servicios.

No especificado.

Un algoritmo de rankeo de

servicios que usa análisis de

red social.

Se realizó una simulación

con la aplicación

TripHandling con 200

consumidores, 1000

proveedores y 100

registros de servicios.

A QoS broker based

architecture for efficient

Web services selection.

Apoyar al cliente en la selección de los

servicios Web basados en sus

requerimientos de calidad, mediante el

empleo de la arquitectura propuesta.

Tiempo de respuesta, carga

del servicio,

disponibilidad, latencia,

reputación.

Modelo de una arquitectura

basada en un Agente QoS.

Modelo de simulación de

tres escenarios como

pruebas.

QoS-based service

selection and ranking

with trust and reputation

management.

Busca obtener fiabilidad en la selección

de los servicios tomando en cuenta la

honestidad y deshonestidad del valor de

calidad.

Disponibilidad, fiabilidad,

tiempo de ejecución.

Modelo para descubrimiento

mediante un método de la

gestión de la confianza y la

reputación de servicios basado

en QoS.

Resultados gráficos de los

experimentos.

A QoS-aware selection

model for semantic web

services.

Una selección de servicios basada en

QoS, con ontología de QoS de servicios,

y un algoritmo normalizado de

optimización con la Distancia Euclidiana

como función objetivo.

Costo, tiempo de respuesta,

fiabilidad, exactitud,

seguridad, reputación,

tiempo de ejecución,

manejo de excepciones.

Algoritmo normalizado de

optimización como

mecanismo de selección que

emplea la distancia euclidiana

como función objetivo.

Por motivos de

comparación y

simplificación se

emplearon los datos

experimentales

presentados en [YLI04].

QoS-based Web service

selection.

Lograr la óptima calidad de composición

de servicios.

Precio, tiempo de

respuesta, máxima

capacidad, reputación.

Modelo de selección para

composición usando Recocido

Simulado y Algoritmo

genético.

No se presentan los

experimentos ni los

resultados.

Solving fuzzy QoS

constraint satisfaction

technique for Web

service selection.

Utilizar el algoritmo genético para

encontrar la satisfacción QoS difusa y

optimizar la función objetivo. Además

se utiliza la función de adecuación para

suavizar las restricciones QoS difusas y

para hacer frente a la estimación

imprecisa de valores QoS.

No especifica los atributos

QoS, estos son tratados de

forma general.

Modelo de selección de

servicios Web con requisitos

QoS globales, para

composición: Algoritmo

genético. Utiliza una función

de adecuación y satisfacción

en la toma de decisiones

multi- objetivo.

Presenta ejemplos para la

interpretación de los

intervalos de valores

contra límites de

restricciones, elásticas,

rígidas y fuertes.

Capítulo 1: Antecedentes

14

Tabla 1.1 Trabajos relacionados (Continuación).

Artículo Objetivo Atributos de calidad

(especificados) Modelo/Algoritmo Experimentación

Autonomic ranking and

selection of Web

services by using single

value decomposition

technique

La técnica SVD proporciona un

mecanismo de representación compacto

y eficiente del conocimiento para

representar los atributos de calidad de

servicio y la relación de servicios Web

mediante el uso de una matriz y la

técnica de reducción de la dimensión

para extraer la relación significativa

entre los atributos de QoS y los servicios

Web correspondientes.

Precio, disponibilidad,

tiempo de respuesta,

seguridad, accesibilidad,

problema de manejo, tasa

de fracaso, esfuerzo de

integración, precisión de la

facturación.

Método para clasificar (ranking)

y seleccionar automáticamente

servicios Web utilizando:

*Técnica de descomposición de

valores singulares (SVD).

Pruebas de selección

con cinco servicios Web

y se analizan los

resultados.

A Web service selection

model based on

measurable QoS

attributes of client-side

Optimizar el modelo de selección de

servicios Web mediante dos factores, 1)

que tan rápido se encuentra el servicio y

2) la exactitud de la estimación basada

en la similitud y registros históricos.

Latencia, velocidad de

transferencia, capacidad de

respuesta.

Arquitectura caché con una

estimación basada en la

similitud con una función de

distancia euclidiana.

Resultados

experimentales sobre un

histórico de registro de

servicios de clientes.

El presente trabajo de

investigación

Evaluar el comportamiento de un

subconjunto de medidas de similitud que

puedan ser aplicadas al proceso de

selección de servicios Web de manera

cuantitativa, con el propósito de poder

determinar cuál de esas medidas

proporciona los mejores resultados.

Tiempo de recuperación

promedio, Tiempo de

ejecución promedio,

Tiempo de ejecución

máximo, Tiempo de

respuesta promedio,

Tiempo de respuesta

máximo, Factor de error,

Factor de precisión del

resultado, Costo.

Evaluación de las medidas de

similitud (espacio vectorial y

recocido simulado) tomando en

cuenta la normalización de los

valores como pre procesamiento

de los atributos QoS y

empleando una arquitectura

extensible.

Pruebas de selección

con ochenta y cuatro

servicios del dominio de

estadística descriptiva y

treinta servicios del

dominio de predicción

climatológica y se

analizan los resultados.

Como se puede notar la Tabla 1.1 se presentan algunos trabajos de la literatura que abordan el problema de la selección de servicios

Web mediante atributos de calidad. Los trabajos citados se presentan modelos, técnicas, arquitecturas, métodos para efectuar un

proceso de selección.

Capítulo 1: Antecedentes

15

Otros trabajos no descritos en la tabla, pero no por ello menos importantes son SimPak

[ABR06] que proporciona una biblioteca en java de medidas de similitud para uso en

ontologías y la biblioteca OEGraphSim de OpenEyes Scientific Software2 que proporciona

el cálculo de la similitud entre moléculas. En comparación con los trabajos mencionado,

este trabajo de investigación no pretende ofrecer únicamente el cálculo de las medidas de

similitud ni proponer un modelo de selección de servicios, sino evaluar el comportamiento

de las medidas de similitud [FRA08] para identificar aquellas cuya aplicación en el proceso

de selección de servicios es más recomendable

1.6 Producto resultado y beneficios

La selección de objetos tangibles tales como computadoras, impresoras y mobiliario se

lleva a cabo cotidianamente, pero antes de elegir cuál objeto es el que más nos conviene

realizamos un estudio de carácter evaluativo sobre qué características posee y con qué

criterios cumple dicho objeto. Este carácter evaluativo ha trascendido hasta el dominio de

los servicios Web, donde, como desarrolladores se hace necesario echar mano de una

selección confiable que nos indique que componente de software o servicio Web es el que

mejor nos conviene para integrarlo a nuestra aplicación.

Sin embargo, realizar la elección de uno u otro objeto, no es una tarea fácil puesto que cada

vez más, se utilizan los atributos de calidad para llevar a cabo este proceso. Además,

cuando se trata de software, el proceso de selección implica la complejidad y dificultad

inherente a la evaluación de cualquier clase de software, es en este proceso donde muchas

de las personas encargadas no cuentan con herramientas formales que les faciliten la

evaluación de los objetos que deben seleccionar. Por lo anterior el producto principal de

este trabajo es la evaluación de un conjunto de medidas de similitud aplicadas en el proceso

de selección de servicios Web usando atributos de calidad y un conjunto de servicios que

implementen las medidas de similitud.

1.7 Alcances y limitaciones

1.7.1 Alcances

Evaluar el comportamiento de medidas de similitud en la selección de servicios

mediante atributos de calidad cuantitativos utilizando el conjunto de servicios

contenidos en el Banco de Pruebas presentado en [CAB08].

Se realizó la implementación de siete medidas de similitud aplicadas a la selección

de servicios Web, estas medidas son: coeficiente de Coseno, Dice, Traslape,

2 http://www.eyesopen.com/docs/docs-v1.7.2-4/html/GraphSimTK-java/measure.htmln

Capítulo 1: Antecedentes

16

Jaccard, Distancia Euclidiana, función de Tversky y el algoritmo de Recocido

Simulado.

El Recocido Simulado implementa como función objetivo la Distancia Euclidiana y

debido a su enfoque heurístico, en esta investigación es identificada como una

medida de similitud.

Los atributos de calidad, definidos en [CAB08], empleados en la evaluación son:

tiempo de recuperación promedio, tiempo de ejecución promedio, tiempo de

ejecución máximo, tiempo de respuesta promedio, tiempo de respuesta máximo,

factor de error, factor de precisión del resultado y costo.

Se implementaron cuatro funciones de normalización, descritas en el Capítulo 2.

Se evaluó el comportamiento de las medidas de similitud implementadas,

empleando la función de normalizacion1.

1.7.2 Limitaciones

La evaluación de las medidas de similitud se realizó utilizando como muestra el

Banco de Pruebas desarrollado en [CAB08], esto debido a que los servicios Web

contenidos en el banco constan de una descripción de atributos de calidad en su

WSDL.

El Banco de Pruebas contiene ochenta y cuatro descripciones de servicios

pertenecientes al dominio de Estadística Descriptiva y treinta descripciones de

servicios pertenecientes al dominio de Predicción Climatológica.

En esta investigación no se definieron nuevos atributos de calidad para los servicios

Web, ni se especificaron rangos de valores aplicables a los atributos utilizados.

Tampoco se pretende proponer una forma de medir los atributos de calidad,

únicamente se asume que el valor dado a cada atributo refleja cuantitativamente su

nivel de calidad.

En la evaluación realizada no se considera a las funciones de normalización como

un factor que influya en el proceso de selección.

De las funciones de normalización presentadas en este trabajo de investigación (ver

sección 2.5.4) únicamente se contempla el uso de la normalizacion1.

CA

PÍT

UL

O 2

2 Marco Teórico

En este capítulo se presenta la descripción de los conceptos y

elementos en los cuales se fundamenta este trabajo. El capítulo se

encuentra organizado en los siguientes subtemas:

2.1 Arquitectura orientada a servicios.

2.2 Servicios Web.

2.3 Lenguaje de descripción de servicios Web (WSDL).

2.4 Calidad de software.

2.5 Medidas de similitud.

Capítulo 2: Marco Teórico

18

2.1 Arquitectura orientada a servicios

Una arquitectura orientada a servicios (SOA) es una combinación de consumidores y

servicios que colaboran, con el apoyo de un conjunto de capacidades de gestión, se guía por

principios, y se rige por el apoyo de estándares [JAM09].

2.2 Servicios Web

“Los servicios Web son un conjunto de aplicaciones o de tecnologías con capacidad para

interoperar en la Web y que intercambian datos entre sí con el objetivo de ofrecer servicios.

Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios

solicitan un servicio llamando a estos procedimientos a través de la Web. Estos servicios

proporcionan mecanismos de comunicación estándares entre diferentes aplicaciones, que

interactúan entre sí para presentar información dinámica al usuario” [WOR101]. Entre las

características de los servicios Web se encuentran:

Los servicios Web son autónomos.

Pueden ser publicados e invocados e interoperables.

Están basados en estándares.

Son dinámicos.

Son auto descriptivos.

A través de los servicios Web las compañías pueden encapsular sus procesos de negocio,

publicarlos como servicios, suscribirse a otros e intercambiar información con otras

empresas [MOR06], es en este contexto donde se puede realizar el consumo de servicios

Web entre compañías, con el objeto de maximizar la productividad y reducir los costos.

2.2.1 Publicación de servicios Web

El proceso de publicación de servicios Web consiste en definir la forma en que se dará a

conocer el servicio Web a través de internet para que los clientes interesados puedan

descubrirlo y utilizarlo en sus aplicaciones. Actualmente ese mecanismo se denomina

UDDI. UDDI es un registro público diseñado para almacenar estructuradamente

información sobre empresas y los servicios que ofertan.

UDDI propone la creación de un "directorio de servicios de negocios" que proporciona

listados de los servicios, aplicaciones y otros componentes de software desarrollado por

diferentes proveedores, para facilitar la comunicación entre empresas a nivel del sistema.

Este directorio proporciona una forma estandarizada de descubrir nuevas entidades

empresariales [NAR03].

La UDDI permite hacer compatible el descubrimiento de servicios Web en diferentes tipos

de tecnologías y plataformas.

Capítulo 2: Marco Teórico

19

2.2.2 Descubrimiento de servicios Web

El proceso de descubrimiento de servicios Web consiste en buscar y consultar

descripciones de servicios Web para posteriormente tener acceso a los servicios.

Los servicios Web se ponen a disposición de los usuarios por medio de un mecanismo de

descubrimiento denominado WSDL, a través del cual los clientes de los servicios Web

conocen la existencia de un servicio y dónde encontrarlo.

En general, cualquier persona que desee interactuar con los servicios Web través de la Web

debe usar el archivo WSDL. Hay dos partes en la UDDI, el registro y el descubrimiento. 1)

El registro en la UDDI significa que las empresas pueden publicar información en la UDDI,

2) el descubrimiento significa que otras empresas pueden buscar y descubrir. Las empresas

y los individuos interactúan con la UDDI utilizando una Interfaz de Programación de

Aplicaciones para el Protocolo de acceso de objeto simple o una de las interfaces de usuario

proporcionada por los operadores o proveedores de otros servicios Web [NEW02].

2.2.3 Selección de servicios Web

El proceso de selección de servicios Web consiste en la elección del o los servicios Web

que atiendan las necesidades del usuario. Para llevar a cabo este proceso el usuario de los

servicios accede a la descripción WSDL con el objeto de obtener la información necesaria

sobre su funcionalidad y uso y así tomar una decisión sobre el servicio o servicios ad hoc a

sus necesidades.

2.3 Lenguaje de descripción de servicios Web (WSDL)

WSDL es un formato de esquema XML (de las siglas en ingles eXtensible Markup

Language) que define un marco extensible para describir interfaces de servicios Web. Fue

desarrollada principalmente por Microsoft e IBM y se presentó al W3C por 25 empresas

[WOR10].

WSDL es el mecanismo a través del cual los servicios Web son publicados en internet. Este

proporciona una forma común en el que se representan los tipos de datos y estructuras en

los mensajes que se intercambian, e incluye información que vincula a las

implementaciones de los mensajes.

Con la finalidad de lograr una comunicación entre los servicios Web, el WSDL define los

protocolos de comunicación y transporte. De esta manera el remitente utiliza el archivo

WSDL para generar los mensajes en el formato y protocolo de comunicación adecuado,

mientras que el receptor utiliza el archivo WSDL para recibir y analizar el mensaje y el

mapeo de los objetos subyacentes.

Capítulo 2: Marco Teórico

20

La Figura 2.1 muestra los elementos del WSDL y un ejemplo de su presentación en XML.

Los elementos del WSDL se muestran en capas de acuerdo con sus niveles de abstracción,

que se definen de forma independiente del transporte, precisamente para que el transporte

múltiple se pueda utilizar en el mismo servicio. Por ejemplo, el mismo servicio pueda ser

accesible a través de SOAP sobre HTTP y SOAP sobre JMS (de las siglas Java Message

Service). Del mismo modo, las definiciones de tipo de datos se colocan en una sección

separada para que puedan ser utilizados por múltiples servicios [NEW02].

Actualmente los WSDL no contemplan una descripción sobre requerimientos no

funcionales (calidad de servicio, QoS) de los servicios Web, sin embargo en la literatura

encontramos múltiples trabajos que proponen tomar en cuenta el uso de requerimientos no

funcionales en el proceso de descubrimiento de servicios Web [SHU03], y en el proceso de

selección de servicios [QUL09].

Elementos

Definición de

Tipo de Datos

Operaciones

abstractas

Servicio

obligatorio

<message name="CalcularResponse"> <part name="parameters" element="tns:CalcularResponse"/> </message> <message name="QoSAttributes"> <part name="AverageRecoveryTime" element="tns:QoSAtributos"> <documentation>20</documentation> </part> <part name="MaximumExecutionTime" element="tns:QoSAtributos"> <documentation>30</documentation> </part> … </message>

Ejemplo

<portType name="Estadistica"> <operation name="Calcular"> <input message="tns:Calcular"/> <output message="tns:CalcularResponse"/> </operation> </portType>

<service name="EstadisticaService"> <port name="EstadisticaPort" binding="tns:EstadisticaPortBinding"> <soap:address location="REPLACE_WITH_ACTUAL_URL"/> </port> </service>

Transporte

Figura 2.1 Elementos de un WSDL.

Capítulo 2: Marco Teórico

21

Al igual que el resto de las tecnologías XML, el WSDL es tan extensible y tiene tantas

opciones que puede ser difícil asegurar la compatibilidad y la interoperabilidad entre las

diferentes implementaciones [NEW02].

Tomando en cuenta lo anterior y debido a la necesidad de contar con una descripción de

atributos de calidad de servicio idénticos en todos los servicios empleados en este trabajo,

se emplea el repositorio desarrollado en [CAB08] que contiene una descripción de ocho

atributos de calidad en sus WSDLs. La descripción de los atributos de calidad dentro del

WSDL se encuentra ubicada en la parte Definición de Tipo de Datos, tal como se muestra

en la Figura 2.2

Los atributos de calidad descritos en los WSDL de los servicios Web del Banco de Pruebas

[CAB08] se listan en la Tabla 2.1.

Tabla 2.1 Atributos de calidad utilizados en esta investigación.

Abrev. Atributo Rango de

Valores Descripción

TRP

Tiempo de recuperación

promedio

(AverageRecoveryTime)

[Integer]

Mide en segundos el tiempo promedio que un

servicio Web necesita para estar disponible otra

vez.

TEM

Tiempo de ejecución

promedio

(AverageExecutionTime)

[Integer]

Mide cuál es el tiempo de ejecución promedio en

milisegundos que un servicio Web toma para

ejecutar un trabajo.

TEP Tiempo de ejecución máximo

(MaximumExecutionTime) [Integer]

Mide cuál es el tiempo de ejecución máximo en

milisegundos que un servicio Web toma para

ejecutar un trabajo.

TReM Tiempo de respuesta promedio

(AverageResponseTime) [Integer]

Mide cuál es el tiempo de respuesta promedio en

milisegundos para acceder a un servicio Web.

TReP Tiempo de respuesta máximo

(MaximumResponseTime) [Integer]

Mide cuál es el tiempo de respuesta máximo en

milisegundos para acceder a un servicio Web.

FE Factor de error (FaultFactor) [Real[0..1]]

Divide el número de fallas que un método del

servicio Web ha generado por el tiempo total que

este método ha sido ejecutado.

FRP

Factor de precisión del

resultado

(ResultAccuracyFactor)

[Real[0..1]]

Divide el número de resultados de tipo correcto

retornados por un método del servicio Web por el

número de resultados esperados de este método.

C Costo (Cost) [Real] Indica el costo del servicio.

Elementos Partes

Mensajes de

Tipo de Datos Definición de

Tipo de Datos

Requerimientos

no funcionales

(Calidad de

servicio)

Figura 2.2Atributos de calidad en el WSDL.

Capítulo 2: Marco Teórico

22

2.4 Calidad de software

El término calidad va mas allá de ser únicamente una herramienta estratégica de las

organizaciones, este término ha alcanzado al desarrollo de software, debido a que, tanto el

enfoque de desarrollo basado en componentes como la arquitectura orientada a servicios

han impulsado la proliferación de servicios Web disponibles en la red.

Por lo anterior cada vez más se requiere que los servicios cubran alguna necesidad con un

cierto nivel de calidad, convirtiendo así la tarea de descubrimiento en una actividad

engorrosa.

El ISO 8402 define la calidad del software como “El conjunto de características de una

entidad que le confieren su aptitud para satisfacer las necesidades expresadas y las

implícitas”.

2.4.1 Calidad de servicio (QoS)

Calidad de servicio (QoS de las siglas en ingles Quality of Service) se define como el

efecto global de la calidad de funcionamiento de un servicio que determina el grado de

satisfacción de un usuario. En el contexto de servicios Web los aspectos de calidad de

servicio mayormente considerados son: disponibilidad, tiempo de respuesta, tiempo de

procesamiento y confiabilidad de resultados [CAN06].

En la literatura actual la calidad de servicio es un criterio importante al momento de elegir

un servicio web de entre un conjunto de servicios con idéntica funcionalidad. En esta

investigación los trabajos encontrados en la literatura actual como modelos de selección de

servicios web se clasifican en enfoques de selección (enfoque orientado a agentes, enfoque

orientado a Web semántica, enfoque orientado a la confianza en el usuario y otros

enfoques, tal como se muestra en la sección 1.4 Trabajos relacionados).

2.4.2 Métricas de calidad

“Las métricas son concebidas por el usuario y diseñadas para revelar una característica

elegida en una manera confiable y significativa” [CRA04].

El IEEE define a una métrica como un sinónimo de “Métrica de calidad de software” y la

define como una función con entrada y salida. Las métricas de calidad de software tienen

datos como entrada y valores numéricos simples como salida. La salida es interpretada

como el grado para el cual el software posee un determinado atributo que afecta su calidad

/IEEE93/.

Capítulo 2: Marco Teórico

23

El ISO (ISO/IEC 9126,1991,/ISO.91ª/) define a una métrica de calidad de software como

un método y escala cuantitativa que puede ser usado para determinar el valor que toma una

característica para un producto software específico.

2.5 Medidas de similitud

La selección de los servicios Web se puede realizar mediante el uso de los coeficientes de

asociación con el objeto de conocer la igualdad entre dos o más variables de una muestra,

evaluando cuánto se parecen (similitud) o cuanta disparidad existe en entre ellas

(disimilitud), en función de los valores de las atributos de calidad no funcionales de los

servicios Web como índice de medición cuantitativo. Las medidas de similitud evaluadas

en este trabajo de investigación fueron tomadas de los resultados sobre el estudio de

similitud realizado para el modelo de solución reportado en [FRA08].

Sea W un vector de dimensión donde representa el número de atributos de

calidad del servicio, y S un vector de dimensión donde representa los

atributos de calidad definidos por un usuario.

2.5.1 Enfoque de espacio Vectorial

A continuación se analizan algunas de las medidas de similitud del modelo vectorial

reportadas en [FRA08] que se consideran más usadas en el contexto de los atributos de

calidad de servicios Web.

2.5.1.1 Coeficiente del coseno

Esta medida asume que la similitud es proporcional al ángulo entre dos vectores, tal como

se muestra en la gráfica de la Figura 2.3. Esta medida tiende a dar valores bajos de similitud

entre vectores muy largos [KNA05].

Donde,

Es un vector que representa el conjunto de atributos de calidad de un servicio Web.

Es un vector que representa el conjunto de atributos de calidad dado por un usuario.

| |= El valor absoluto de un número.

Capítulo 2: Marco Teórico

24

Figura 2.3 Ángulo entre dos vectores.

En la gráfica de la Figura 2.3, dos vectores tienen un ángulo con valor mayor de 0° y con

diferente valor entre sí, lo que indica alguna diferencia entre ellos. Si el valor del ángulo

para ambos fuera de 0°, indicaría la mayor similitud entre ambos vectores. Si el valor del

ángulo fuera de 90°, los vectores serían perpendiculares y por lo tanto serían más

diferentes.

2.5.1.2 Coeficiente de Dice

Este coeficiente enfatiza las características comunes sin tomar en cuenta las características

diferentes. En la Figura 2.4 se muestra un ejemplo.

Donde,

Es un vector que representa el conjunto de atributos de calidad de un servicio Web.

Es un vector que representa el conjunto de atributos de calidad dado por un usuario.

| |= El valor absoluto de un número.

2.5.1.3 Coeficiente de Traslape

Este índice compensa el comportamiento de la medida de similitud coseno, por medio de

dividir el numerador entre el vector que tiene la suma de los pesos más baja, aunque no

toma en cuenta el valor del ángulo.

Capítulo 2: Marco Teórico

25

Donde,

Es un vector que representa el conjunto de atributos de calidad de un servicio Web.

Es un vector que representa el conjunto de atributos de calidad dado por un usuario.

| |= El valor absoluto de un número.

2.5.1.4 Coeficiente de Jaccard

Es la proporción de características de los vectores que empatan o son similares, excluyendo

a aquellas que difieren. Este enfoque es similar al de Dice.

Donde,

Es un vector que representa el conjunto de atributos de calidad de un servicio Web.

Es un vector que representa el conjunto de atributos de calidad dado por un usuario.

| |= El valor absoluto de un número.

2.5.1.5 Distancia Euclidiana

El método más común consiste en medir la semejanza en términos de la distancia entre

pares de objetos. Los objetos con menores distancias son más parecidos que los que tienen

distancias mayores [NAR04]. Esta medida se define como la distancia que existe entre dos

puntos en un espacio de n dimensiones. El problema de similitud entre dos objetos se

puede representar como la distancia entre dos puntos, donde cada punto es un objeto y las

características de éste están representadas por las dimensiones.

Donde,

Es un vector que representa el conjunto de atributos de calidad de un servicio Web.

Es un vector que representa el conjunto de atributos de calidad dado por un usuario.

| |= El valor absoluto de un número.

Capítulo 2: Marco Teórico

26

Figura 2.4 Distancia entre dos vectores.

Esta medida enfatiza las diferencias entre dos vectores más que las características que

empatan. Como se muestra en la gráfica de la Figura 2.5 la Distancia Euclidiana está

indicada por la llave entre los dos puntos. En el conjunto de atributos a evaluar la sumatoria

de cada distancia entre los puntos indica que entre más corta mayor parecido tienen.

2.5.2 Enfoque de correspondencia de características

La similitud juega un papel fundamental en las teorías del conocimiento y del

comportamiento. Sirve como un principio de organización en la que los individuos

clasifican objetos, tienen conceptos de forma, y hacen generalizaciones [TVE04].

2.5.2.1 Función de Tversky

La medida de similitud de Tversky [KNA05] [TVE04] en donde la evaluación de la

similitud es un proceso de empate de características, de tal forma que la fórmula se presenta

en términos de la teoría de conjuntos. La fórmula que Tversky propone para medir la

similitud es la siguiente:

Para constantes no negativas θ α β.

Distancia

Capítulo 2: Marco Teórico

27

2.5.3 Enfoque heurístico

2.5.3.1 Algoritmo de Recocido Simulado

El recocido simulado es una técnica meta heurística basada en el concepto de recocido de

un sólido de la mecánica estadística que se define como [KOR89] un proceso térmico para

obtener estados de baja energía en un sólido, mediante un baño térmico.

Este concepto fue introducido en problemas de optimización combinatoria por Kirkpatrick

[KIR83]. Este algoritmo parte de una solución inicial dada, de una función objetivo que

depende de la solución y de un parámetro de control T conocido como temperatura, que es

una función decreciente del número de iteraciones. En cada iteración se genera al azar una

solución en el vecindario de la mejor solución encontrada hasta el momento. El parámetro

T representa la probabilidad de que el algoritmo acepte una solución de inferior calidad a la

solución actual y por esta razón debe ser decreciente, de manera que a medida que la

solución mejore, la probabilidad de aceptar soluciones inferiores disminuya.

En la Tabla 2.2 se muestran los parámetros empleados en el recocido simulado y su

descripción de acuerdo a su aplicación en este trabajo de investigación.

Tabla 2.2 Descripción de los parámetros del recocido simulado aplicados a esta investigación.

Parámetro Descripción

Temperatura inicial

Los servicios Web se agrupan en un matriz de n x m, donde n es el

número de servicios Web y m el número de atributos de calidad de

cada servicio. El parámetro de temperatura inicial corresponde al

último elemento servicio Web de la matriz.

Criterio de congelamiento Este parámetro indica que se deben visitar mínimamente el 90%

de los atributos de cada servicio Web evaluado..

Cambio de temperatura Este parámetro se ha definido como el decremento en 1 de la

temperatura, es decir, de los servicios Web.

Aceptación de una nueva solución Una nueva solución es aceptada si su valor de similitud obtenida

es menor o igual al valor de similitud de la solución anterior.

Función objetivo

La función objetivo empleada para el cálculo de la similitud entre

los servicios Web y los requerimientos de calidad de un usuario,

corresponde a la Distancia Euclidiana.

En [HON07] se presenta la implementación del recocido simulado para la selección de

servicios Web desde el punto de vista de composición.

En las Figura 2.5 se muestra el diagrama de actividad correspondientes a la adaptación del

algoritmo de recocido simulado realizado en esta investigación, con el propósito de

aplicarlo en el proceso de selección de servicios Web.

Capítulo 2: Marco Teórico

28

Figura 2.5 Diagrama de actividad del recocido simulado.

Capítulo 2: Marco Teórico

29

En la Figura 2.5 se muestran las actividades para generar una solución inicial de similitud

entre servicios Web, los requerimientos QoS del usuario, el proceso del recocido, con la

reducción de la temperatura y la probabilidad de aceptación.

El funcionamiento del recocido consiste en calcular una solución inicial para todos los

estados de una configuración (servicio Web), y posteriormente calcular una nueva solución

(Distancia Euclidiana) para una configuración en el estado QoS (atributo de calidad),

solamente si aún no se alcanza el noventa por ciento de los estados visitados y ésta es mejor

que la solución inicial; en caso contrario se rechaza y la temperatura se reduce con el objeto

de buscar una solución mejor. El algoritmo de recocido simulado adaptado en esta

investigación realiza las siguientes actividades:

Se inicializan los valores de los parámetros dependiendo el número de servicios

Web y atributos QoS de cada uno.

La temperatura es controlada, por el número de servicios Web que haya que evaluar,

empleando una reducción de la temperatura como método de enfriamiento.

El número de iteraciones por nivel de temperatura está definida en base al número

de atributos QoS a evaluar por servicio.

La probabilidad de continuar en el mismo nivel de temperatura depende de que el

valor de la similitud de los atributos QoS visitados se encuentre por debajo del

noventa por ciento del total de atributos QoS.

Para fines de interpretación de los resultados, el algoritmo implementado

proporciona el valor de similitud de todos los servicios Web evaluados y no

únicamente el que mejor cumple los requerimientos tal como lo define el algoritmo

básico.

Capítulo 2: Marco Teórico

30

2.5.4 Funciones de normalización

En la integración de información heterogénea con el objetivo de tomar una decisión entre

las posibles alternativas, como es el caso del problema de selección de contratistas,

proveedores o servicios Web se hace necesario contar con una herramienta que permita

expresar los valores de los diferentes criterios en unidades homogéneas con el objetivo de

convertirlos en valores comparables y operables aritméticamente entre sí.

En la mayoría de los problemas de decisión multicriterio, como la selección de servicios

Web mediante atributos de calidad, se utilizan procedimientos o funciones de

normalización. Para efectos de este trabajo se utilizarán las siguientes funciones de

normalización [BAR97]:

Sea una matriz con elementos donde indica el número de servicios

Web y el número de atributos de calidad por servicio. La normalización es

efectuada por atributos (columna) dentro de la matriz de QoS de los servicios

Web.

Función de normalización 1

Con un intervalo de [0,1]

Donde,

El nm ésimo elemento de la matriz de servicios.

El m ésimo elemento cuyo valor es el máximo para todo m.

El nm ésimo elemento de la matriz de servicios normalizada.

Función de normalización 2

Con un intervalo de [0,1]

Donde,

El nm ésimo elemento de la matriz de servicios.

El m ésimo elemento cuyo valor es el máximo para todo m.

El m ésimo elemento cuyo valor es el mínimo para todo m.

Capítulo 2: Marco Teórico

31

El nm ésimo elemento de la matriz de servicios normalizada.

Función de normalización 3

Con un intervalo de [0,1]

Donde,

El nm ésimo elemento de la matriz de servicios.

El nm ésimo elemento de la matriz de servicios normalizada.

Función de normalización 4

Con un intervalo de [0,1]

Donde,

El nm ésimo elemento de la matriz de servicios.

El nm ésimo elemento de la matriz de servicios normalizada.

Al aplicar las funciones de normalización sobre los dominios de Estadística Descriptiva y

Predicción Climatológica, se identificó en cada dominio el rango de valores en los que se

ubican los resultados. Una vez identificado el rango de valores por función de

normalización, se procedió a identificar el número de valores 0 que se generan, la presencia

de éstos indica perdida de información, esto debido a que en ambos repositorios utilizados

no existe valor 0 en los atributos. La Tabla 2.2 se muestra el rango de los valores del

dominio de Predicción Climatológica obtenidos al efectuar los procedimientos de

normalización.

Tabla 2.2 Rango de valores normalizados por función de normalización.

Función de normalización Rango de valores Núm. de Ceros

Normalizacion1 0.00490196 - 1 0

Normalizacion2 0 - 1 11

Normalizacion3 0.00075088 - 0.22226706 0

Normalizacion4 0.0025663 - 0.74153567 0

Capítulo 2: Marco Teórico

32

En base a los resultados obtenidos y mostrados en la Tabla 2.2, se seleccionó la función de

normalizacion1 como la función que mejores resultados normalizados produce para efectos

de este trabajo de investigación. Esto debido a que si bien no genera ceros al normalizar, el

rango de valor es mayor que en el resto, lo cual permitirá una mejor apreciación de los

datos en las gráficas y la definición de tres bloques de solicitudes de requerimientos QoS.

Los bloques de solicitudes de requerimientos QoS definidos para el dominio de predicción

climatología se presentan en la Tabla 2.3, mientras que en la Tabla 2.4 se presentan las

solicitudes definidas para el dominio de Estadística Descriptiva.

Tabla 2.3 Solicitudes definidas para el dominio de Predicción Climatológica.

Dominio de Predicción Climatológica

No. Solicitud Rango de valores Bloque

1 al 6 0.00490196 - 0.33660131 Bajos

7-12 0.33660131 - 0.66830065 Medios

13-18 0.66830065 - 1 Altos

19-22 SW # 6 , 13 , 21, 28 Solución existente

Tabla 2.4 Solicitudes definidas para el dominio de Estadística Descriptiva.

Dominio de Estadística Descriptiva

No. Solicitud Rango de valores Bloque

1 al 6 0.0014493 - 0.3342995 Bajos

7-12 0.3342995 - 0.66714977 Medios

13-18 0.66714975 - 1 Altos

19-22 SW # 5,76,30,37 Solución existente

Tanto para el dominio de predicción climatológica y estadística descriptiva cada bloque de

valores tiene asignado seis solicitudes de requerimientos QoS.

CA

PÍT

UL

O 3

3 Descripción de la Solución

En este capítulo se describe la solución propuesta al problema de

seleccionar el servicio que mejor satisfaga el requerimiento de

calidad de un usuario de manera cuantitativa. Para atender a este

problema existen muchos trabajos en la literatura que proponen

diversas formas de solución. Sin embargo para identificar las

medidas de similitud que mejor apoyen en la solución del problema,

es necesario realizar una evaluación de las medidas de similitud, con

el propósito de identificar cuál o cuáles son las que mejor resultados

proporcionan en este proceso. En este capítulo se describe el diseño e

implementación de las medidas de similitud definidas en la

investigación presentada. El capítulo se encuentra organizado de la

siguiente manera:

3.1 Propuesta de solución.

3.2 Diseño e implementación de los módulos del sistema que

conforman la propuesta de solución.

Capítulo 3: Descripción de la Solución

34

3.1 Propuesta de solución

Con el objeto de evaluar el comportamiento de las medidas de similitud, definidas en la

sección Medidas de similitud, en el proceso de selección de servicios Web, se presenta una

visión general de la arquitectura de la herramienta utilizada.

La arquitectura de la herramienta para evaluar las medidas de similitud en la selección de

servicios Web mediante atributos QoS, desarrollada en esta investigación, se encuentra

dividida en los siguientes módulos:

Servicio Web que implementa las medidas de similitud del enfoque de espacio

vectorial y enfoque de correspondencia de características

(similarityFunctionUtilities).

Servicio Web que implementa el algoritmo de enfoque heurístico

(simulatedAnnealing).

Servicio Web que implementa las funciones de normalización

(normalizationFunction).

Aplicación Cliente de servicios Web (clienteSW).

En la Figura 3.1 se puede apreciar el diagrama de despliegue correspondiente a la

herramienta de prueba de selección de servicios Web mediante atributos de calidad.

Figura 3.1 Diagrama de despliegue de la herramienta de evaluación de similitud.

Capítulo 3: Descripción de la Solución

35

La herramienta está organizada por los servicios Web de normalización y funciones de

similitud así como por el repositorio que contiene los WSDL de servicios Web con

atributos de calidad. La arquitectura definida para el desarrollo permite a la herramienta ser

fácilmente extensible y reutilizable.

3.2 Diseño e implementación de los módulos del sistema que

conforman la propuesta de solución

En el diseño de la solución propuesta se definieron dos casos de uso para la herramienta a

desarrollar. En la Figura 3.2 se muestran los casos de uso (CU) que describen las

actividades principales a realizar por la herramienta.

Figura 3.2 Diagrama de Casos de Uso (DCU) general para la herramienta de evaluación de

medidas de similitud.

En el Figura 3.2 el CU1 permite la evaluación de los valores QoS de cada servicio

contenido en el repositorio contra la descripción de los requerimientos dada por un usuario,

mientras que el CU2 se implementa con el objeto de efectuar una normalización sobre los

datos. Los escenarios correspondientes a los casos de uso se presentan en el Anexo A.

Capítulo 3: Descripción de la Solución

36

3.2.1 Vista de Diagramas de Secuencia

La interacción entre los elementos de la arquitectura para realizar las pruebas en la evaluación de las medidas de similitud empleadas para la

selección de servicios Web basada en atributos QoS se presenta en la Figura 3.3.

Figura 3.3 Diagrama de secuencia de la interacción entre los elementos de la arquitectura.

Capítulo 3: Descripción de la Solución

37

Figura 3.3 Diagrama de secuencia de la interacción entre los elementos de la arquitectura (Continuación).

El clienteWS es una aplicación que permite efectuar el cálculo de las medidas de similitud de los enfoques descritos en la sección 2.5 Medidas

de Similitud. El cálculo se realiza sobre el valor de los atributos QoS de los servicios Web obtenidos del Banco de Pruebas y las solicitudes

QoS definidas en esta investigación.

Capítulo 3: Descripción de la Solución

38

3.2.2 Vista de Diagrama de Paquetes por servicio Web

En la Figura 3.4 el paquete similarityFunctionUtilities está compuesto a su vez por dos paquetes,

mientras que simulatedAnnealing y normalizationFunction se componen únicamente de un

paquete.

Figura 3.4 Arquitectura de Paquetes del cliente y servicios Web.

El servicio Web de SimilarityFunctionUtilities se encuentra compuesto por dos paquetes, el

primero contiene la implementación de las funciones del modelo vectorial [NAR04] mostrado en

la Figura 3.5 y el segundo la implementación de la medida de Tversky [TVE04] mostrado en la

Figura 3.6.

En el Figura 3.5 se muestran las clases correspondientes al enfoque de espacio vectorial,

empleados para el servicio Web similarityFunction.

Servicio Web

similarityFunctionUtilities

Servicio Web

normalizationFunction

Servicio Web

simulatedAnnealing

Capítulo 3: Descripción de la Solución

39

class DC Enfoque de Espacio Vectorial

aModels

+ execute() : double[]

cModelCoseno

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cModelCoseno(double[][], double[])

+ execute() : double[]

cModelDice

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cModelDice(double[][], double[])

+ execute() : double[]

cModelDistanceEuclidean

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cModelDistanceEuclidean(double[][], double[])

+ execute() : double[]

cModelJaccard

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cModelJaccard(double[][], double[])

+ execute() : double[]

cModelRev erseDistanceEuclidean

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cModelReverseDistanceEuclidean(double[][], double[])

+ execute() : double[]

cModelTraslape

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cModelTraslape(double[][], double[])

+ execute() : double[]

Figura 3.5 Diagrama de clases correspondiente al enfoque de espacio vectorial.

La clase aModels de la Figura 3.5 es una clase abstracta que implementa seis clases concretas,

las cuales se describen en la Tabla 3.1.

Tabla 3.1 Clases correspondientes al enfoque de espacio vectorial.

Clase Responsabilidad

cModelCoseno Es una clase concreta que implementa el coeficiente del coseno descrito en

la sección Enfoque de espacio Vectorial.

cModelDice Es una clase concreta que implementa el coeficiente del Dice descrito en la

sección Enfoque de espacio Vectorial.

CModelDistanceEuclidean Es una clase concreta que implementa la Distancia Euclidiana descrita en la

sección Enfoque de espacio Vectorial.

cModelJaccard Es una clase concreta que implementa el coeficiente del Jaccard descrita en

la sección Enfoque de espacio Vectorial.

cModelReverseDistanceEuclidean Es una clase concreta que implementa la Inversa de la Distancia Euclidiana

descrita en la sección Enfoque de espacio Vectorial.

cModeloTraslape Es una clase concreta que implementa el coeficiente del Traslape descrito

en la sección Enfoque de espacio Vectorial.

En la Figura 3.6 se muestran las clases correspondientes al enfoque de correspondencia de

características, empleadas para el servicio Web similarityFunctionUtilities.

Capítulo 3: Descripción de la Solución

40

class DC Enfoque de Correspondecia de...

aFeatureMatching

+ execute() : double[]

cModelTv ersky

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cModelTversky(double[][], double[])

+ execute() : double[]

Figura 3.6Diagrama de clases correspondiente al enfoque de correspondencia de características.

La clase aFeatureMatching de la Figura 3.6 es una clase abstracta que implementa una clase

concreta, la cual se describe en la Tabla 3.2.

Tabla 3.2 Clases correspondientes al enfoque de correspondencia de características.

Clase Responsabilidad

cModelTversky Es una clase concreta que implementa la medida de similitud de Tversky

descrita en la sección Enfoque de correspondencia de características.

El enfoque de correspondencia de características, utilizado en esta investigación corresponde

únicamente a la implementación de la medida de similitud de Tversky.

En la Figura 3.7 se muestran las clases correspondientes al enfoque heurístico, empleadas para el

servicio Web simulatedAnnealing.

Capítulo 3: Descripción de la Solución

41

class DC Enfoque Heuristico

aHeuristic

+ execute() : double[]

cSimulatedAnnealing

~ dMatrizQoSNorm: double[][]

~ dQPcNorm: double[]

- iNAtrib: int

- iNServ: int

+ cSimulatedAnnealing(double, double) : void

+ execute() : double[]

Figura 3.7 Diagrama de clases correspondiente al enfoque heurístico.

La clase aHeuristic de la Figura 3.7 es una clase abstracta que implementa una clase concreta, la

cual se describe en la Tabla 3.3

Tabla 3.3 Clases correspondientes al enfoque heurístico.

Clase Responsabilidad

cSimulatedAnnealing Es una clase concreta que implementa el algoritmo de recocido simulado,

descrito en la sección Enfoque , como una medida de simililitud.

El enfoque de correspondencia de características, utilizado en esta investigación corresponde

únicamente a la implementación de la medida de similitud de Tversky.

Para tomar una decisión entre las posibles alternativas es necesario expresar los valores de los

diferentes criterios en unidades homogéneas, para atender a esta necesidad en la Figura 3.8 se

muestran las clases que implementan las funciones de normalización.

Capítulo 3: Descripción de la Solución

42

class DC Funciones de Normalizacion

aNormalization

+ execute() : void

+ getMatrixNormalizado() : double[]

+ getVectorNormalizado() : double[]

cNormalizacionProc2

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cNormalizacionProc2(double[][], double[])

+ execute() : void

+ getMatrixNormalizado() : double[]

+ getVectorNormalizado() : double[]

cNormalizacionProc3

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cNormalizacionProc3(double[][], double[])

+ execute() : void

+ getMatrixNormalizado() : double[]

+ getVectorNormalizado() : double[]

cNormalizacionProc4

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cNormalizacionProc4(double[][], double[])

+ execute() : void

+ getMatrixNormalizado() : double[]

+ getVectorNormalizado() : double[]

cNormalizationMaxProc1

~ dMatrizQoSNorm: double ([][])

~ dQPcNorm: double ([])

- iNAtrib: int = 0

- iNServ: int = 0

+ cNormalizationMaxProc1(double[][], double[])

+ execute() : void

+ getMatrixNormalizado() : double[]

+ getVectorNormalizado() : double[]

Figura 3.8 Funciones de Normalización.

La clase aNormalizacion de la Figura 3.8 es una clase abstracta que implementa cuatro clases

concretas, las cuales se describen en la Tabla 3.4

Tabla 3.4 Clases correspondientes a las funciones de normalización.

Clase Responsabilidad

cNormalizationMaxProc1 Es una clase concreta que implementa la función de normalización 1,

descrita en la sección Funciones de normalización.

cNormalizationProc2 Es una clase concreta que implementa la función de normalización 2,

descrita en la sección Funciones de normalización.

cNormalizationProc3 Es una clase concreta que implementa la función de normalización 3,

descrita en la sección Funciones de normalización.

cNormalizationProc4 Es una clase concreta que implementa la función de normalización 4,

descrita en la sección Funciones de normalización.

Las funciones de normalización son implementadas en el servicio Web de

normalizacionFunction.

Capítulo 3: Descripción de la Solución

43

La interfaz de la aplicación cliente empleada para consumir los servicios Web se presenta en la

Figura 3.9.

Figura 3.9 Interfaz de aplicación clienteWS.

La interfaz del cliente de los servicios Web permite seleccionar los datos y los cálculos a efectuar

para llevar a cabo la ejecución de las pruebas definidas en el plan experimental. El resultado de

las pruebas efectuadas se describe en el Capítulo 4.

CA

PÍT

UL

O 4

4 Plan Experimental

En este capítulo se describen y analizan los resultados obtenidos de

los casos de prueba descritos en el plan de pruebas. El capítulo se

encuentra organizado en los siguientes subtemas:

4.1 Resultados de la ejecución del plan experimental.

4.2 Análisis de resultados.

Capítulo 4: Plan Experimental

45

4.1 Hipótesis a probar

El comportamiento de las medidas de similitud puede producir diferentes resultados en la

selección de servicios Web basados en atributos de calidad de servicio (QoS).

4.2 Alcances

El plan de pruebas definido en esta investigación cubre el caso de uso “CU1. Evaluación de

similitud en base a QoS de servicios Web”, en la Figura 3.2. Tal como su nombre lo indica el

caso de uso está orientado a efectuar una evaluación de las medidas de similitud, para identificar

cuál o cuáles medidas son las que producen mejores resultados en la selección de servicios.

Dicha selección se efectúa enfocada únicamente en la calidad del servicio.

Las pruebas se efectúan únicamente sobre los WSDL de 84 servicios del dominio de Estadística

Descriptiva y 30 servicios del dominio de Predicción Climatológica (dominios del Banco de

Pruebas). Cabe mencionar que cada WSDL tiene definidos ocho atributos de calidad.

La ejecución de las pruebas emplea únicamente datos normalizados en los servicios de cada

dominio y las solicitudes de requerimientos.

4.3 Resultados de la ejecución del plan experimental

El plan de pruebas SSWQOS (Selección de Servicios Web con QoS) está definido con base en el

estándar 829 de la IEEE [Sof98] y se describe en el Anexo B.

Las pruebas definidas en el plan de pruebas permiten una comparación tanto entre medidas de

similitud como entre los resultados de una medida aplicada a diferentes muestras. La

comparación se efectúa entre el valor de los atributos de calidad de los servicios Web de las

muestras y el valor de los atributos solicitados por un usuario. Por restricción de espacio

únicamente en la primer comparativa se muestran los datos completos y en las tablas de las

comparativas subsiguientes se muestran los primeros diez servicios que cubren los

requerimientos por medida de similitud.

Las medidas de similitud aplicadas a la selección de servicios Web con QoS, evaluadas en esta

investigación corresponden al enfoque de espacio vectorial, correspondencia de características y

enfoque heurístico.

Los bloques de solicitudes de requerimientos QoS definidos para el dominio de Predicción

Climatología se presentan en la Tabla 4.1 y los bloques Estadística Descriptiva se presentan en la

Tabla 4.2.

Capítulo 4: Plan Experimental

46

Las solicitudes de requerimientos QoS definidas para cada bloque constan de ocho valores de

atributos de calidad. Donde los valores de los atributos de las solicitudes de requerimientos QoS

se definieron basadas en tendencias crecientes y decrecientes para los bloques VB, VM, VA (Ver

Anexo C).

Tabla 4.1 Solicitudes QoS por bloque de valores del dominio de Predicción Climatológica.

No. Solicitud Rango de valores Bloque

1 al 6 0.00490196 - 0.33660131 Valores Bajos (VB)

7-12 0.33660131 - 0.66830065 Valores Medios (VM)

13-18 0.66830065 - 1 Valores Altos (VA)

19-22 SW6 , SW 13 , SW 21, SW28 Solución existente (SE)

En la Tabla 4.1, el bloque VB contiene seis solicitudes de requerimientos QoS numeradas de 1 al

6 como sigue: SolicitudQoS1, SolicitudQoS2, SolicitudQoS3, SolicitudQoS4, SolicitudQoS5,

SolicitudQoS6, de la misma manera se numeran para el resto de los bloques. En particular las

solicitudes QoS del bloque SE equivales a los servicios Web con el identificador SW6, SW13,

SW21, SW28.

Tabla 4.2 Solicitudes QoS por bloque de valores del dominio de Estadística Descriptiva.

No. Solicitud Rango de valores Bloque

1 al 6 0.0014493 - 0.3342995 Valores Bajos (VB)

7-12 0.3342995 - 0.66714977 Valores Medios (VM)

13-18 0.66714975 - 1 Valores Altos (VA)

19-22 SW5, SW76, SW30, SW37 Solución existente (SE)

En la Tabla 4.2, el bloque VB contiene seis solicitudes de requerimientos QoS numeradas de 1 al

6 como sigue: SolicitudQoS1, SolicitudQoS2, SolicitudQoS3, SolicitudQoS4, SolicitudQoS5,

SolicitudQoS6, de la misma manera se numeran para el resto de los bloques. En particular las

solicitudes QoS del bloque SE equivales a los servicios Web con el identificador SW5, SW76,

SW30, SW37.

En éste capítulo se muestran los resultados obtenidos en los casos de prueba agrupados por

solicitudes QoS.

Capítulo 4: Plan Experimental

47

4.3.1 Convención de nombres

La convención de nombres utilizada en este trabajo de investigación es la siguiente:

SSWQOS-CP-1.1.1

SSWQOS: Selección de Servicios Web con QoS.

CP Caso de prueba.

# Número del caso de prueba.

La siguiente lista define las características probadas:

La evaluación de cada medida de similitud y del recocido simulado sobre los datos

normalizados del dominio de Estadística Descriptiva con solicitudes QoS de los bloques

VB, VM, VA y SE.

La evaluación de cada medida de similitud y del recocido simulado sobre los datos

normalizados del dominio de Predicción Climatológica con requerimientos QoS de los

bloques VB, VM, VA y SE.

Conforme al diseño de la herramienta, es necesario que los servicios similarityFunctionUtilities,

simultedAnnealing, y normalizationFunction estén disponibles para su consumo mediante la

aplicación clienteWS.

A continuación se presentan las comparativas realizadas entre los casos de prueba más

representativos, con el objeto de mostrar de una manera gráfica los resultados de las pruebas.

Comparativa 1

Casos de prueba SSWQOS-CP-1.1.2, SSWQOS-CP-1.2.2, SSWQOS-CP-1.3.2, SSWQOS-CP-

1.4.2, SSWQOS-CP-1.5.2, SSWQOS-CP-1.6.2, SSWQOS-CP-1.7.2 detalle de los

casos en el Anexo B.

Descripción Se realiza el cálculo de la similitud de la solicitudQoS3, del bloque VB, con

respecto a los servicios del dominio de Predicción Climatológica. En esta

comparativa se presentan los datos completos de la comparación entre los casos de

prueba indicados

Resultado

Se calcula la similitud entre la solicitudQoS3 y cada servicio Web del dominio de Predicción

Climatológica, obteniendo una lista de valores de similitud por servicio, como se muestra en la

Tabla 4.3.

Capítulo 4: Plan Experimental

48

Tabla 4.3 Valor de la similitud de cada servicio con respecto a la SolicitudQoS3.

ID Dice Jaccard Distancia

Euclidiana Coseno Traslape Tversky

Recocido

Simulado SW1 0.3282 0.1730 0.3346 0.6051 2.0532 0.0274 0.7787

SW2 0.7064 0.4027 0.3183 0.7107 0.7943 0.1218 0.5282

SW3 0.5241 0.2886 0.3069 0.6276 1.1650 0.0519 0.5823

SW4 0.3964 0.2149 0.3217 0.6455 1.8810 0.0340 1.0108

SW5 0.5397 0.3065 0.4813 0.5862 0.8855 0.1358 1.0974

SW6 0.5425 0.3037 0.3016 0.6461 1.1877 0.0539 0.8134

SW7 0.5980 0.3808 0.4271 0.6321 0.8847 0.1357 0.9594

SW8 0.3501 0.1865 0.7081 0.4387 0.8807 0.1351 1.5365

SW9 0.5496 0.3095 0.4981 0.6131 0.9871 0.1514 0.8909

SW10 0.1499 0.0767 1.9746 0.4168 2.2408 0.3437 5.0520

SW11 0.4029 0.2183 0.5156 0.4239 0.5847 0.0897 1.2224

SW12 0.2479 0.1286 1.2593 0.4772 1.7039 0.2613 1.9966

SW13 0.2380 0.1257 1.1093 0.4059 1.2531 0.1922 2.6074

SW14 0.1070 0.0542 2.2189 0.3252 1.9227 0.2949 4.3800

SW15 0.5031 0.2721 0.6000 0.6158 1.1882 0.1822 1.5375

SW16 0.6105 0.4184 0.6791 0.9091 2.3569 0.3615 1.0397

SW17 0.9034 0.6913 0.1683 0.9044 0.9466 0.1325 0.1388

SW18 0.5935 0.3249 0.4501 0.6429 0.9644 0.1479 0.9439

SW19 0.6877 0.5089 0.5095 0.8864 1.8637 0.2858 0.7332

SW20 0.3263 0.1757 0.6039 0.3621 0.5760 0.0883 0.9147

SW21 0.9428 0.7186 0.1291 0.9441 0.9957 0.1373 0.2322

SW22 0.9385 0.7545 0.1301 0.9448 1.0604 0.1291 0.5576

SW23 0.5940 0.3243 0.3877 0.6030 0.7171 0.1100 0.5419

SW24 0.2039 0.1058 1.2720 0.3861 1.3515 0.2073 4.6606

SW25 0.8602 0.6322 0.2648 0.9336 1.4067 0.2157 0.5228

SW26 0.4948 0.2772 0.4850 0.5264 0.7510 0.1152 1.0560

SW27 0.8430 0.5680 0.1846 0.9255 1.4355 0.0915 0.4698

SW28 0.3496 0.1840 0.9408 0.5529 1.5513 0.2379 1.0963

SW29 0.8088 0.5097 0.3582 0.9632 1.7699 0.2714 0.5150

SW30 0.7690 0.5460 0.3299 0.8206 1.1811 0.1811 0.7567

En la Tabla 4.3 la primer columna muestra los identificadores de cada servicio contenido en el

domino de Predicción Climatológica, el resto de las columnas muestra el valor de similitud dado

a cada servicio por la medida de similitud indicada, con respecto de la SolicitudQoS3.

Los valores de similitud producto de cada medida son diferentes, y se debe tener precaución al

interpretarlos, como por ejemplo, para la Distancia Euclidiana y el Recocido Simulado el mejor

servicio es aquel cuyo valor de similitud es menor mientras que para Dice Jaccard, Coseno y

Tversky el servicio que mejor cubre los requerimientos debe tener el mayor valor de similitud. A

diferencia de las medidas anteriores Traslape considera como mejor servicio aquel que cuyo

valor de similitud es el más cercano a 1.

De acuerdo a lo anterior, no es posible comparar los valores de similitud directamente, así que la

comparación se hace de forma indirecta, para ello primero se ordenan los servicios de acuerdo a

su valor de similitud por cada medida evaluada. Cada lista va del servicio que más se acerca a los

requerimientos hasta el servicio que más difiere de lo solicitado. En la Tabla 4.4 se presenta la

lista de posición de los servicios con respecto a la SolicitudQoS3 para cada medida.

Capítulo 4: Plan Experimental

49

Tabla 4.4 Posiciones descendentes de los servicios Web más similares a la SolicitudQoS3.

No.

posición Dice Jaccard

Distancia

Euclidiana Coseno Traslape Tversky

Recocido

Simulado 1 SW21 SW22 SW21 SW29 SW21 SW16 SW17

2 SW22 SW21 SW22 SW22 SW9 SW10 SW21

3 SW17 SW17 SW17 SW21 SW18 SW14 SW27

4 SW25 SW25 SW27 SW25 SW17 SW19 SW29

5 SW27 SW27 SW25 SW27 SW22 SW29 SW25

6 SW29 SW30 SW6 SW16 SW5 SW12 SW2

7 SW30 SW29 SW3 SW17 SW7 SW28 SW23

8 SW2 SW19 SW2 SW19 SW8 SW25 SW22

9 SW19 SW16 SW4 SW30 SW3 SW24 SW3

10 SW16 SW2 SW30 SW2 SW30 SW13 SW19

11 SW7 SW7 SW1 SW6 SW6 SW15 SW30

12 SW23 SW18 SW29 SW4 SW15 SW30 SW1

13 SW18 SW23 SW23 SW18 SW2 SW9 SW6

14 SW9 SW9 SW7 SW7 SW26 SW18 SW9

15 SW6 SW5 SW18 SW3 SW13 SW21 SW20

16 SW5 SW6 SW5 SW15 SW23 SW5 SW18

17 SW3 SW3 SW26 SW9 SW24 SW7 SW7

18 SW15 SW26 SW9 SW1 SW25 SW8 SW4

19 SW26 SW15 SW19 SW23 SW11 SW17 SW16

20 SW11 SW11 SW11 SW5 SW20 SW22 SW26

21 SW4 SW4 SW15 SW28 SW27 SW2 SW28

22 SW8 SW8 SW20 SW26 SW28 SW26 SW5

23 SW28 SW28 SW16 SW12 SW12 SW23 SW11

24 SW1 SW20 SW8 SW8 SW29 SW27 SW8

25 SW20 SW1 SW28 SW11 SW19 SW11 SW15

26 SW12 SW12 SW13 SW10 SW4 SW20 SW12

27 SW13 SW13 SW12 SW13 SW14 SW6 SW13

28 SW24 SW24 SW24 SW24 SW1 SW3 SW14

29 SW10 SW10 SW10 SW20 SW10 SW4 SW24

30 SW14 SW14 SW14 SW14 SW16 SW1 SW10

En la Tabla 4.4 la posición no. 1 indica el servicio que mejor cubre los requerimientos de la

SolicitudQoS3 de acuerdo a cada medida, ejemplo el SW21 es el que mejor cubre los

requerimientos de la solicitud de acuerdo a Dice, Distancia Euclidiana y Traslape. En la tabla se

puede apreciar que las medida de similitud Dice y Jaccard tienen 15/30 coincidencias en el

posicionamiento de los servicios y un promedio de 21.2 coincidencias en las pruebas realizadas

sobre el dominio de predicción climatológica, estas medidas buscan cubrir en su totalidad los

requerimientos de la solicitud aunque esto implique seleccionar servicios con valores mayores a

los requeridos.

El valor normalizado de los atributos del mejor servicio Web seleccionado por cada medida y la

SolicitudQoS3 se muestra en la gráfica de la Figura 4.1.

Capítulo 4: Plan Experimental

50

Figura 4.1 Gráfica de los servicios mejor evaluados por las medidas respecto a la SolicitudQoS3.

En la gráfica de la Figura 4.1 se muestran los valores de los atributos de los mejores servicios

con respecto a la SolicitudQoS3. Se puede apreciar que la variación entre los atributos de los

servicios y la solicitud es mínima, ya que en todos los servicios, 5 de 8 de los atributos empatan

con los requerimientos de la solicitud.

Comparativa 2

Casos de prueba SSWQOS-CP-1.1.1, SSWQOS-CP-1.2.1, SSWQOS-CP-1.3.1, SSWQOS-CP-

1.4.1, SSWQOS-CP-1.5.1, SSWQOS-CP-1.6.1, SSWQOS-CP-1.7.1

Descripción Se realiza el cálculo de la similitud de la solicitudQoS3 para el dominio de

Estadística Descriptiva con respecto a los servicios de éste dominio.

Resultado

Se calcula la similitud entre la solicitudQoS3 y cada servicio Web del dominio de Estadística

Descriptiva, obteniendo una lista ordenada de los servicios que más satisfacen los requerimientos

de la solicitud hasta el servicio que mas difiere. Esto se realiza por cada medida de similitud. En

la Tabla 4.5 se muestran los servicios Web que ocupan las diez primeras posiciones dentro de las

listas.

Capítulo 4: Plan Experimental

51

Tabla 4.5 Los diez mejores servicios Web por medida de similitud con respecto a la solicitudQoS3

No.

posición Dice Jaccard

Distancia

Euclidiana Coseno Traslape Tversky

Recocido

Simulado 1 SW78 SW79 SW83 SW83 SW47 SW73 SW17

2 SW83 SW83 SW78 SW72 SW39 SW46 SW16

3 SW35 SW78 SW80 SW12 SW54 SW75 SW79

4 SW36 SW77 SW21 SW75 SW81 SW74 SW57

5 SW37 SW81 SW27 SW79 SW56 SW79 SW4

6 SW79 SW35 SW81 SW14 SW38 SW45 SW14

7 SW38 SW36 SW16 SW80 SW41 SW44 SW8

8 SW77 SW80 SW20 SW67 SW25 SW43 SW3

9 SW39 SW75 SW17 SW55 SW37 SW82 SW75

10 SW80 SW37 SW15 SW52 SW36 SW42 SW9

Como se puede apreciar en las listas de Dice y Jaccard de la Tabla 4.5 los resultados tienen

algunas coincidencias entre sí, lo que indica que es posible emplear cualquiera de las dos

medidas. Los servicios Web en la lista de cada medida cuentan con ocho valores de atributos de

calidad, los valores correspondientes a los servicios en las primeras diez posiciones y los

requerimientos de la solicitudQoS3 se presentan en la Figura 4.2. La lista completa del valor

normalizado de los atributos de los servicios Web del dominio de Estadística Descriptiva se

describe en el Anexo D.

Figura 4.2 Gráfica de los servicios mejor evaluados por las medidas respecto a la SolicitudQoS3 en el

dominio de Estadística Descriptiva.

Capítulo 4: Plan Experimental

52

En la gráfica de la Figura 4.2 se puede apreciar que los servicios SW73 y SW47 tienen atributos

con valores muy diferentes en la mayoría de sus atributos. Sin embargo en la Tabla 4.6 se puede

ver que las medidas de Traslape y Tversky los posicionan en el primer lugar, mientras que el

resto de servicios permanece más cercano a los requerimientos solicitados.

Comparativa 3

Casos de prueba SSWQOS-CP-1.1.1, SSWQOS-CP-1.2.1, SSWQOS-CP-1.3.1, SSWQOS-

CP-1.4.1, SSWQOS-CP-1.5.1, SSWQOS-CP-1.6.1, SSWQOS-CP-1.7.1

Descripción

Se realiza el cálculo de la similitud de la solicitudQoS9 del bloque VM para

el dominio de Estadística Descriptiva con respecto a los servicios de éste

dominio.

Resultado

De la lista ordenada de los servicios que más satisfacen los requerimientos de la solicitud

SolicitudQoS9 hasta el servicio que más difiere de ella, se tomaron los diez mejores por medida

de similitud y se presentan en la Tabla 4.6

Tabla 4.6 Los diez mejores servicios Web por medida de similitud con respecto a la solicitudQoS9.

No.

posición Dice Jaccard

Distancia

Euclidiana Coseno Traslape Tversky

Recocido

Simulado 1 SW73 SW45 SW47 SW27 SW46 SW74 SW47

2 SW45 SW73 SW44 SW24 SW44 SW73 SW71

3 SW47 SW44 SW45 SW28 SW45 SW46 SW43

4 SW44 SW47 SW43 SW26 SW79 SW45 SW41

5 SW46 SW46 SW42 SW80 SW43 SW44 SW69

6 SW43 SW43 SW41 SW23 SW75 SW47 SW50

7 SW42 SW75 SW39 SW68 SW76 SW43 SW65

8 SW41 SW42 SW73 SW22 SW73 SW82 SW44

9 SW74 SW41 SW38 SW25 SW82 SW75 SW42

10 SW39 SW74 SW50 SW21 SW47 SW42 SW38

Como se puede apreciar en la Tabla 4.6 los servicios SW73, SW45, SW47, SW27, SW46 y

SW74 corresponden al servicio que mejor satisface los requerimientos de la SolicitudQoS9, de

acuerdo a las medidas de similitud. Los valores de los atributos QoS de estos servicios y de la

solicitudQoS9 se presentan en la Figura 4.3.

Capítulo 4: Plan Experimental

53

Figura 4.3 Gráfica de los servicios mejor evaluados por las medidas respecto a la SolicitudQo9.

En la Distancia Euclidiana se selecciona como mejor servicio aquel cuyos valores de calidad no

difieran mucho de los requerimientos, aunque sus valores tiendan a estar por debajo de los

valores requeridos. Por ejemplo los valores de los atributos del servicio SW47 son bajos pero

tienen menor variación respecto los requerimientos de la solicitudQoS9 que el resto de los

servicios.

Comparativa 4

Caso de prueba SSWQOS-CP-1.1.1, SSWQOS-CP-1.2.1, SSWQOS-CP-1.3.1, SSWQOS-

CP-1.4.1, SSWQOS-CP-1.5.1, SSWQOS-CP-1.6.1, SSWQOS-CP-1.7.1

Descripción Se realiza el cálculo de la similitud de la solicitudQoS13 del bloque VA para

el dominio de Estadística Descriptiva con respecto a los servicios de éste

dominio.

Resultado

Posterior al cálculo de la similitud entre la solicitudQoS13 y cada servicio Web del dominio, se

ordenan los servicios de mayor a menor similitud, los diez mejores servicios de acuerdo a cada

medida se presentan en la Tabla 4.7.

Capítulo 4: Plan Experimental

54

Tabla 4.7 Los diez mejores servicios Web por medida de similitud con respecto a la solicitudQoS13.

No.

posición Dice Jaccard

Distancia

Euclidiana Coseno Traslape Tversky

Recocido

Simulado 1 SW73 SW73 SW73 SW27 SW74 SW74 SW73

2 SW74 SW74 SW46 SW26 SW75 SW73 SW74

3 SW46 SW46 SW74 SW28 SW73 SW46 SW44

4 SW45 SW45 SW45 SW24 SW82 SW45 SW46

5 SW44 SW44 SW44 SW68 SW46 SW44 SW82

6 SW47 SW47 SW47 SW25 SW79 SW47 SW42

7 SW43 SW43 SW43 SW23 SW45 SW43 SW69

8 SW42 SW42 SW42 SW34 SW44 SW82 SW75

9 SW82 SW82 SW41 SW22 SW43 SW42 SW47

10 SW41 SW75 SW62 SW47 SW76 SW75 SW45

Los servicios Web presentados en la Tabla 4.7 corresponden a los primeros diez servicios que

más cubren los requerimientos de la solicitudQoS13. El coeficiente de Traslape mantiene cierta

correspondencia con las otras medidas que contemplan en las tres primeras posiciones al servicio

SW74, a excepción del coeficiente del Coseno.

Figura 4.4 Gráfica de los servicios mejor evaluados por las medidas respecto a la SolicitudQoS13

Como se puede apreciar en los servicios de la gráfica de la Figura 4.4, las medidas de Traslape y

Tverky consideran que SW74 cubre mejor los requerimientos. Lo anterior se debe a que en el

caso de Traslape, la fórmula considera el menor de los valores del conjunto de valores de QoS

para realizar la selección. En el caso de Tversky se debe también a que no existen atributos

ausentes en uno u otro y que sus valores tienen un comportamiento similar.

Capítulo 4: Plan Experimental

55

Comparativa 5

Caso de prueba SSWQOS-CP-1.1.1, SSWQOS-CP-1.2.1, SSWQOS-CP-1.3.1, SSWQOS-CP-

1.4.1, SSWQOS-CP-1.5.1, SSWQOS-CP-1.6.1, SSWQOS-CP-1.7.1

Descripción Se realiza el cálculo de la similitud de la solicitudQoS15 del bloque VA para

el dominio de Estadística Descriptiva con respecto a los servicios de éste

dominio.

Resultado

Se calcula la similitud entre la solicitudQoS15 y cada servicio Web del dominio de Estadística

Descriptiva. En la Tabla 4.8 se muestran los servicios Web que ocupan las diez primeras

posiciones dentro de las listas.

Tabla 4.8 Los diez mejores servicios Web por medida de similitud con respecto a la solicitudQoS15.

No.

posición Dice Jaccard

Distancia

Euclidiana Coseno Traslape Tversky

Recocido

Simulado 1 SW73 SW73 SW73 SW24 SW74 SW74 SW73

2 SW74 SW74 SW46 SW27 SW46 SW73 SW45

3 SW46 SW46 SW74 W68 SW73 SW46 SW47

4 SW45 SW45 SW45 SW26 SW75 SW45 W46

5 SW44 SW44 SW44 SW28 SW82 SW44 SW74

6 SW47 SW47 SW47 SW23 SW79 SW47 SW42

7 SW43 SW43 SW43 SW25 SW45 SW43 SW82

8 SW82 SW82 SW42 SW22 SW44 SW82 SW43

9 SW42 SW42 SW41 SW34 SW43 SW42 SW41

10 SW75 W75 SW82 SW47 SW76 SW75 SW50

El valor de los atributos de calidad de éstos servicios y la SolicitudQoS15que se listan en la

gráfica de la Figura 4.5.

Figura 4.5 Gráfica de los servicios mejor evaluados por las medidas respecto a la SolicitudQoS15.

Capítulo 4: Plan Experimental

56

En general la medida de Coseno mantiene cierta correspondencia con los resultados de las otras

medidas de similitud, sin embargo, algunas veces puede generar falsos positivos, es decir, el

servicio que identifica como el mejor, no necesariamente cubre los requerimientos de la

solicitud. Esto se debe a que el coeficiente del Coseno evalúa como similar a un elemento cuyo

ángulo es igual a cero y que mantiene la proporción entre los valores, seleccionando con esto

aquel servicio en el que sus valores tengan una proporción con los valores de la SolicitudQoS.

En la gráfica de la figura 4.5 podemos notar que para las medidas de Dice, Jaccard, Distancia

Euclidiana y Recocido Simulado el mejor servicio es el SW73 con cinco atributos cercanos a los

requeridos, para Tversky y Traslape el más recomendable es SW74 también con cinco atributos

más cercanos, mientras que Coseno indica que el mejor es el SW24 el cual ciertamente está más

lejos que los otros servicios, esto porque el ángulo que forma tiende a cero. Esto hace del

coeficiente del Coseno una medida no recomendable en la solución del problema planteado en

este trabajo de investigación.

Comparativa 6

Caso de prueba SSWQOS-CP-1.1.1, SSWQOS-CP-1.2.1, SSWQOS-CP-1.3.1, SSWQOS-CP-

1.4.1, SSWQOS-CP-1.5.1, SSWQOS-CP-1.6.1, SSWQOS-CP-1.7.1

Descripción Se realiza el cálculo de la similitud de la solicitudQoS20 para el dominio de

Estadística Descriptiva con respecto a los servicios de éste dominio. En esta

comparativa.

Resultado

La SolicitudQoS20 pertenece al bloque SE, en esta comparativa se muestra el comportamiento

de las medidas de similitud cuando existe un servicio que empata completamente con los

requerimientos solicitados. Los diez mejores servicios de acuerdo a cada medida de similitud se

presentan en la Tabla 4.9.

Tabla 4.9 Los diez mejores servicios Web por medida de similitud con respecto a la solicitudQoS20.

No.

posición Dice Jaccard

Distancia

Euclidiana Coseno Traslape Tversky

Recocido

Simulado 1 SW76 SW76 SW76 SW76 SW76 SW46 SW76

2 SW65 SW9 SW9 SW9 SW21 SW76 SW54

3 SW62 SW65 W65 SW1 SW45 SW45 SW13

4 SW66 W66 SW66 SW2 SW65 SW62 SW4

5 SW9 SW10 SW62 SW10 SW61 SW44 SW16

6 SW50 SW62 SW60 SW11 SW34 SW73 SW24

7 SW60 SW11 SW11 SW3 SW35 SW65 SW27

8 SW11 SW50 SW10 SW8 SW66 SW66 SW20

9 SW61 SW60 SW50 SW4 SW33 SW50 SW49

10 SW10 SW61 SW61 SW5 SW20 SW74 SW52

Como se puede apreciar en los resultados de la Tabla 4.9 la mayoría de las medidas se comportan

consistentemente cuando existe un servicio idéntico a la solicitud dentro del dominio requerido,

exceptuando la medida de Tversky. Este comportamiento se debe a con la fórmula de Tversky

Capítulo 4: Plan Experimental

57

permite seleccionar el servicio que mejor cubre los requerimientos de la solicitud tomando

cuenta tanto las características que tienen en común como las que uno tiene y el otro no y

viceversa. Sin embargo en este trabajo de investigación se asume que tanto el vector de

requerimientos como el de la solicitud poseen la misma longitud y los mismos atributos; solo

varían en valores.

Esta medida ofrece la posibilidad de emplearla en condiciones en las cuales se les pueda un peso

a los atributos de los servicios Web.

Los valores de los atributos de los mejores servicios Web seleccionados y la SolicitudQoS20 se

muestran Figura 4.6.

Figura 4.6 Gráfica de los atributos de los mejores servicios y la SolicitudQoS20.

Ejecutar la solicitud QoS con los valores de una solución existente en el Banco de Pruebas,

permite comparar el comportamiento de las medidas con respecto a las solicitudes, así como la

correspondencia entre ellas. Posiblemente la medida de Tversky arrojaría mejores resultados en

los casos en que debe haber atributos que no existan en alguno ya sea en la solicitud o en el

servicio.

Comparativa 7

Caso de prueba SSWQOS-CP-1.1.2, SSWQOS-CP-1.2.2, SSWQOS-CP-1.3.2, SSWQOS-CP-

1.4.2, SSWQOS-CP-1.5.2, SSWQOS-CP-1.6.2, SSWQOS-CP-1.7.2

Descripción Se realiza el cálculo de la similitud de la solicitudQoS22 para el dominio de

Predicción Climatológica con respecto a los servicios de éste dominio.

Capítulo 4: Plan Experimental

58

Resultado

Posterior al cálculo de la similitud entre la solicitudQoS22 y cada servicio Web del dominio, se

ordenan los servicios de mayor a menor similitud, los diez mejores servicios de acuerdo a cada

medida se presentan en la Tabla 4.10.

Tabla 4.10 Los diez mejores servicios Web por medida de similitud con respecto a la solicitudQoS22.

No.

posición Dice Jaccard

Distancia

Euclidiana Coseno Traslape Tversky

Recocido

Simulado 1 SW28 SW28 SW28 SW28 SW28 SW10 SW28

2 SW12 SW12 SW12 SW23 SW8 SW14 SW12

3 SW15 SW18 SW18 SW18 SW25 SW12 SW5

4 SW18 SW15 SW15 SW1 SW29 SW28 SW20

5 SW9 SW23 SW23 SW12 SW12 SW13 SW8

6 SW23 SW9 SW9 SW2 SW7 SW24 SW26

7 SW8 SW2 SW2 SW3 SW11 SW15 SW15

8 SW13 SW8 SW5 SW4 SW20 SW18 SW18

9 SW10 SW13 SW8 SW15 SW30 SW8 SW17

10 SW5 SW10 SW26 SW6 SW15 SW9 SW30

La gráfica comparativa de los atributos de calidad de los mejores servicios Web seleccionados y

la solicitudQoS22 se muestra en el Figura 4.7.

Figura 4.7 Gráfica de los atributos de los mejores servicios y la SolicitudQoS20.

Como se puede apreciar tanto en la gráfica de la Figura 4.7 como en la Tabla 4.10 el recocido

simulado tiene cierta correspondencia con los resultados de la medida de Distancia Euclidiana, a

pesar de que su enfoque sea heurístico. Esto se debe a que la función objetivo empleada por el

recocido simulado es precisamente la Distancia Euclidiana y a que los valores del dominio sobre

los que se efectúa el cálculo son datos normalizados que se agrupan en un rango determinado.

Capítulo 4: Plan Experimental

59

Cabe la posibilidad de que al emplear el recocido simulado sobre el dominio sin normalizar los

resultados generados tengan gran variabilidad, esto dependerá del dominio y el número de

atributos a comparar.

4.4 Análisis de resultados

El estudio efectuado en esta investigación pretende identificar cuál o cuáles de las medidas de

similitud implementadas en este trabajo de investigación es la que refleja la mejor similitud entre

las características de cada servicio y lo solicitado por un usuario.

Para indicar cual medida es la que mejor resultado de similitud produce entre dos conjuntos de

valores es necesario efectuar una comparación entre los elementos de cada conjunto para

identificar cuál de ellas preserva un comportamiento tal que permita obtener un valor de

similitud total lo más cercano a lo solicitado.

La ejecución de las pruebas y el análisis de los datos proporcionados permitieron efectuar una

serie de comparaciones entre las listas ordenadas de servicios por cada medida de similitud

aplicada y posteriormente se efectuó una comparación por cada característica dentro de los

conjuntos de atributos.

La comparación de las listas con respecto a las solicitudes QoS del bloque VB (valores bajos)

permitió identificar coincidencias entre los resultados, con respecto a la primer posición, la cuál

indica el mejor servicio Web seleccionado. Para este bloque el 47.61% de las medidas coincidió

en la primera posición.

En la Tabla 4.11 se muestra el promedio de coincidencias que se obtuvo para cada conjunto de

casos de prueba por cada bloque de valores establecido.

Tabla 4.11 Promedio de coincidencias por bloque de valores.

Bloque Predicción

Climatológica Estadística

Descriptiva

VB 47.61904762 30.95238095

VM 47.61904762 50

VA 54.76190476 54.76190476

SE 78.57142857 82.14285714

Las pruebas permitieron identificar también que de las medidas de similitud en estudio, el

coeficiente de Dice y el Coeficiente de Jaccard mantienen comportamiento uniforme entre sí, ya

que se obtuvo para ambas un promedio de 21.2 coincidencias entre los resultados para el

dominio de predicción climatológica y un promedio de 49.4 coincidencias en el dominio de

estadística descriptiva. Dado lo anterior al aplicar las medidas de similitud de Dice y Jaccard se

presentan más coincidencias si el conjunto de servicios Web sobre los que se realiza la prueba es

Capítulo 4: Plan Experimental

60

menor. La aplicación de estas medidas en la selección de servicios Web se puede efectuar de

manera conjunta para obtener mejores resultados.

La aplicación de la Distancia Euclidiana afecta la selección de tal manera que aquellos servicios

Web que mejor cubren los requerimientos de la solicitud son los que están más cercanos, aunque

eso implique que los valores de los atributos de calidad de los servicios sea menor a los

requeridos.

De acuerdo con las pruebas realizadas, el coeficiente de Traslape es una de las medidas en la que

se debe tener especial atención para ordenarlos, ya que los valores de similitud generados pueden

ser mayores o menores que el valor de máxima similitud, el cual para los casos de prueba

realizados es igual a 1. Por lo tanto se debe seleccionar aquel que tienda a un valor cercano a 1 y

no necesariamente el de mayor valor. Lo que hace necesario la implementación de una función

extra que permita generar la lista ordenada de servicios. El coeficiente del Coseno es la otra

medida, cuyo empleo en la selección de servicios Web no se recomienda, a pesar de tener cierta

correspondencia con los resultados de las otras medidas. Su aplicación permite obtener falsos

positivos, esto es, es posible que nos indique que cierto servicio W cubre la solicitud S,

únicamente porque ambos mantienen una relación de proporción entre sus valores de calidad y el

valor del ángulo que forman es cero. Su empleo nos puede conducir a seleccionar un servicio

Web que no sea el adecuado.

El coeficiente de Tversky en estas pruebas no ha producido resultados muy asertivos en el

proceso de selección, sobre todo para las solicitudes del bloque SE en ambos dominios. Esto se

debe a que las pruebas se efectuaron sobre un conjunto determinado de atributos de calidad no

variable, y se asumió que todos tienen un valor cuantitativo diferente de cero. La aplicación de la

medida de Tversky al bloque SE para ambos dominios generó cero aciertos en cuanto al mejor

servicio y un 75% de que el servicio que empata completamente los requerimientos de calidad

aparezca dentro de la primera mitad de las soluciones posibles. Sin embargo, se prevé que el

coeficiente de Tversky puede ser es altamente recomendable para casos en que es posible una

variación en la cantidad de los atributos de calidad de cada servicio Web y la presencia o

ausencia de los atributos en los requerimientos.

A pesar de su naturaleza heurística el recocido simulado ha permitido seleccionar aquellos

servicios Web que cubren mejor la calidad requerida en la solicitud de un usuario. Esta medida

identificó que para el bloque VB, 4 de cada 5 solicitudes que la distancia euclidiana ubica en la

primera posición, el algoritmo de recocido simulado las ubica entre las primeras 4 posiciones. A

pesar del tamaño de la muestra los resultados proporcionados por este algoritmo que emplea la

Distancia Euclidiana como función objetivo, permiten ver que es posible aplicarlo a un conjunto

de casos de prueba mayor con el objeto de realizar un primer filtro en los servicios a evaluar para

posteriormente aplicar cualquiera de las otras fórmulas, esto permitiría complementar un

esquema de selección de servicios en muestras de gran tamaño.

CA

PÍT

UL

O 5

5 Conclusiones y Trabajos

Futuros

En este capítulo se describen las conclusiones de este trabajo, así

como las aportaciones y trabajos futuros. El capítulo se encuentra

organizado en los siguientes subtemas:

6.1 Conclusiones.

6.2 Trabajos futuros.

Capítulo 5: Conclusiones y Trabajos Futuros

62

5.1 Conclusiones

El presente trabajo se abordó el problema de la selección de servicios Web con base a sus

atributos de calidad. Como resultado de este trabajo de investigación se muestra que es factible

dada una solicitud de requerimientos de calidad por parte de un usuario, seleccionar de entre un

conjunto de servicios Web aquel o aquellos servicios que satisfacen mejor los requerimientos

solicitados. Esto mediante el uso de medidas de similitud.

En este trabajo se propone evaluar el comportamiento de un conjunto de siete medidas de

similitud. Por cada medida evaluada en los casos de prueba se muestra una lista de servicios

ordenados con base en su similitud respecto una solicitud de requerimientos de calidad. Esto

permite a un usuario elegir una medida de similitud y los mejores servicios dados por ésta.

Para validar la propuesta se implementó un cliente de servicios Web que y tres servicios Web

que implementan las medidas de similitud. Además se desarrollo un conjunto de datos de

pruebas que consisten en veintidós solicitudes de requerimientos QoS para el dominio de

Estadística Descriptiva y veintidós solicitudes para el dominio de Predicción Climatológica. En

general se efectuaron cuarenta y cuatro casos de prueba sobre el Banco de Pruebas. Con base en

los resultados obtenidos por las pruebas se identifico lo siguiente:

1. Las pruebas y su respectivo análisis permitieron evaluar un subconjunto de medidas de

similitud aplicables al proceso de selección de servicios Web, cumpliendo con ello el

objetivo de este trabajo de investigación.

2. Se presenta una comparación entre los elementos de cada conjunto de atributos para

identificar cuál de las medidas propuestas es la que presenta un comportamiento tal que,

permita obtener un valor de similitud total lo más cercano a los requerimientos de un

usuario. Así mismo, se analizó cada una de las medidas de similitud en su aplicación a la

selección de servicios Web. Este análisis proporciona una referencia para considerar

agrupar las medidas de similitud para extender su estudio de tal forma que se puedan

crear grupos de casos de prueba o instancias para las cuales cada medida de similitud

genere los mejores resultados.

3. Con respecto a los resultados de la comprobación de la hipótesis presentada en el

Capítulo 4, se encontró que no todas las medidas producen diferentes resultados. Debido

a esto, no se puede determinar cual medida es la mejor. Sin embargo, si existen algunos

comportamientos muy similares entre algunas funciones tales como Dice y Jaccard.

4. Se identificó que el uso de algoritmos heurísticos como el recocido simulado en el

proceso de selección de servicios puede apoyar mejor en casos donde la cantidad de

servicios a evaluar sea muy grande.

5. Se determinó que cada medida presenta un comportamiento diferente, pero existe una

mínima relación entre algunas de ellas, tal es el caso del coeficiente de Dice y Jaccard.

6. Es probable que el uso de un criterio que indique el rango de calidad aceptable permita

dar mejores resultados al emplear una medida de similitud en el proceso de selección de

SW. Esto permitirá proporcionar al usuario no sólo la posibilidad de elegir la

Capítulo 5: Conclusiones y Trabajos Futuros

63

funcionalidad y la calidad de un servicio, sino también elegir los rangos de tolerancia en

la calidad buscada.

7. El empleo de medidas de similitud en el proceso de selección de servicios, permitirá

mejores resultados sí se emplean en forma conjunta y se incluyen criterios de

restricciones o pesos para los atributos de calidad.

5.2 Trabajos futuros

En la literatura existen muchas más medidas de similitud de las que fueron objeto de estudio de

esta tesis y que también pueden ser utilizadas en la selección de servicios Web. Uno de los

trabajos futuros que se propone es precisamente el incluir más medidas y extender su evaluación

en un proceso de selección, así mismo evaluar si la combinación de estas pueda producir una

selección de servicios web precisa.

Debido a la necesidad de incluir nuevas funciones de selección, se propone como trabajo futuro

el desarrollo de nuevos módulos que extiendan la arquitectura de servicios Web desarrollada en

este trabajo de tesis. Dichos módulos proveerán de nuevos cálculos de medidas de similitud y

funciones de normalización, los cuales permitirán efectuar los cálculos de similitud entre

conjuntos de datos de manera independiente y directa o conjunta empleando algún algoritmo

como el recocido simulado que incluye una función objetivo que puede ser sustituida por otra

función objetivo representada por cualquiera de las funciones de similitud.

En este trabajo se realizaron pruebas alternas para determinar la normalización a utilizar, de estas

pruebas se puede determinar que es necesario realizar un estudio sobre el nivel de afectación de

las funciones de normalización sobre un conjunto de datos y su eficiencia para reflejar en los

datos normalizados la realidad de los casos de prueba.

El banco de pruebas actual contiene WSDLs de servicios Web de dos dominios de aplicación, y

con la inclusión de nuevas funciones de selección, surge la necesidad de incrementar tanto el

número de servicios Web como los dominios disponibles en el banco. Es por esta necesidad que

se propone como trabajo fututo implementar un sistema que permita extender el banco de

pruebas a través de una UDDI o Base de Datos.

La inclusión de las propuestas anteriores incrementará el volumen de datos a analizar, cada una

de las solicitudes, el número de funciones de selección y dominios de servicios Web que se

utilicen. Este incremento del volumen de datos crea un problema computacional que fue

detectado en esta tesis y que se considera de vital importancia al momento de presentar

resultados. Dado el posible incremento de las funciones de selección y del volumen de datos a

analizar, se propone como trabajo futuro desarrollar una plataforma que permita realizar un

análisis más rápido de los resultados, de tal forma que se puedan identificar indicadores como el

nivel de afectación que representa emplear diferentes normalizaciones en el cálculo de la

Capítulo 5: Conclusiones y Trabajos Futuros

64

similitud. Con esta plataforma se podrá no sólo identificar cual normalización es aquella que

aparte de proveer un conjunto de datos homogéneos, altera mínimamente sus características sino

también poder realizar varios estudios aplicados a nuevos dominios del banco de datos.

Así mismo, se propone como trabajo futuro la tipificación de casos prueba para la evaluación de

las medidas de similitud que permitan mejorar el beneficio otorgado por éstas, así mismo el

empleo de restricciones en la calidad de los servicios.

Anexo A Escenarios de los Casos de Uso

65

Anexo A Escenarios de los casos de uso

En este anexo se muestran las tablas en las que se describen los escenarios para los casos de uso

mencionados en el Capítulo 3.

Tabla A.1 DCU1 Evaluación de similitud en base a QoS de servicios Web.

ID: CU1

Nombre: Evaluación de similitud en base a QoS de servicios Web

Autor: Sánchez González Guadalupe Ariana

Fecha de creación: 07-abril-2010

Última Modificación: 07-abril-2010

Actores: Usuario

Descripción: Se encarga de realizar el cálculo de un algoritmo de selección (coeficiente Coseno,

Dice, Jaccard, Distancia Euclidiana, Inversa de Distancia Euclidiana, Tversky,

Simulated Annealing) sobre la descripción-de-requerimientos(solicitud de

requerimientos QoS) y el vector-QoSSW normalizados (valor normalizado de los

atributos del servicio Web).

Precondiciones: Vectores no vacios

Tamaño de valores QoS debe corresponder entre la descripción-de-requerimientos y

el vector-QoSSW.

Pos condiciones: vector-resultado de datos QoS con valores de similitud.

Escenario de éxito

principal

1. Recibir la solicitud del cálculo, la descripción-de-requerimientos y el vector-

QoSSW.

2. Efectuar el cálculo solicitado (coeficiente Coseno, Dice, Jaccard, Distancia

Euclidiana, Inversa de Distancia Euclidiana, Tversky, simulated annealing)

sobre la descripción-de-requerimientos contra cada registro del vector-

QoSSW.

3. Almacenar el resultado del cálculo por registro en un vector-resultado, el

cual debe tener la misma longitud que el vector-QoSSW.

4. Muestra el vector-Resultado.

Prioridad Alta.

Suposiciones

El conjunto de servicios Web y la solicitud de requerimientos QoS contiene la misma

cantidad de atributos de calidad.

El conjunto de datos de entrada se encuentra normalizados.

Se cuenta con una conexión estable al servidor donde reside el servicio Web.

Anexo A Escenarios de los Casos de Uso

66

Tabla A.2 DCU1.2 Normalizar Valores QoS de servicios Web.

ID: CU2

Nombre: Normalizar Valores QoS de servicios Web

Autor: Sánchez González Guadalupe Ariana

Fecha de creación: 07-abril-2010

Última Modificación: 07-abril-2010

Actores: CU1.1

Descripción: Se encarga de aplicar el cálculo de una función de normalización (normalizacion1,

normalizacion2, normalizacion3, normalizacion4) sobre la descripción-de-

requerimientos y el vector-QoSSW.

Precondiciones: Vectores no vacios

Tamaño de valores QoS debe corresponder entre la descripción-de-requerimientos y

el vector-QoSSW.

Pos condiciones: Obtener un vector-normalizado de datos QoS de longitud variable.

Escenario de éxito

principal

1. Recibir la solicitud del cálculo de normalización (normalizacion1,

normalizacion2, normalizacion3, normalizacion4), la descripción-de-

requerimientos y vector-QoSSW.

2. Efectuar el cálculo sobre la descripción-de-requerimientos y el vector-

QoSSW.

3. Almacenar el resultado del cálculo por registro en el vector-normalizado.

4. Generar el vector-normalizado.

Prioridad Alta.

Suposiciones

El conjunto de servicios Web y la solicitud de requerimientos QoS contiene la misma

cantidad de atributos de calidad.

Se cuenta con una conexión estable al servidor donde reside el servicio Web.

Anexo B Plan de pruebas SSWQOS

67

Anexo B Plan de pruebas SSWQOS

B.1. Plan experimental SSWQOS

Para identificar el o los algoritmos más efectivos en el proceso de selección de servicios Web

mediante atributos QoS que cumplan mejor los requerimientos de calidad de un usuario, se

propone llevar a cabo el plan experimental que se describe en este documento integrado por la

hipótesis a probar, el diseño de pruebas y la descripción de los casos de pruebas.

B.1.1 Elementos a probar

Los siguientes elementos se definen con el propósito de llevar a cabo las pruebas.

B.1.1.1 Conjunto de atributos QoS de servicios Web

Los atributos de calidad utilizados en esta investigación se listan en la tabla 4 de la sección 2.3.

B.1.1.2Características a ser probadas

Este plan experimental describe las pruebas para identificar el comportamiento de las medidas de

similitud mediante la evaluación de los requerimientos del usuario y los valores QoS de los

servicios Web.

B.1.1.3 Características excluidas de las pruebas

El correcto funcionamiento de las funciones de normalización de valores QoS de servicios Web.

La confiabilidad o cualquier otra característica del ClienteWS desarrollado.

Los valores de los atributos QoS de los servicios Web y del Usuario.

B.1.1.4 Enfoque

En este plan experimental las pruebas sobre el comportamiento de los atributos QoS de los

servicios Web se basan en el enfoque de caja negra, debido a la naturaleza de los servicios,

donde solo se consideran los resultados y no el proceso interno del servicio.

B.1.1.5 Criterio aceptado/no aceptado

Se considera que una prueba pasa con éxito cuando los resultados esperados coincidan con los

descritos en el caso de prueba.

B.1.1.6 Criterio de suspensión y requerimientos de reanudación

En ningún caso se suspenderán definitivamente las pruebas. Cada vez que se presente que el caso

no pasa una prueba, inmediatamente se procederá a evaluar y corregir el error, permaneciendo en

la prueba de este caso hasta que ya no se presenten dificultades con él.

B.1.1.7 Liberación de pruebas

Para aceptar las pruebas son suficientes los resultados de ejecución de los servicios especificados

en cada prueba.

Anexo B Plan de pruebas SSWQOS

68

B.1.1.8 Tareas de pruebas

Tabla B.1.1.8.1 Tareas a desarrollar para preparar y aplicar las pruebas

Tarea Precedente Habilidades especiales Responsa-

bilidades

1. Preparación del

plan de pruebas.

Terminación del análisis y

diseño de los servicios

NormalizationFunction,

SimilarityFunctionUtilities.

Conocimiento sobre las medidas de similitud y

recocido simulado, la herramienta desarrollada

y del IEEE Std. 829 (37).

Autor

2. Preparación del

diseño de pruebas. Tarea 1

Conocimiento sobre los atributos QoS de los

servicios Web y sus valores y los cálculos de

las funciones de similitud.

Autor

3. Preparación de

los casos de prueba. Tarea 2

Conocimiento básico de conjuntos y de la

interfaz al usuario de la herramienta. Autor

4. Aplicación de

pruebas. Tarea 3

Conocimiento del entorno y de la interfaz al

usuario para su ejecución. Autor

5. Resolver los

incidentes de

pruebas.

Tarea 4

Conocimiento del lenguaje de programación

Java y XML, de loS servicios web, de

Framework para Java, de conjuntos

matemáticos.

Autor

6. Evaluación de

resultados.

Tarea 4

Tarea 5

Conocimiento de las preguntas de

investigación, la hipótesis de prueba, y los

objetivos de esta investigación.

Autor

B.1.1.9 Requisitos ambientales

Las características y propiedades físicas (tabla 1) y lógicas (tabla 2 y 3) requeridas para el

ambiente de pruebas, son las siguientes:

Tabla B.1.1.9.1 Requisitos de Hardware para las pruebas

Equipo Descripción

PC de Escritorio

Procesador Intel P4 o superior.

1GB de memoria RAM o superior.

80G en Disco duro.

Windows XP

Servidor

Procesador Intel P4 o superior.

2GB de memoria RAM o superior.

Cuota de 50G en Disco duro.

Ubuntu 9 o superior

Infraestructura de Red Banda ancha de 512 MBits o superior con acceso a Internet

Tabla B.1.1.9.2 Requisitos de Software para las pruebas

Software

Eclipse v 3.5

Servidor de aplicación Apache Tomcat v 5.5 o superior

Tabla B.1.1.9.3 Otros requisitos para las pruebas

Otros

Banco de Pruebas de servicios Web basado en QoS [Cab08].

Anexo B Plan de pruebas SSWQOS

69

B.1.1.10 Responsabilidades

La persona responsable de efectuar las pruebas será la ISC. Guadalupe Ariana Sánchez

González, quien se encargara desarrollar los servicios Web necesarios y comparar los resultados

de los casos de pruebas con los resultantes de la ejecución de las pruebas.

B.1.1.11 Riesgos

En la planificación de las pruebas se prevén posibles atrasos. Entre las posibles fuentes de atraso

se encuentran:

Atraso en la realización de los casos de prueba

Caso de prueba incorrecto, es posible que algún caso de prueba sea incorrecto debido a la

naturaleza de los algoritmos.

Atraso en la corrección de los errores detectados durante la ejecución de las pruebas y su

resolución.

B.1.1.12 Aprobación

El plan experimental debe ser aprobado por el M. en C. Olivia Fragoso Díaz y el Dr. en C. René

Santaolaya Salgado.

B.2 Casos de Prueba

Nota: Los valores empleados para la realización de estas pruebas pueden variar dependiendo los

valores reales contenidos en los WSDL de los servicios Web del repositorio [Cab08].

B.2.1 Características a probar

La siguiente lista define las características a ser probadas:

La evaluación de cada medida de similitud y del recocido simulado sobre los datos

normalizados: se refiere a un correcto cálculo en base a la función de similitud y

algoritmo de recocido simulado sobre los datos previamente normalizados.

SSWQOS-CP-1 La evaluación de cada medida de similitud y del recocido simulado

sobre los datos normalizados

SSWQOS-CP-1.1 Probar el cálculo del coeficiente de Dice.

SSWQOS-CP-1.2 Probar el cálculo del coeficiente de Jaccard.

SSWQOS-CP-1.3 Probar el cálculo de la función de Distancia Euclidiana.

SSWQOS-CP-1.4 Probar el cálculo de la función de la Inversa de la Distancia

Euclidiana.

SSWQOS-CP-1.5 Probar el cálculo de la función de Coseno.

SSWQOS-CP-1.6 Probar el cálculo de la función de Traslape.

SSWQOS-CP-1.7 Probar el cálculo de la función de Tversky.

SSWQOS-CP-1.8 Probar el cálculo del algoritmo de Recocido Simulado.

Anexo B Plan de pruebas SSWQOS

70

B.2.2 Procedimiento de pruebas

A continuación se presenta la descripción de los procedimientos de pruebas correspondientes a

los distintos casos de prueba que conforman el presente plan experimental. Los distintos casos

de pruebas se encuentran organizados en grupos de pruebas cuyo objetivo es validar y verificar

los cálculos de normalización, medidas de similitud y el algoritmo de recocido simulado.

Para cada uno de los casos de prueba se describe el propósito del caso, el entorno necesario para

la ejecución del caso, el procedimiento de la prueba y los resultados esperados. Por restricción

de espacio únicamente se definirá en este anexo un caso de prueba genérico, el cual se aplicará a

cada medida de similitud. El caso de prueba genérico se presenta la Figura B.2.2.1.

SSWQOS-CP-1.1 Probar el cálculo de la medida de similitud

1.1.1 Aplicado al dominio de Estadística Descriptiva.

1.1.1.1 Propósito

Verificar que se efectué el cálculo de la medida de similitud correctamente sobre los datos

previamente normalizados.

1.1.1.2 Entorno de prueba

Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes

elementos:

PC con conexión a Internet.

Banco de Pruebas de servicios Web basado en QoS disponible.

1.1.1.3 Proceso

1. Ejecutar el ClienteWS de los servicios Web.

2. Introducir datos válidos en el campo para requerimientos QoS del usuario.

3. Ejecutar el cálculo de la medida de similitud sobre los datos normalizados.

1.1.1.4 Resultado esperado

Mostrar la lista de resultados del cálculo de la medida de similitud en pantalla.

1.1.2 Aplicado al dominio de Predicción Climatológica

1.1.2.1 Propósito

Verificar que se efectué el cálculo de la medida de similitud correctamente sobre los datos

previamente normalizados.

1.1.2.2 Entorno de prueba

Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes

elementos:

PC con conexión a Internet.

Banco de pruebas de servicios Web basado en QoS disponible.

1.1.2.3 Proceso

4. Ejecutar el ClienteWS de los servicios Web.

5. Introducir datos válidos en el campo para requerimientos QoS del usuario.

6. Ejecutar el cálculo de la medida de similitud sobre los datos normalizados.

1.1.2.4 Resultado esperado

Mostrar la lista de resultados del cálculo de la medida de similitud en pantalla.

Figura B.2.2.1 Caso de prueba genérico.

Anexo C Servicios Web del dominio de Estadística Descriptiva

71

Anexo C Solicitudes de requerimientos QoS

A continuación se listan los valores de los atributos de calidad de cada de las solicitudes de

requerimientos QoS utilizadas para cada bloque de los dominios de Estadística Descriptiva y

Predicción Climatológica.

Tabla C.1 Solicitudes de requerimientos QoS normalizadas aplicadas al dominio de Estadística

Descriptiva

I D

Tie

mp

o d

e re

cup

era

-ci

ón

p

rom

edio

Tie

mp

o d

e ej

ecu

ció

n

xim

o

Tie

mp

o d

e ej

ecu

ció

n

pro

med

io

Tie

mp

o d

e re

spu

esta

m

áx

imo

Tie

mp

o d

e re

spu

esta

p

rom

edio

Fa

cto

r d

e er

ror

Fa

cto

r d

e p

reci

sió

n

del

re

sult

ad

o

Co

sto

TRP TEM TEP TReM TReP FE FPR C

SolicitudQoS1 0.0049 0.0523 0.0997 0.1471 0.1944 0.2418 0.2892 0.3366

SolicitudQoS2 0.3366 0.2892 0.2418 0.1944 0.1471 0.0997 0.0523 0.0049

SolicitudQoS3 0.0075 0.0101 0.0153 0.0256 0.0464 0.0878 0.1708 0.3366

SolicitudQoS4 0.3366 0.1708 0.0878 0.0464 0.0256 0.0153 0.0101 0.0075

SolicitudQoS5 0.3340 0.3314 0.3262 0.3159 0.2951 0.2537 0.1708 0.0049

SolicitudQoS6 0.0049 0.1708 0.2537 0.2951 0.3159 0.3262 0.3314 0.3340

SolicitudQoS7 0.3366 0.3840 0.4314 0.4788 0.5261 0.5735 0.6209 0.6683

SolicitudQoS8 0.6683 0.6209 0.5735 0.5261 0.4788 0.4314 0.3840 0.3366

SolicitudQoS9 0.3392 0.3418 0.3470 0.3573 0.3781 0.4195 0.5025 0.6683

SolicitudQoS10 0.6683 0.5025 0.4195 0.3781 0.3573 0.3470 0.3418 0.3392

SolicitudQoS11 0.6657 0.6631 0.6579 0.6476 0.6268 0.5854 0.5025 0.3366

SolicitudQoS12 0.3366 0.5025 0.5854 0.6268 0.6476 0.6579 0.6631 0.6657

SolicitudQoS13 0.6683 0.7157 0.7631 0.8105 0.8578 0.9052 0.9526 1.0000

SolicitudQoS14 1.0000 0.9526 0.9052 0.8578 0.8105 0.7631 0.7157 0.6683

SolicitudQoS15 0.6709 0.6735 0.6787 0.6890 0.7098 0.7512 0.8342 1.0000

SolicitudQoS16 1.0000 0.8342 0.7512 0.7098 0.6890 0.6787 0.6735 0.6709

SolicitudQoS17 0.9974 0.9948 0.9896 0.9793 0.9585 0.9171 0.8342 0.6683

SolicitudQoS18 0.6683 0.8342 0.9171 0.9585 0.9793 0.9896 0.9948 0.9974

SolicitudQoS19 0.0330 0.0109 0.0059 0.0078 0.0095 0.1860 0.0494 0.0833

SolicitudQoS20 0.5000 0.5743 0.5000 0.5049 0.4771 0.1163 0.0370 0.3667

SolicitudQoS21 0.0220 0.0317 0.0265 0.0165 0.0114 0.1395 0.0617 0.3347

SolicitudQoS22 0.3130 0.3198 0.3108 0.3223 0.0314 0.7674 0.3951 0.2467

Anexo C Servicios Web del dominio de Estadística Descriptiva

72

Tabla C.2 Solicitudes de requerimientos QoS normalizadas aplicadas al dominio de Predicción

Climatológica

I D

Tie

mp

o d

e re

cup

era

-ci

ón

p

rom

edio

Tie

mp

o d

e ej

ecu

ció

n

xim

o

Tie

mp

o d

e ej

ecu

ció

n

pro

med

io

Tie

mp

o d

e re

spu

esta

m

áx

imo

Tie

mp

o d

e re

spu

esta

p

rom

edio

Fa

cto

r d

e er

ror

Fa

cto

r d

e p

reci

sió

n

del

re

sult

ad

o

Co

sto

TRP TEM TEP TReM TReP FE FPR C

SolicitudQoS1 0.0049 0.0523 0.0997 0.1471 0.1944 0.2418 0.2892 0.3366

SolicitudQoS2 0.3366 0.2892 0.2418 0.1944 0.1471 0.0997 0.0523 0.0049

SolicitudQoS3 0.0075 0.0101 0.0153 0.0256 0.0464 0.0878 0.1708 0.3366

SolicitudQoS4 0.3366 0.1708 0.0878 0.0464 0.0256 0.0153 0.0101 0.0075

SolicitudQoS5 0.3340 0.3314 0.3262 0.3159 0.2951 0.2537 0.1708 0.0049

SolicitudQoS6 0.0049 0.1708 0.2537 0.2951 0.3159 0.3262 0.3314 0.3340

SolicitudQoS7 0.3366 0.3840 0.4314 0.4788 0.5261 0.5735 0.6209 0.6683

SolicitudQoS8 0.6683 0.6209 0.5735 0.5261 0.4788 0.4314 0.3840 0.3366

SolicitudQoS9 0.3392 0.3418 0.3470 0.3573 0.3781 0.4195 0.5025 0.6683

SolicitudQoS10 0.6683 0.5025 0.4195 0.3781 0.3573 0.3470 0.3418 0.3392

SolicitudQoS11 0.6657 0.6631 0.6579 0.6476 0.6268 0.5854 0.5025 0.3366

SolicitudQoS12 0.3366 0.5025 0.5854 0.6268 0.6476 0.6579 0.6631 0.6657

SolicitudQoS13 0.6683 0.7157 0.7631 0.8105 0.8578 0.9052 0.9526 1.0000

SolicitudQoS14 1.0000 0.9526 0.9052 0.8578 0.8105 0.7631 0.7157 0.6683

SolicitudQoS15 0.6709 0.6735 0.6787 0.6890 0.7098 0.7512 0.8342 1.0000

SolicitudQoS16 1.0000 0.8342 0.7512 0.7098 0.6890 0.6787 0.6735 0.6709

SolicitudQoS17 0.9974 0.9948 0.9896 0.9793 0.9585 0.9171 0.8342 0.6683

SolicitudQoS18 0.6683 0.8342 0.9171 0.9585 0.9793 0.9896 0.9948 0.9974

SolicitudQoS19 0.0330 0.0109 0.0059 0.0078 0.0095 0.1860 0.0494 0.0833

SolicitudQoS20 0.5000 0.5743 0.5000 0.5049 0.4771 0.1163 0.0370 0.3667

SolicitudQoS21 0.0220 0.0317 0.0265 0.0165 0.0114 0.1395 0.0617 0.3347

SolicitudQoS22 0.3130 0.3198 0.3108 0.3223 0.0314 0.7674 0.3951 0.2467

Anexo D Servicios Web del dominio de Estadística Descriptiva

73

Anexo D Servicios Web del dominio de Estadística Descriptiva

A continuación se listan los valores normalizados de los atributos de calidad de cada servicio

Web perteneciente al dominio de Estadística Descriptiva.

Tabla D.1 Valores normalizados de los atributos de calidad de cada servicio Web perteneciente al

dominio de Estadística Descriptiva

ID TRP TEM TEP TReM TReP FE FPR C SW1 0.0017 0.0030 0.0060 0.0058 0.0042 0.0510 0.0220 0.0125

SW2 0.0033 0.0045 0.0060 0.0087 0.0097 0.0612 0.0330 0.0200

SW3 0.0050 0.0015 0.0075 0.0058 0.0069 0.0714 0.0440 0.0250

SW4 0.0067 0.0060 0.0030 0.0029 0.0042 0.0816 0.0549 0.0263

SW5 0.0100 0.0091 0.0045 0.0043 0.0028 0.0918 0.0659 0.0275

SW6 0.0083 0.0106 0.0090 0.0058 0.0042 0.0510 0.0440 0.0375

SW7 0.0117 0.0024 0.0015 0.0014 0.0028 0.1020 0.0769 0.0293

SW8 0.0110 0.0033 0.0018 0.0023 0.0028 0.1327 0.0879 0.0300

SW9 0.0133 0.0054 0.0084 0.0029 0.0083 0.3163 0.0989 0.0303

SW10 0.0120 0.0057 0.0087 0.0032 0.0033 0.2959 0.0110 0.0313

SW11 0.0127 0.0085 0.0033 0.0052 0.0056 0.2551 0.1648 0.0500

SW12 0.0100 0.0097 0.0084 0.0055 0.0047 0.0408 0.0440 0.0550

SW13 0.0140 0.0097 0.0036 0.0058 0.0069 0.1939 0.1978 0.0500

SW14 0.0100 0.0109 0.0069 0.0049 0.0044 0.0306 0.0769 0.0525

SW15 0.0167 0.0106 0.0160 0.0072 0.0083 0.1531 0.1648 0.0625

SW16 0.0150 0.0121 0.0123 0.0122 0.0097 0.1224 0.1758 0.0625

SW17 0.0180 0.0145 0.0126 0.0061 0.0111 0.1020 0.1758 0.0550

SW18 0.0037 0.0036 0.0063 0.0090 0.0097 0.0816 0.0440 0.0563

SW19 0.0333 0.0604 0.0753 0.0725 0.0417 0.0102 0.0110 0.1250

SW20 0.0367 0.0634 0.0783 0.0841 0.0528 0.0204 0.0330 0.1250

SW21 0.0400 0.0665 0.0813 0.0870 0.0556 0.0306 0.0440 0.1300

SW22 0.0433 0.0695 0.0903 0.0638 0.0583 0.0408 0.0440 0.1000

SW23 0.0450 0.0710 0.0918 0.0652 0.0597 0.0510 0.0549 0.0800

SW24 0.0467 0.0725 0.0933 0.0614 0.0639 0.0612 0.0769 0.0950

SW25 0.0500 0.0755 0.1054 0.0638 0.0619 0.0714 0.0879 0.0625

SW26 0.0483 0.0680 0.0918 0.0652 0.0631 0.0816 0.0989 0.0750

SW27 0.0500 0.0695 0.0933 0.0667 0.0639 0.0918 0.1099 0.0950

SW28 0.0507 0.0701 0.0939 0.0672 0.0653 0.1020 0.1099 0.0863

SW29 0.0067 0.0091 0.0075 0.0043 0.0028 0.0408 0.0330 0.0125

SW30 0.0517 0.0710 0.0903 0.0696 0.0667 0.1531 0.1978 0.0800

SW31 0.0667 0.0725 0.1054 0.0870 0.0694 0.2041 0.2308 0.1025

SW32 0.0833 0.0785 0.1084 0.0928 0.0847 0.0204 0.0440 0.0450

SW33 0.1000 0.0816 0.1114 0.0957 0.0861 0.0306 0.0549 0.0500

SW34 0.1167 0.0846 0.1144 0.1014 0.0889 0.0510 0.0879 0.0825

SW35 0.0667 0.0665 0.0693 0.0652 0.0472 0.2041 0.3297 0.1500

SW36 0.0700 0.0680 0.0903 0.0899 0.0500 0.2143 0.3407 0.1525

SW37 0.0717 0.0695 0.0949 0.0913 0.0556 0.2245 0.3516 0.1538

SW38 0.0733 0.0710 0.0964 0.0928 0.0583 0.2347 0.3846 0.1550

SW39 0.0750 0.0704 0.0979 0.0942 0.0597 0.2449 0.3956 0.1575

SW40 0.1000 0.0846 0.0452 0.0899 0.0611 0.1122 0.3297 0.0800

SW41 0.1333 0.1239 0.1265 0.1246 0.1250 0.1429 0.4505 0.1200

SW42 0.1667 0.1541 0.1566 0.1536 0.1528 0.1531 0.5604 0.1450

SW43 0.2000 0.1843 0.1867 0.1826 0.1806 0.1633 0.6703 0.1700

SW44 0.2333 0.2145 0.2168 0.2116 0.2083 0.1735 0.7802 0.1950

Anexo D Servicios Web del dominio de Estadística Descriptiva

74

ID TRP TEM TEP TReM TReP FE FPR C SW45 0.2667 0.2447 0.2469 0.2406 0.2361 0.1837 0.8901 0.2200

SW46 0.3000 0.2749 0.2770 0.2696 0.2639 1.0000 1.0000 0.2450

SW47 0.3333 0.3051 0.3071 0.2986 0.2917 0.1939 0.1099 0.2700

SW48 0.0333 0.0332 0.0361 0.0377 0.0417 0.1020 0.1099 0.0450

SW49 0.0667 0.0634 0.0662 0.0667 0.0694 0.2041 0.2418 0.0700

SW50 0.1033 0.0973 0.0949 0.0951 0.0919 0.3367 0.3516 0.0875

SW51 0.1067 0.0973 0.1015 0.1009 0.1003 0.0306 0.0110 0.0950

SW52 0.0077 0.0100 0.0084 0.0052 0.0036 0.0408 0.0549 0.0380

SW53 0.1167 0.1668 0.1060 0.1101 0.1000 0.0612 0.0330 0.0900

SW54 0.0567 0.0508 0.0518 0.0522 0.0417 0.1531 0.1429 0.0488

SW55 0.0117 0.0121 0.0105 0.0072 0.0056 0.0612 0.0769 0.0575

SW56 0.0403 0.0396 0.0473 0.0464 0.0472 0.1735 0.1319 0.0493

SW57 0.0050 0.0076 0.0060 0.0029 0.0022 0.0306 0.0440 0.0250

SW58 0.0500 0.0483 0.0512 0.0522 0.0347 0.1837 0.2088 0.0255

SW59 0.0733 0.0680 0.0693 0.0725 0.0722 0.2143 0.2418 0.0525

SW60 0.0700 0.0637 0.0617 0.0783 0.0756 0.2755 0.2747 0.0575

SW61 0.0850 0.0785 0.0798 0.0826 0.0819 0.2551 0.2967 0.0738

SW62 0.1017 0.0937 0.0994 0.0965 0.0931 0.3673 0.3516 0.0750

SW63 0.1190 0.1088 0.1114 0.1087 0.1056 0.0102 0.0220 0.0938

SW64 0.1300 0.1193 0.1195 0.1154 0.0975 0.0306 0.0659 0.0788

SW65 0.1333 0.1239 0.1241 0.1203 0.1167 0.4286 0.0879 0.1065

SW66 0.1383 0.1242 0.1250 0.1217 0.1186 0.4388 0.0110 0.1175

SW67 0.0040 0.0051 0.0045 0.0049 0.0042 0.0612 0.0659 0.0538

SW68 0.1400 0.1450 0.1385 0.1362 0.1139 0.1020 0.1319 0.1238

SW69 0.1667 0.1752 0.1536 0.1507 0.1392 0.0510 0.0330 0.1375

SW70 0.0080 0.0103 0.0087 0.0055 0.0039 0.0612 0.0330 0.0500

SW71 0.2960 0.2719 0.0301 0.0870 0.1111 0.1122 0.2308 0.1420

SW72 0.0070 0.0094 0.0078 0.0046 0.0031 0.0102 0.0220 0.0395

SW73 0.6667 0.6707 0.7076 0.6174 0.6806 0.0204 0.5824 0.7000

SW74 1.0000 1.0000 1.0000 1.0000 1.0000 0.0102 0.0220 0.7750

SW75 0.0033 0.0063 0.0075 0.0290 0.1389 0.0204 0.0549 1.0000

SW76 0.0267 0.0272 0.0301 0.0580 0.0639 0.5204 0.1648 0.0375

SW77 0.0783 0.0713 0.0867 0.2319 0.0278 0.1122 0.0110 0.2500

SW78 0.1667 0.0302 0.0030 0.0058 0.0333 0.1224 0.2308 0.2000

SW79 0.0063 0.0054 0.0081 0.0046 0.0153 0.0102 0.0220 0.7625

SW80 0.0740 0.0369 0.0346 0.0339 0.0328 0.0816 0.0769 0.1250

SW81 0.1670 0.0607 0.0364 0.0232 0.0250 0.0918 0.0110 0.1875

SW82 0.3333 0.9063 0.0271 0.0290 0.0694 0.0204 0.0220 0.5000

SW83 0.0283 0.0227 0.0181 0.0177 0.0172 0.0612 0.0659 0.1650

SW84 0.0233 0.3021 0.0753 0.0870 0.2222 0.0918 0.0989 0.1258

Referencias

75

Referencias

[MOR06] Moreno Solís Ismael. Sistema de Búsqueda y Selección de Servicios Web.

Cuernavaca: Centro Nacional de Investigación y Desarrollo Tecnológico, Octubre

2006.

[HOI08] Chan Hoi, Chieu Tieu y Kwok Thomas. Autonomic Ranking and Selection Of Web

Services by Using Single Value decomposition Technique. Beijing: Web Services,

2008. ICWS '08. IEEE International Conference on, 2008. ISBN: 978-0-7695-

3310-0.

[FRA08] Fragoso Díaz Olivia Graciela. Reporte de Tesis, Extensión al modelo UDDI para

la localización y Selección de Servicios Web utilizando Razonamiento Basado en

Casos. Cuernavaca: Centro Nacional de Investigación y Desarrollo Tecnológico,

2008.

[CAB08] Cabrera Bejar Oscar Jair. Banco de pruebas orientado a la Calidad o QoS para

apoyar la Selección y Composición de Servicios Web. Cuernavaca: Centro

Nacional de Investigación y Desarrollo Tecnológico, 2008.

[LTH05] L. Thaer, H. El Khatib, R. Basha. A Framework and QoS Matchmaking Algorithm

for Dynamic Web services Selection. L. Sharjah: Departament of Computer

science. University of Sharjah, 2005.

[TAO04] Tao Yu, Kwei-Jay Lin. The Design of QoS Broker Algorithm for QoS-Capable

Web Services. Irvine, California: Dept. of Electrical Engineering and Computer

Science. University of California, 2004.

[TAO051] Tao Yu, Kwei-Jay Lin. Service Selection Algorithms for Composing Complex

services With Multiple QoS Constraints. ICSO, 2005. ISSN: 0302-9743.

[TAO052] Tao Yu, Kwei-Jay Lin. Service selection algorithms for Web services with end-to-

end QoS constraints. Springer-Verlag, 2005.

[DEM08] Demian Antony D'Mello, V. S. Ananthanarayana, Santhi Thilagam. A QoS Broker

Based Architecture for Dynamic Web Service Selection. Proceedings of the 2008

Second Asia International Conference on Modelling & Simulation (AMS), 2008.

ISBN: 978-0-7695-3136-6.

Referencias

76

[SER05] M.Adel Serhani, Rachida Dssouli, Abdelhakim Hafid, Houari Sahraoui. A QoS

Broker Based Architecture for Efficient Web Services Selection. Proceedings of the

IEEE International Conference on Web Services (ICWS’05), 2005.

[XIA06] Xia Wang, Tomas Vitvar, Mick Kerrigan, Ioan Toma. A QoS-aware Selection

Model for Semantic Web Services. 2006.

[LEH051] Le-Hung Vu, Manfred Hauswirth, Karl Aberer. QoS-based Service Selection and

Ranking with Trust and Reputation Management. Springer Berlin/Heidelberg,

octubre de 2005.

[LIJ08] Lijun Mei, w. k. Chan, T. H. Tse. An Adaptative Service Selection Approach to

Service Composition. Los Alamitos, CA: To appear in Proceedings of the IEEE

International Conference on Web Services (ICWS 2008), IEEE Computer Society

Press, 2008.

[SHU08] Shu-jia Wang, Hao-peng Chen. A Web Service Selecting Model Based on

Measurable QoS Attributes of Client-Side. 2008 International Conference on

Computer Science and Software Engineering, 2008. ISBN: 978-0-7695-3336-0.

[ZHA09] Zhang Guoping, Zhang Huijuan, Wang Zhibin. A QoS-Based Web Service

Selection Method For Dynamic Web Service Composition. Wuhan, Hubei:

Education Technology and Computer Science, 2009. ETCS '09. First International

Workshop on, 2009. ISBN: 978-1-4244-3581-4.

[DAY05] Day Julian Clark. A Framework for Autonomic Web Service Selection, Tesis de

Maestría. University of Saskatchewan, 2005.

[HON07] Hongbing Wang, Ping Tong, Thompson, P., Yinsheng Li. QoS-Based Web

Services Selection. Hong Kong, China: e-Business Engineering, 2007. ICEBE

2007. IEEE International Conference on, 2007. ISBN: 978-0-7695-3003-1.

[LIU07] Liu Zhuang, Huang YuanFei, Jian WeiGuang, Zhou JiangBo, Guo He-Qing.

Solving Fuzzy QoS Constraint Satisfaction technique for Web Service Selection.

Computational Intelligence and Security Workshops, 2007. CISW 2007.

International Conference on, 2007. ISBN: 978-0-7695-3073-4.

[YLI04] Y. Liu, A.H.H. Ngu, L. Zen. QoS Computation and Policing in Dynamic Web

Service Selection. Proceeding 13th International ConferenceWorld WideWeb,

2004.

Referencias

77

[JAM09] Bean James. SOA and Web Service Interfaces Design. Elsevier. ISBN: 978-0-12-

374891-1.

[WOR101] World Wide Web Consortium (W3C). World Wide Web Consortium (W3C). [En

línea] [Citado el: 08 de enero de 2010.] http://www.w3c.es/divulgacion/a-z/.

[NAR03] Naresh Apte, Toral Mehta. UDDI: building registry-based Web services solutions.

Prentice Hall, 2003. ISBN-10: 0-13-046457-0, ISBN-13: 978-0-13-046457-6.

[NEW02] Newcomer Eric. Understanding Web services: XML, WSDL, SOAP, and UDDI.

Addison-Wesley Professional, 2002. ISBN-10: 0-201-75081-3.

[WOR10] World Wide Web Consortium (W3C). World Wide Web Consortium (W3C). [En

línea] [Citado el: 4 de enero de 2010.] http://www.w3.org/Submission/2001/07/.

[SHU03] Ran Shuping. A model for web services discovery with QoS. New York, NY, USA:

ACM, 2003.

[QUL09] Qu Li-li, Chen Yan. QoS ontology based efficient web services selection. Moscow:

Management Science and Engineering, 2009. ICMSE 2009. International

Conference on, 2009. ISBN: 978-1-4244-3970-6.

[CAN06] Gerardo Canfora, Massimiliano Di Penta, Raffaele Esposito, Francesco Perfetto, y

Maria Luisa Villani. Service Composition (re) Binding driven by application-

specific QoS. Italy: RCOST- Research Centre on software Technology University

of Sannio.

[CRA04] Pandian, C. Ravindranath Software Metrics: A Guide to Planning,Analysis, and

Application.: CRC Press, 2004. ISBN 0849316618, 9780849316616.

[KNA05] Rasmus, Knappe. Measures of Semantic Similarity and Relatedness for Use in

Ontology-based Information Retrieval, PhD Dissertation Roskilde University.

Denmark, 2005.

[NAR04] Malhotra, Naresh K. Investigación de mercados 4ta edición. Pearson Educación,

2004. ISBN 970-26-0491-5.

[TVE04] Amos Tversky, edited by Eldar Shafir. Preference, Belief, and Similarity: Selected

Writings. Massachusetts Institute of Technology, 2004. ISBN 0-262-70093-X.

[KOR89] Korst, E. H. L. Aarts y J.H.M. Simulated Annealing and Boltzmann Machines.

Wiley, Chinchester, 1989.

Referencias

78

[KIR83] S. Kirkpatrick, C.D. Gellat, M.P.Vecchi. Optimization bye Simulated Annealing.

4598. Science, Mayo 1983, Vol. 220.

[BAR97] Sergio Barba-Romero, Jean-Charles Pomerol.

. (Madrid):

, 1997. 978-84-8138-180-1.

[SOF98]

Society, Software Engineering Technical Committee of the IEEE Computer.

Standard for Software Test Documentation. (Revisión de IEEE Std 829-1983).

IEEE, 16 Septiembre 1998. ISBN 0-7381-1444-8 SS94687.

[ABR06] Abraham Bernstein, Esther Kaufmann, Christoph Kiefer, Christoph Bürki.

SimPack: A Generic Java Library for Similarity Measures in Ontologies, 2006