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
Resumen
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.Citas
Bai, F., Tao, W. (2010). Message Broker Using Asynchronous Method Invocation in Web Service and Its Evaluation. Proceedings of the Third International Conference on Software Testing, Verification, and Validation Workshops, ParÃs, Francia, pp. 265-273.
Fielding, R. (2000). Architectural Styles and the Design of Network-based Software Architectures (Tesis doctoral, University of California, Irvine). Recuperada de http://www.ics.uci.edu/ fielding/pubs/dissertation/top.htm.
Fielding, R., Gettys, J., Mogul, J., Frysyk, H., Masinter, L., Leach, P., and Berners-Lee, T. (2007). The Hypertext Transfer Protocol, HTTP/1.1. W3C. Recuperado de https://www.w3.org/Protocols/HTTP/1.1/rfc2616bis/draft-lafon-rfc2616bis-03.html.
Hernández-Piña, L., Jaimez-González, C. R. (2016). Serialización de Objetos PHP a XML. Revista Research in Computing Science, 125, pp. 87-95.
Hernández-Salinas, J. M., Jaimez-González, C. R. (2016). Herramienta Web para Almacenar y Visualizar Objetos Distribuidos. Revista Research in Computing Science, 125, pp. 63-74.
Jaimez-González, C. R. (2014). A Simple Web Interface for Inspecting, Navigating, and Invoking Methods on Java and C# Objects. Revista Research in Computing Science: Advances in Computing Science, 81, pp. 133-142.
Jaimez-González, C., Lucas, S. M. (2007). Implementing a State-based Application Using Web Objects in XML. En R. Meersman y Z. Tari (Eds.), Lecture Notes in Computer Science, Vol. 4803/2007 (pp. 577-594). Berlin, Alemania: Springer-Verlag.
Jaimez-González, C. R., Lucas, S. M. (2011a). Interoperability of Java and C# with Web Objects in XML. Proceedings of the International Conference e-Society (ES 2011), �vila, España, pp. 518-522.
Jaimez-González, C. R., Lucas, S. M. (2011b). Asynchronous Method Invocations Using HTTP Polling and HTTP Streaming. Proceedings of the International Conference on Applied Computing 2011 (AC 2011), RÃo de Janeiro, Brasil, pp. 536-540.
Jaimez-González, C., Lucas, S., López-Ornelas, E. (2011). Easy XML Serialization of C# and Java Objects. Proceedings of the Balisage: The Markup Conference 2011, USA, Vol. 7. doi:10.4242/BalisageVol7.Jaimez01.
Voelter, M., Kircher, M., Zdun, U. (2003). Patterns for Asynchronous Invocations in Distributed Object Frameworks. Proceedings of EuroPlop 2003, Irsee, Alemania.
Web Objects in XML (WOX) [Software] (2009). Essex, Reino Unido: University of Essex. Recuperado de http://woxserializer.sourceforge.net/.
Web Objects in XML in PHP (PHPWOX) [Software] (2014). México: Universidad Autónoma Metropolitana. Recuperado de http://phpwoxserializer.sourceforge.net/.
Web Objects in XML in Python (PyWOX) [Software] (2014). México: Universidad Autónoma Metropolitana. Recuperado de http://pywoxserializer.sourceforge.net/.
World Wide Web Consortium - W3C (2016). Extensible Markup Language (XML). Recuperado de https://www.w3.org/XML/.
Zdun, U., Voelter, M., Kircher, M. (2004). Pattern-Based Design of an Asynchronous Invocation Framework for Web Services. International Journal of Web Service Research, 1(3). doi: 10.4018/jwsr.2004070103.
Con el propósito de promover el desarrollo y divulgación de la investigación en educación en América Latina, en La RECI Revista Iberoamericana de las Ciencias Computacionales e Informática se adhirió a la Iniciativa de Acceso Abierto de Budapest, por lo que se identifica como una publicación de acceso abierto. Esto significa que cualquier usuario puede leer el texto completo de los artículos, imprimirlos, descargarlos, copiarlos, enlazarlos, distribuirlos y usar los contenidos para otros fines. Las licencias Creative Cummons, permiten especificar los derechos de uso de una revista de acceso abierto disponible en Internet de tal manera que los usuarios conocen las reglas de publicación.
Los autores/as que publiquen en esta revista aceptan las siguientes condiciones:
Los autores/as conservan los derechos de autor y ceden a la revista el derecho de la primera publicación, con el trabajo registrado con la licencia de atribución de Creative Commons, que permite a terceros utilizar lo publicado siempre que mencionen la autoría del trabajo y a la primera publicación en esta revista.
Los autores/as pueden realizar otros acuerdos contractuales independientes y adicionales para la distribución no exclusiva de la versión del artículo publicado en esta revista (p. ej., incluirlo en un repositorio institucional o publicarlo en un libro) siempre que indiquen claramente que el trabajo se publicó por primera vez en esta revista.
Se permite y recomienda a los autores/as a publicar su trabajo en Internet (por ejemplo en páginas institucionales o personales) antes y durante el proceso de revisión y publicación, ya que puede conducir a intercambios productivos y a una mayor y más rápida difusión del trabajo publicado