Un Modelo De Simulación Para El Análisis De Arquitecturas De Software De Aplicaciones Web Y En La Nube
Total Page:16
File Type:pdf, Size:1020Kb
María Julia Blas Débora Chan Cristina Badano Andrea Rey UnUn modelomodelo dede simulaciónsimulación parapara elel análisisanálisis dede arquitecturasarquitecturas dede softwaresoftware Análisis inteligente de datos dede aplicacionesaplicacionescon lenguaje webweb yy enen lala R nubenube Tesis Doctoral UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SANTA FE - Doctorado en Ingeniería - - Mención Ingeniería en Sistemas de Información - UN MODELO DE SIMULACIÓN PARA EL ANÁLISIS DE ARQUITECTURAS DE SOFTWARE DE APLICACIONES WEB Y EN LA NUBE - Tesis Doctoral - María Julia Blas Director: Dr. Horacio Leone Codirector: Dr. Silvio Gonnet Marzo, 2019 Blas, Maria Julia Un modelo de simulación para el análisis de arquitecturas de software de aplicaciones web y en la nube / Maria Julia Blas. - 1a ed. - Ciudad Autónoma de Buenos Aires : edUTecNe, 2019. Libro digital, PDF Archivo Digital: descarga y online ISBN 978-987-4998-30-9 1. Software. 2. Aplicaciones Web. 3. Computación. I. Título. CDD 005 Universidad Tecnológica Nacional – República Argentina Rector: Ing. Héctor Eduardo Aiassa Vicerrector: Ing. Haroldo Avetta Secretaria Académica: Ing. Liliana Raquel Cuenca Pletsch Secretario Ciencia Tecnológia y posgrado: Dr. Horacio Leone Universidad Tecnológica Nacional – Facultad Regional Santa Fé Decano: Ing. Rudy Omar Grether Vicedecano: Ing. Eduardo José Donnet edUTecNe – Editorial de la Universidad Tecnológica Nacional Coordinador General a cargo: Fernando H. Cejas Área de edición y publicación en papel: Carlos Busqued Colección Energías Renovables, Uso Racional de Energía, Ambiente: Dr. Jaime Moragues. Queda hecho el depósito que marca la Ley Nº 11.723 © edUTecNe, 2018 Sarmiento 440, Piso 6 (C1041AAJ) Buenos Aires, República Argentina Publicado Argentina – Published in Argentina Reservados todos los derechos. No se permite la reproducción total o parcial de esta obra, ni su incorporación a un sistema informático, ni su transmisión en cualquier forma o por cualquier medio (electrónico, mecánico, fotocopia, grabación u otros) sin autorización previa y por escrito de los titulares del copyright. La infracción de dichos derechos puede constituir un delito contra la propiedad intelectual. UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SANTA FE Se presenta esta tesis en cumplimiento de los requisitos exigidos por la Universidad Tecnológica Nacional para la obtención del grado académico de Doctor en Ingeniería, Mención Ingeniería en Sistemas de Información. UN MODELO DE SIMULACIÓN PARA EL ANÁLISIS DE ARQUITECTURAS DE SOFTWARE DE APLICACIONES WEB Y EN LA NUBE por María Julia Blas Director: Dr. Horacio Leone Codirector: Dr. Silvio Gonnet Jurados Dr. Jorge Andrés Diaz Pace Dr. Ernesto Kofman Dra. Ana Rosa Tymoschuck Marzo, 2019 a Mariel y Emilia a Juan Agradecimientos "Enthusiasm is one of the most powerful engines of success. When you do a thing, do it with all your might. Put your whole soul into it. Stamp it with your own personality. Be active, be energetic, be enthusiastic and faithful, and you will accomplish your object. Nothing great was ever achieved without enthusiasm." - Ralph Waldo Emerson En primer lugar, quiero agradecer a mis directores Horacio y Silvio por la confianza que depositaron en todas mis “ocurrencias” a lo largo de este trayecto, alentándome siempre a continuar trabajando con nuevos proyectos e ideas, guiándome durante todo el proceso con sus consejos y experiencia. A mi familia, Mariel y Mili, por el apoyo de todos estos años para continuar avanzando en mi vida personal y profesional. A mis tíos, Adriana y Julio, por estar siempre a mi lado. A mi abuela Eda por su apoyo constante. También a la familia Sarli por haber acompañado y compartido este trayecto. A Juan por su compañía incondicional en todos mis proyectos (tanto personales como laborales), por escucharme y acompañarme siempre, por compartir viajes, congresos, estudio e innumerables momentos, no sólo en el lugar de trabajo sino también en todas las vivencias transitadas los últimos diez años. A mis compañeros de INGAR con quienes he compartido el día a día de trabajo, investigación, asistencia a eventos, juegos deportivos, vacaciones y demás actividades científicas y no científicas. Especialmente a Gonzalo que se ha convertido en un amigo a lo largo de este camino, con quien he compartido muchísimas charlas y revisiones “científicas”, viajes, compras, juntadas, meriendas “after office” y salidas. A los chicos del “comedor de 1º piso”, Regi, Sergio, Álvaro, Mari, Cori, Danilo y Fede, con quienes he compartido innumerables momentos tanto dentro como fuera del instituto. También a Guada que, aunque no pertenece a INGAR, siempre ha estado presente en el grupo de becarios. A mis amigos de la vida, que están siempre incondicionalmente a mi lado (no importa lo lejos que se encuentren). Especialmente a Iva, Ubaldo, Luci, Andrés, Maxi y Ale. Además, a Nico que, aunque no se nos unió al “team INGAR” estuvo siempre presente durante estos cinco años. A “los DOCS”, Vale y Beto, con quienes arrancamos este camino de posgrado hace ya un par de años, compartiendo congresos, cursos y salidas post-cursos. A mis compañeros de cátedra, Daniel, Fer, Diego, Fede, Gas y Pato, quienes me han acompañado durante todo el trayecto. Especialmente a Marta que, siempre atenta a mis inquietudes, actuó como guía y apoyo en mi desarrollo como docente- investigadora. Finalmente, al Dr. Bernard Zeigler por su predisposición y ayuda en la comparativa RDEVS-DEVS desarrollada como parte de esta tesis. Prefacio Conceptualmente, los entornos de computación en la nube (en inglés, cloud computing) se dividen en dos grandes componentes: infraestructura y aplicación. A nivel de aplicación, los arquitectos de software especifican aplicaciones web las cuales, en términos generales, quedan definidas como servicios de software. Usualmente, tales definiciones se basan en patrones de diseño. El diseño arquitectónico puede ser considerado una de las primeras especificaciones de cualquier producto de software. Cuando sus componentes son utilizados para formular un modelo de simulación, la arquitectura puede ser utilizada como vehículo para estimar el comportamiento del producto final. Aún más, en los últimos años varios autores han aplicado técnicas de simulación sobre diseños arquitectónicos a fin de estimar las propiedades de calidad de un producto de software. Recientemente, este tipo de estrategias de análisis han sido utilizadas a nivel de infraestructura en entornos de computación en la nube. Sin embargo, los enfoques desarrollados a lo largo de los últimos años refieren exclusivamente a un subconjunto reducido de propiedades de calidad, no incorporando el nivel de aplicación a la descripción del entorno bajo análisis. La formulación de un modelo de análisis que permita capturar la información de arquitecturas de software de aplicaciones web para evaluar cuantitativamente aspectos de calidad de las mismas en etapas tempranas del proceso de desarrollo, constituye un tema de interés vinculado a la Ingeniería de Software. Es decir, con el objetivo de evaluar atributos de calidad en términos de los requerimientos no funcionales definidos para un producto tomando como base el diseño arquitectónico, se requiere de la existencia de modelos de análisis integrales que permitan estudiar el comportamiento de aplicaciones web y servicios de software a fin de evaluarlos desde una perspectiva de calidad. La especificación de modelos de simulación que brinden soporte a los conceptos vinculados a este modelo de análisis, constituye uno de los principales problemas a resolver en este trabajo de tesis. En términos generales, existen dos aspectos relevantes que deben ser tenidos en cuenta al momento de utilizar técnicas de simulación sobre las arquitecturas de aplicaciones web, a saber: i) Definición de las propiedades de calidad (¿qué propiedades de calidad deben ser medidas?¿cómo se relacionan?¿qué indicadores deben ser utilizados?), y ii) Formulación e implementación de modelos de simulación (¿qué formalismo de simulación debe ser utilizado?¿cuántos modelos deben diseñarse?¿cómo se vinculan estos modelos?). Ambos aspectos deben ser resueltos conjuntamente en virtud de obtener un modelo de análisis útil y completo. En esta tesis se propone un modelo de análisis para la evaluación de la calidad de aplicaciones web y servicios de software en la nube, el cual integra una perspectiva ontológica para la definición y el estudio de las propiedades de calidad junto con una adaptación del formalismo de simulación Discrete Event System Specification (DEVS) para el diseño e implementación de los modelos de simulación requeridos para la representación de la arquitectura de software bajo estudio. El objetivo final de este trabajo es proveer una perspectiva de Ingeniería de Software útil para la estimación de aspectos de calidad web utilizando el diseño arquitectónico como vehículo para la especificación del modelo de simulación que opera como base del modelo de análisis. A fin de estructurar la definición de las propiedades de calidad asociadas a los productos de software, se define un nuevo tipo de documento denominado esquema de calidad. Este documento se basa en el modelo de calidad de producto de software definido en el estándar ISO/IEC 25010, quedando complementado por conceptos propios del dominio de métricas de software junto con la especificación de producto. En este sentido, se presenta una implementación del documento diseñado haciendo uso de una única ontología compuesta de tres modelos semánticos, a saber: un modelo