El mundo del software está sufriendo una importante transformación a raíz de diferentes hitos acaecidos recientemente en la evolución de Internet. La Web se está abriendo paso como plataforma de ejecución de nuevas aplicaciones ligeras y ubicuas, lo que implica que las aplicaciones ya no se conciban tanto como productos software que se compran, se instalan y se ejecutan en ordenadores personales, sino como aplicaciones Web que están en permanente funcionamiento y en constante mejora, y cuyos datos y lógica de negocio se obtienen generalmente de una combinación de servicios Web accesibles a través de Internet. Este uso intensivo de los servicios ha provocado que las arquitecturas orientadas a servicios (SOA) adquieran una gran importancia, a la vez que han tenido un impacto significativo sobre el proceso de desarrollo, distribución y uso del software. La evolución hacia una economía orientada a servicios provoca el establecimiento de un enfoque de programación ''orientada a servicios'', promovido en gran medida por la implantación del modelo de distribución de Software como Servicio (SaaS), y basado en la idea de componer aplicaciones mediante el descubrimiento y la invocación de servicios disponibles en la red, utilizando estos servicios como piezas clave necesarias para un desarrollo de aplicaciones distribuidas de forma rápida y a un bajo coste, dando lugar a las conocidas como "aplicaciones composicionales".
Dentro del ámbito empresarial, se realizan complejos desarrollos en los que se deben educir los requisitos de los usuarios expertos de dominio para desarrollar los sistemas de información acorde a sus necesidades. El problema está en que la comunicación con los programadores que llevan a cabo el desarrollo supone un cuello de botella que provoca que el time-to-market y los costes de desarrollo, tanto en presupuesto como en recursos, hagan inviables muchas aplicaciones. El uso de SOA reduce en cierto modo el salto conceptual entre los expertos de dominio y los programadores, al utilizarse como base para la implementación de procesos de negocio. De esta forma, los usuarios familiarizados con dichos procesos percibirán ahora los sistemas de información de una manera más natural, aproximando por tanto las tareas de desarrollo a su contexto, y abriendo la puerta al Desarrollo por el Usuario Final (EUD).
Internet se concibe ahora como un ecosistema de Servicios Web o Internet de Servicios (IoS), poblado por millones de servicios a disposición de los usuarios, que dirige el interés hacia los front-end de servicios (SFE) como iniciativa para dotarlos de una interfaz gráfica y acortar la distancia entre la capa técnica de los mismos y el usuario final, dando paso a una concepción de los servicios centrada en el usuario. Las plataformas de mashup empresarial emergen como medio para la combinación o mezcla de contenidos y recursos heterogéneos provenientes de servicios o APIs Web, a nivel de interfaz gráfica, siendo cada vez más los usuarios que actúan como prosumers. Sin embargo, los SFEs actuales se crean a medida y comprometen demasiados recursos, por lo que no resultan viables además de no poder adaptarse. No existen herramientas de ayuda a la composición centradas en el usuario final, y los mashups permiten construir aplicaciones composicionales sencillas, pero resultan insostenibles para aplicaciones composicionales complejas. Es por ello que el objetivo principal de este trabajo de tesis se puede resumir en conseguir que los usuarios finales sean capaces de componer visualmente aplicaciones personalizadas apoyándose en un catálogo social de recursos.
Con el propósito de lograr dicho objetivo, esta tesis presenta una propuesta original sobre cómo debe llevarse a cabo el proceso de desarrollo de aplicaciones composicionales por parte del usuario final sobre la emergente Internet de Servicios. Para ello se presenta un modelo de composición apropiado para validar y estandarizar dicho desarrollo, basado en la estructura que se puede encontrar en la literatura acerca de los modelos de composición, formada por tres elementos principales: un modelo de componentes, una técnica de composición y unos lenguajes de composición. Se ha definido un modelo de componentes que establece cuáles son los elementos con los que el usuario puede realizar la composición de manera efectiva, formalizándolos semánticamente mediante una ontología modularizada para dotar así de capacidades de razonamiento automático y recomendación a las herramientas que implementen posteriormente el modelo. Se ha creado una Técnica de Composición que define cómo llevar a cabo la composición, logrando la interoperabilidad, cooperación y flexibilidad necesarias para que el usuario alcance sus objetivos. Se han diseñado unos lenguajes de composición necesarios para que el usuario desarrolle sus aplicaciones de manera visual y sencilla, además de para permitir la persistencia, publicación y transferencia de las composiciones sin pérdida de semántica. Estas aportaciones se complementan con la definición de un mecanismo de parametrización adaptado al usuario final que permita la fácil personalización de los componentes e incremente la flexibilidad de la composición.
© 2001-2024 Fundación Dialnet · Todos los derechos reservados