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
Abstract
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.References
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.
With the purpose of promoting the development and dissemination of research in education in Latin America, the RECI Ibero-American Journal of Computational and Informatic Sciences adhered to the Budapest Open Access Initiative, which is why it is identified as an open access publication. open. This means that any user can read the full text of the articles, print them, download them, copy them, link to them, distribute them and use the contents for other purposes. Creative Cummons licenses allow you to specify the rights of use of an open access journal available on the Internet in such a way that users know the publication rules. The authors who publish in this journal accept the following conditions: The authors retain the copyright and give the journal the right of first publication, with the work registered with the Creative Commons attribution license, which allows third parties to use what is published as long as they mention the authorship of the work and the first publication in this The authors may make other independent and additional contractual agreements for the non-exclusive distribution of the version of the article published in this journal (eg, include it in an institutional repository or publish it in a book) provided that they clearly indicate that the work was published for the first time in this journal. Authors are allowed and recommended to publish their work in I Internet (for example on institutional or personal pages) before and during the review and publication process, as it can lead to productive exchanges and a greater and faster dissemination of published work