Una evaluación empírica de técnicas para aumentar la descubribilidad de ServiciosWeb Code-first

Históricamente ha sido importante la reutilización de funcionalidad para la industria del software ya que permite reducir costos y focalizar el desarrollo en implementar la funcionalidad principal del sistema, reduciendo el tiempo que sería necesarios si todo el software debiera ser implementado...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Wesner, Silvina Daiana, Piu, Diego Martín
Formato: Artículo revista
Lenguaje:Español
Publicado: Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas 2016
Materias:
SOC
Acceso en línea:http://www.ridaa.unicen.edu.ar/xmlui/handle/123456789/595
Aporte de:
Descripción
Sumario:Históricamente ha sido importante la reutilización de funcionalidad para la industria del software ya que permite reducir costos y focalizar el desarrollo en implementar la funcionalidad principal del sistema, reduciendo el tiempo que sería necesarios si todo el software debiera ser implementado de cero. El paradigma Service Oriented Computing (SOC) brinda la posibilidad de reutilizar componentes escritos por terceros que se ejecutan de manera remota en los servidores de quienes proveen la funcionalidad. Es decir, SOC es la evolución del desarrollo de sistemas basados en componentes para ambientes heterogéneos y distribuidos. Bajo este paradigma, la funcionalidad es expuesta mediante componentes llamados servicios que cuentan con una interfaz bien definida y respetando la técnica de caja negra. Actualmente, la manera más común de implementar este paradigma es a través de protocolos Web estándar, tales como Hipertext Transfer Protocol (HTTP), Simple Object Access Protocol (SOAP) y Extensible Markup Language (XML). Cuando estos protocolos se emplean para implementar servicios, a estos servicios se los denomina ServiciosWeb. La arquitectura Service Oriented Architecture (SOA) describe la estructura general de los sistemas SOC. En ella se define la interacción entre componentes que cumplen tres roles principales: Proveedor de Servicios, Consumidor de Servicios y Registro de Servicios. Los proveedores desarrollan los servicios definiendo tanto su lógica como su interfaz y publican información acerca de éstos en un registro. Por otro lado, los consumidores que quieren utilizar funcionalidad de terceros, buscan los servicios que necesitan en un registro de servicios y luego los invocan remotamente. En todas las interacciones entre los distintos roles se utiliza un artefacto que contiene la información técnica y semántica de un servicio y se denomina Web Service Description Language (WSDL). Un documento WSDL se puede dividir en dos partes: abstracta y concreta. La parte abstracta contiene elementos que especifican un ServicioWeb independientemente de los protocolos soportados para invocarlo. Mientras que la parte concreta define cómo la parte abstracta está vinculada a los protocolos de invocación, es decir, se refiere a la implementación del servicio. Pese a la importancia que tienen estos documentos, varios autores han señalado diversos problemas que aparecen de manera recurrente en los mismos y que se deben a malas prácticas adoptadas por los desarrolladores al momento de escribir servicios o que son incorporadas a los documentos por las herramientas que los generan. Cada mala práctica o anti-patrón está conformado por un nombre, sus síntomas y la manara de solucionarlo. Es importante que los documentos WSDL no contengan anti-patrones ya que dificultan que los consumidores puedan descubrir los servicios. En este trabajo se analizó una herramienta que propone un analizador de diseño para ayudar a los desarrolladores a no introducir anti-patrones en el código fuente de los servicios y que, además, provee un generador de documentos WSDL que impide que se introduzcan anti-patrones en los mismos. Se realizaron experimentos con el fin de medir la efectividad del analizador y se refactorizó el código fuente que tenía problemas. Luego se generaron los documentos WSDL utilizando el generador propuesto por la herramienta para determinar para qué anti-patrones la versión refactorizada de los mismos, respecto de la original, resulta en un impacto positivo en cuanto a la descubribilidad de los ServiciosWeb justificando el tiempo y esfuerzo invertido en quitarlos.