• No se han encontrado resultados

En el entorno industrial y docente existen numerosas soluciones para implementar laboratorios remotos estando la mayoría de ellas basadas en una arquitectura cliente- servidor. Tras un análisis de la literatura especializada (Garcia-Zubia, Orduna et al. 2009, Gomes, Garcia-Zubia 2007, Lowe, Murray et al. 2009, Mougharbel, El Hajj et al. 2006, Garcia-Zubia, Orduña et al. 2007, Gomes, Bogosyan 2009, Gravier, Fayolle et al. 2008, Garcia-Zubia, Lopez-de-Ipina et al. 2009, Sivakumar, Robertson et al. 2005, Asumadu, Tanner et al. 2005, Tawfik, Sancristobal et al. 2013a, Fjeldly, Shur 2003, Gillet, Anh Vu Nguyen Ngoc et al. 2005) es posible distinguir un conjunto de elementos que aparecen en la mayoría de los laboratorios remotos. Dichos elementos

se muestran en la Figura 2.2-1 y se describen a continuación indicando las típicas opciones de implementación asociadas a cada uno de los mismos:

Figura 2.2-1. Estructura genérica de un laboratorio remoto

Usuario

El usuario debe utilizar algún tipo de recurso o interfaz para poder interaccionar con el experimento. Entre los recursos que se pueden utilizar destacan los siguientes:

 Una aplicación específica desarrollada utilizando un determinado lenguaje o entorno de programación (C, C++, Java, Visual Basic, .NET, Python, LabVIEW, etc.) que debe ser instalada en el computador del cliente. Esta solución presenta como principal ventaja la versatilidad a la hora de diseñar la aplicación (interfaz de usuario ad hoc, utilización de gráficos complejos, etc.). Como principales inconvenientes se pueden destacar la elevada dependencia del programador en cuanto a desarrollo, mantenimiento y escalabilidad, la necesidad de instalar un software específico en el ordenador del usuario y, en algunos casos, los costes de las licencias de determinados paquetes software.

 Una aplicación Web desarrollada utilizando lenguajes como HTML, Javascript y XML, entre otros, que permiten aprovechar los servicios de Internet disponibles. Esta solución, como la anterior, también ofrece como ventaja la versatilidad en el diseño de la aplicación, pero además incorpora como beneficio principal que el usuario puede acceder al servidor del laboratorio mediante un explorador Web sin necesidad de tener instalado en

su ordenador ningún programa. La principal desventaja de esta solución sigue siendo la necesidad de requerir un notable esfuerzo por parte del programador.

Utilidades disponibles en paquetes de software profesionales como MATLAB (MATLAB Web server) o LabVIEW (Remote Panel) que permiten la interacción con el servidor del laboratorio con un reducido o nulo esfuerzo de programación. Estas soluciones tienen la ventaja de basarse en software de uso extendido en el ámbito universitario en el área de la ingeniería que muchos profesores ya utilizan en sus actividades docentes. Los principales inconvenientes que presentan estas opciones estarían relacionados con la escasa versatilidad para la integración en un entorno de aprendizaje y con los costes de las licencias de los paquetes profesionales.

Aplicaciones diseñadas para ceder el control del servidor del laboratorio al usuario, permitiendo, por tanto, manejar directamente el programa que se esté ejecutando en dicho servidor. Ejemplos de este tipo de aplicaciones son el Escritorio remoto de Windows o aplicaciones del tipo VNC (Virtual Network Computing). Estas soluciones tienen la ventaja de no requerir programar aplicación alguna pero presentan serios problemas de seguridad a diferentes niveles, además de requerir su instalación en el ordenador cliente.

Aplicaciones embebidas en sistemas de gestión del aprendizaje (SGA o LMS) que permiten disponer de entornos donde se encuentra integrado el laboratorio remoto facilitando el proceso de aprendizaje a los usuarios en una determinada materia.

Servidor Laboratorio

Incluye como elementos hardware el ordenador, el propio experimento y el conjunto de instrumentos que interaccionan con el experimento. La conexión entre el computador y los instrumentos/experimento se realiza habitualmente mediante buses de comunicación estándar como USB, IEEE-488.2, Ethernet, etc. También se suelen incluir como componentes adicionales otros dispositivos como cámaras Web que permiten obtener una información visual o sonora sobre el estado de los instrumentos y/o experimento durante el desarrollo de las actividades prácticas. Las funciones principales que realizará estarán asociadas a la gestión de las tareas relacionadas con los usuarios, las comunicaciones, tanto con los usuarios como con el experimento e instrumentos, y las posibles actividades prácticas que se puedan llevar a cabo. Para controlar los instrumentos y el experimento y poder atender a las peticiones que provengan del usuario es necesario que exista una aplicación ejecutándose en el ordenador. Como ocurre para implementar el interfaz del usuario también existen varias alternativas para desarrollar dicha aplicación. Entre dichas alternativas las más comunes son las siguientes:

 Una aplicación basada en el uso de paquetes software profesionales

como LabVIEW, VEE o MATLAB/Simulink. Esta solución presenta la ventaja, como ya se indicó anteriormente, de basarse en la utilización de programas de uso muy extendido en el área de la ingeniería, sobre los que se posee una notable experiencia en el ámbito universitario. Permiten de forma sencilla la comunicación con otras aplicaciones haciendo uso de las tecnologías .NET, ActiveX o Servicios Web y facilitan enormemente las tareas de comunicación con los instrumentos mediante los estándares VISA (Virtual Instrument Software Architecture) e IVI (Interchangeable Virtual Instruments). El principal inconveniente de esta solución son los costes de las licencias de uso de dichos paquetes software.

 Una aplicación basada en el uso de lenguajes de programación de propósito general como C, C++, Python, etc. Esta solución no requiere realizar gastos de compra en licencias de uso de software pero su principal inconveniente radica en que el esfuerzo en programación es muy elevado.  Servidor de enlace

Para permitir la conexión entre usuario y el servidor del laboratorio en algunas ocasiones se suele utilizar un servidor de enlace. Los recursos disponibles en dicho servidor pueden variar entre aplicaciones ad hoc, servidores Web y complejos sistemas de gestión de aprendizaje (LMS) donde se disponga de servicios complementarios como la autentificación de los usuarios, sistemas de reservas, etc. Especificados los componentes típicos de un laboratorio remoto es necesario precisar cuáles deberían ser las capacidades iniciales que deberían poseer el personal implicado en el desarrollo de un laboratorio remoto y también definir los requerimientos básicos, a nivel de comunicación y acceso, que deberían tenerse en cuenta.

Con respecto a las capacidades del personal encargado de desarrollar un laboratorio remoto se especifican las siguientes (Bagnasco, Parodi et al. 2005):

• Experiencia docente en el ámbito del e-learning para definir los objetivos de aprendizaje. Los métodos de enseñanza y actividades a desarrollar por los estudiantes deberán ser las adecuadas para adaptarse a una formación online.

• Experiencia en el desarrollo hardware de sistemas electrónicos para posibilitar la realización de los diferentes experimentos.

• Experiencia en el desarrollo de aplicaciones software que permitan el control de los diferentes recursos hardware utilizados (instrumentos programables, dispositivos de adquisición de datos, controladores lógicos programables, sistemas electrónicos ad hoc, etc.) y que permitan la comunicación entre los estudiantes y el laboratorio remoto.

En cuanto a los requerimientos a nivel de comunicación y acceso se pueden identificar los siguientes (Babich, Hagge et al. 2006):

• Alto nivel de seguridad que evite, ante las interacciones de los usuarios, posibles daños a los instrumentos y al experimento. Se debe asegurar, en un acceso multiusuario, que no se produzcan interferencias que influyan en las actividades prácticas llevadas a cabo por cada usuario.

• Los protocolos y puertos utilizados para establecer las comunicaciones deben ser configurados de forma que no interfieran con los firewalls o antivirus instalados en los ordenadores.

• Las interacciones con el laboratorio remoto se deben realizar minimizando retardos y evitando interrupciones que influyan en la adquisición de los resultados de aprendizaje previstos.

El conjunto de requerimientos que se han expuesto y el amplio abanico de tecnologías implicadas en la construcción de un laboratorio remoto justifican la complejidad asociada a su implementación. Por tanto, la planificación y coordinación de todas las capacidades técnicas y docentes resulta fundamental para llevar a buen término el desarrollo de un laboratorio remoto.