AsyncMonitor: una herramienta web para apoyar la enseñanza de la comunicación asíncrona en cursos de sistemas distribuidos / AsyncMonitor: A web tool to support teaching of asynchronous communication in distributed systems courses - Jaimez-González, Carlos R. (RECI Revista Iberoamericana de las Ciencias Computacionales e Informática, 2018)
La comunicación asíncrona en aplicaciones cliente-servidor es muy útil para ejecutar en un servidor procesos que toman una cantidad considerable de tiempo, evitando que el cliente sea bloqueado en espera de que el proceso finalice su ejecución. Dada la importancia de la comunicación asíncrona en las aplicaciones distribuidas, en este artículo se presenta AsyncMonitor, una herramienta web que permite monitorear invocaciones de métodos asíncronos en el framework Web Objects in XML (WOX) y que, al mismo tiempo, apoya la enseñanza de los conceptos de la comunicación asíncrona en cursos de sistemas distribuidos. AsyncMonitor permite al alumno visualizar gráficamente una cola de procesos con sus respectivos estatus (pendiente, activo y completado), además de visualizar la representación de los objetos que son el resultado de la ejecución de los métodos asíncronos. En el artículo también se describe la implementación de la comunicación asíncrona en WOX, la cual utiliza los mecanismos de sondeo y transmisión, con lo cual es posible que una aplicación ejecute no solo métodos síncronos sobre objetos remotos, sino también asíncronos. Se presentan las pruebas que se realizaron con el objetivo verificar la funcionalidad de AsyncMonitor para diferentes tareas: recibir solicitudes de invocaciones de métodos asíncronos; la correcta ejecución de los métodos con sus estatus correspondientes; la visualización de los objetos resultantes, así como la funcionalidad de los mecanismos de comunicación asíncrona de sondeo y transmisión. Las pruebas contemplan 20 escenarios: 10 utilizando el mecanismo de comunicación asíncrona de sondeo y 10 utilizando la técnica de transmisión. En cada escenario se mantuvo disponible un servidor WOX y cinco computadoras cliente, las cuales enviaron un número aleatorio de solicitudes de invocaciones de métodos asíncronos al servidor WOX. Los resultados obtenidos en las pruebas realizadas son alentadores, ya que 100% de las solicitudes enviadas por las computadoras cliente al servidor WOX fueron encoladas en la cola de métodos, lo cual significa que el mecanismo para recepción de solicitudes y encolamiento funciona correctamente. Con respecto a los métodos que fueron encolados, 85% de ellos terminaron su ejecución; cambiaron adecuadamente su estatus y fue posible visualizar el resultado de su ejecución en el navegador web.