Upload
vuonghanh
View
223
Download
0
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
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
má
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
má
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