Proyecto de investigación
Tecnologías Habilitadoras para Ecosistemas Software (Theos)
Responsable: Antonio Ruiz Cortés
Tipo de Proyecto/Ayuda: Proyectos de Excelencia de la Junta de Andalucía
Referencia: P10-TIC-5906
Fecha de Inicio: 15-03-2011
Fecha de Finalización: 30-04-2016
Empresa/Organismo financiador/es:
- Junta de Andalucía (Consejería de Innovación, Ciencia y Empresas)
Equipo:
- Investigadores:
- David Benavides Cuevas
- Beatriz Bernárdez Jiménez
- Amador Durán Toro
- José Ángel Galindo Duarte (alta: 08/10/2013)
- Jesús García Galán (alta: 30/04/2013)
- Octavio Martín Díaz
- Vicente Pelechano Ferragud
- Joaquín Peña Siles
- Manuel Resinas Arias de Reyna
- Otros Investigadores:
- José Joaquín Bocanegra García
- Cristina Cabanillas Macías
- Fabricia Carneiro Roos
- Margarita Cruz Risco
- Adela del Río Ortega
- Pablo Fernández Montes
- José María García Rodríguez
- Carlos Müller Cejás
- José Antonio Parejo Maestre
- Rafael Pastor Saenz
- Juan Diego Pérez Jiménez
- Miguel Rueda Barranco
- Sergio Segura Rueda
- Pablo Trinidad Martín-Arroyo
Contratados:
- Investigadores:
Resumen del proyecto:
La amplia adopción de la WEB 2.0 junto con la necesidad de abaratar costes de desarrollo y mantenimiento de productos, y sobre todo, conseguir el posicionamiento de dichos productos, son tres factores clave del creciente interés por los ecosistemas software. Un ecosistema software se constituye a partir de una plataforma software, un grupo de desarrolladores pertenecientes al responsable de dicha plataforma, un grupo de desarrolladores externos y una comunidad de expertos del dominio que componen soluciones relevantes para satisfacer las necesidades de una comunidad de usuarios. El tamaño, alcance y naturaleza de los ecosistemas pueden ser muy diferentes según el caso, pueden crearse alrededor de un producto exitoso de una PYME o alrededor del repositorio de aplicaciones de una gran organización pública (v.g. marcos de desarrollo en la Administración Pública) o privada (plataformas de aplicaciones para móviles tales como Apple AppStore o Android Market).
El objetivo global de THEOS es abordar algunos de los desafíos que plantea el desarrollo de ecosistemas software, más concretamente, de aquellos que se derivan de la pérdida de control sobre las piezas que componen el ecosistema y los procesos para desarrollarlas, pues pasan a ser gestionados más allá de los límites de la organización. Por ejemplo, desarrollar de manera acorde a modelos tipo CMMi resulta más complicado, al igual que mantener la integridad de todas y cada una de las configuraciones que pueden darse en el ecosistema. Por otra parte, los actuales mecanismos de gestión para ecosistemas son excesivamente manuales, lo que puede ser admisible en ecosistemas simples, pero totalmente inadmisible en ecosistemas complejos. En este caso, la complejidad puede venir determinada entre otros factores por: el número de elementos, la frecuencia de actualización, el tamaño de la comunidad de desarrolladores y el grado de interrelación entre elementos.
Por otra parte, la gestión de un ecosistema es necesaria tanto en tiempo de desarrollo como en tiempo de ejecución. Durante el desarrollo interesa controlar cuáles son los elementos que pasan a formar parte del ecosistema, que características debe seguir su proceso de desarrollo y qué características debe tener el elemento en sí. Durante su funcionamiento o ejecución, interesa que el ecosistema sea conforme a las políticas de gobierno establecidas para su funcionamiento. En ambos casos, nos interesa que el ecosistema responda con rapidez a los cambios en las políticas de gobierno y en las preferencias de los usuarios, y que además, posibilite al máximo la integración de los distintos elementos del mismo. En este sentido, creemos que un ecosistema orientado a servicios en el que los distintos elementos del ecosistema sean considerados como servicios es un enfoque muy adecuado.
En este proyecto esperamos desarrollar técnicas y herramientas que permitan aumentar el grado de automatismo de la gestión de ecosistemas orientados a servicios tanto en tiempo de desarrollo como en tiempo de ejecución. Esta tecnología habilitará a los desarrolladores para que desarrollen los servicios que pasarán a formar parte del ecosistema adecuándose a marcos de desarrollo estándares, gestionen los procesos de negocio que serán implementados por los servicios del ecosistema y gestionen la variabilidad del ecosistema. También habilitará a la plataforma del ecosistema para que el conjunto de servicios seleccionados como parte de la solución construida para satisfacer las necesidades de los usuarios, siempre operen de acuerdo a las políticas de gobierno establecidas.