View
149
Download
2
Category
Preview:
Citation preview
R. Pastor, S. Ros, R.Hernandez, R. Pastor, A. Robles-Gomez & A.C.CamineroDpto. Sistemas de Comunicación y Conrtrol, UNED
Desarrollo de laboratorios remotos/virtuales
LaaS (Laboratory as a Service)
Desarrollo modular e integración
Explotación y despliegue de laboratorios: Servicios de gestión
Arquitectura basada en servicios
Servicios proporcionados
Conclusiones
Un laboratorio se puede considerar como unsistema software que proporciona unconjunto de servicios: experimentación
Aplicación directa de paradigmas software
Eficiencia en el desarrollo
Mejora en los costes de desarrollo/mantenimiento
Estructuración modular de un sistema: componentes
Integración de tecnologías
Paradigma Cloud Computing (IaaS, PaaS, SaaS)
Modelo de servicio (el laboratorio se puede definircomo un servicio)
▪ Proveedores de laboratorios (IaaS)
▪ Herramientas para el desarrollo de laboratorios (PaaS)
▪ Interacción con el laboratorio (SaaS)
RELATED (REmote LAboratories exTenDED) proporciona las funcionalidades PaaS y SaaSpara el paradigma LaaS
RELATED proporciona un conjunto deherramientas de desarrollo e integración(para proveedores de laboratorios)
Desarrollo basado en el paradigma MVC(Model View Controller)
Estructura modular basada en componentes
Especificación formal del laboratorio (LEDML)
Implementación de los componentes
RELATED usa el paradigma MVC: Módulos Componentes software para gestionar el ciclo de vida de un
experimento (start, stop, getData, setData, etc.) Gestiona los detalles de implementación de bajo nivel (medidas de los
sensores, modificación de los actuadores, etc.) Centrado en datos (variables) Implementación de una interface: IRLABModule (Java)
Vistas (Java/Web) Componentes software que representan la información del
laboratorio de manera visual y permiten la interacción con ellaboratorio. Implementación de una interface: IRLABView (Java) Página HTML basada en widgets (Web API): funciones Javascript
predefinidas para leer/escribir datos (variables) Experimentos Declarativo: componentes a usar en este escenario experimental No necesita desarrollo
Los laboratorios son recursos finitos/gestionados Implementación de los servicios de gestión:▪ Usuarios asociados al laboratorio.
▪ Autorización de acceso por privilegios (basados en roles)
▪ Uso de los laboratorios (basado en sesiones de trabajo)
▪ Reserva de acceso al recurso.
▪ Datos generados durante la interacción con el laboratorio
Aproximación del desarrollador: El desarrolladorproporciona una implementación de los servicios degestión (además de la propia del laboratorio):
Es necesario un esfuerzo adicional que se traduce en incrementos de costes (mantenimiento, tiempo, etc.)
Específicos para la implementación concreta del laboratorio
Aproximación por reutilización: Conseguir un sistemarobusto y eficiente en relación al uso/interacción de losrecursos del laboratorio
La eficiencia implica reutilización de herramientas y servicios de terceras personas.
Reusabilidad/Integración: Service OrientedArchitecture (SOA). La arquitectura de servicios de RELATED se implementa
en un modelo SOA Los servicios se orquestan con el objetivo de
conseguir un sistema funcional que combinadiferentes escenarios de uso de los servicios
Los servicios pueden ser “consumidos” poraplicaciones (Web, Mobile, etc.) https://lab-app.scc.uned.es/RLABWebSite/
Los servicios se crean/consumen de maneratransparente a los usuarios finales (el laboratorio se“conecta” a la arquitectura SOA): Se crean servicios REST de manera automática para
permitir el acceso a las funcionalidades del laboratorio
Gestión de usuarios Acceso basado en usuario/contraseña (registro libre) Gestión de las autorizaciones basadas en roles Sistema de petición de acceso (moderada por los administradores) Información de las sesiones de usuario
Datos de las sesiones de trabajo El usuario tiene acceso a la información de sus sesiones (el
administrador puede ver todo) Información de la sesión (fechas, experimentos, etc.) Acceso a los datos experimentales
Acceso a los datos experimentales▪ Descarga de los datos (variables del experimento)
▪ Gráficos de tendencias: análisis de los datos
▪ Reproducción Offline del experimento
El proceso de implementación de un laboratorio implicano sólo el proceso de desarrollo sino que además deberproporcionar un entorno de interacción real. Este entornodebe proporcionar un conjunto de servicios básicos
RELATED proporciona una arquitectura escalable queimplementa un entorno de interacción real con losusuarios de los laboratorios (usuarios y administradores).
El desarrollo de un conector (siguiendo las directrices deRELATED en el uso de componentes reutilizables) ofreceuna forma sencilla de integrar cualquier laboratorio en laarquitectura de los servicios de RELATED.
Los servicios se añaden de manera automática,proporcionando beneficios reales en costes de desarrollo ymantenimiento.
Recommended