El objetivo de este curso es dar una visión general de las soluciones de almacenamiento de BSC, Hecuba y dataClay. Estas dos plataformas permiten almacenar y manipular fácilmente datos distribuidos desde aplicaciones orientadas a objetos, permitiendo a los programadores manejar la persistencia de objetos usando las mismas clases que usan en sus programas, evitando así las transformaciones que consumen tiempo entre modelos de datos persistentes y no persistentes. Además, Hecuba y dataClay permiten a los programadores gestionar de forma transparente los datos distribuidos, sin preocuparse por su ubicación. Esto se consigue añadiendo un conjunto mínimo de anotaciones en las clases.
Tanto Hecuba como dataClay pueden funcionar de forma independiente o integrarse con el modelo de programación y el runtime de COMPSs para facilitar la paralelización de aplicaciones que manejan datos persistentes, proporcionando así un mecanismo integral que permite el uso eficiente de soluciones de almacenamiento persistente desde entornos de programación distribuida.
Ambas plataformas ofrecen una interfaz común al desarrollador de aplicaciones que facilita el uso de una u otra solución en función de las necesidades, sin necesidad de modificar el código de la aplicación. Además, ambas disponen de características adicionales que permiten al programador aprovechar sus particularidades.
En el curso se dará a conocer la sintaxis de Hecuba y dataClay, la metodología de programación y una visión general de su funcionamiento interno. Asimismo, se ofrecerá una visión general de los COMPS a nivel de usuario para aprovechar las ventajas de la distribución de datos con ambas plataformas. Los asistentes recibirán una primera lección sobre programación con la interfaz de almacenamiento común que les permitirá empezar a programar con ambos frameworks.
También se realizará un hands-on con sencillos ejercicios introductorios para cada plataforma, con y sin COMPSs para distribuir el cómputo. Los alumnos que finalicen este curso serán capaces de desarrollar aplicaciones sencillas Hecuba y dataClay y ejecutarlas tanto en un recurso local como en una plataforma distribuida (inicialmente en una nube privada)