Al implementar aplicaciones distribuidas aparecen procesos diferentes ejecutándose en situaciones y roles diferentes. En consecuencia en la etapa de prueba-corrección de los programas se invierte un tiempo no despreciable, máxime si se hace necesario utilizar diversas máquinas.
Sería
deseable disponer de una aplicación sencilla que fuera capaz
de simplificar el conjunto de manipulaciones involucradas en la
prueba de las aplicaciones.
La práctica consiste en estudiar la posible solución al problema, diseñar un protocolo adecuado a la aplicación e implementarlo en Perl V5.04. El protocolo, debidamente razonado se depositará en el web del alumno, enviando al profesor un correo donde se indique la disponibilidad de dicha página no más tarde del día 4 de Abril.
Situando un servidor adecuado en cada plataforma de prueba, se puede realizar la operación de envío de programas, adecuación de contexto y ejecución, desde un único cliente situado en una plataforma de desarrollo.
Para
realizar la ejecución de instrucciones de nivel de S.O. En
cada plataforma de prueba, cada servidor dispone de un buffer de
líneas. El cliente envía líneas al servidor y en
un momento determinado le indica que debe ejecutarlas en un shell.
Finalmente, el buffer de instrucciones quedará vacío
hasta el próximo envío.
Primitiva de creación de archivo en el servidor. El servidor deberá controlar la creación del archivo y notificar al cliente cualquier eventualidad.
Primitivas de carga de texto en un archivo del servidor. En principio los archivos son de texto. El servidor debe controlar el inicio y fin de transmisión del archivo, notificando cualquier problema.
Primitivas de envío y ejecución de instrucciones del shell. El servidor captura la salida estándar y de error del programa remoto y la envía al cliente, cualificada convenientemente.
La implementación será en Perl, tomando como esqueleto el esquema básico de aplicación cliente-servidor empleando sockets TCP.