{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,6,1]],"date-time":"2022-06-01T19:10:21Z","timestamp":1654110621953},"reference-count":28,"publisher":"IGI Global","issue":"1","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2013,1,1]]},"abstract":"
The past decade has marked a shift in Web development as users have become accustomed to Web applications with dynamic content and enhanced user experience. Different languages and technologies have been utilised to make way for such applications, gradually stretching existing standards and protocols to its limits. The field of Web development has been characterized by a lack of coherent architectural concepts, partly due to the absences of standard protocols that support modern communication styles. As a result of this, systems specifically designed for real-time data delivery have been required and realised with proprietary technology in the industry, consequently violating established software engineering principles such as modularity, consistency and simplicity. This paper explores how current Web technologies support the requirements of modern Web applications. A prototype application was developed in the last phase to demonstrate the efficacy of combining the WebSocket protocol and API together with the use of JavaScript as exclusive programming language at the client and server. Based on the findings of the research carried out it appears that the use of protocols and standards such as WebSocket, WebSocket API and Server-Sent Events caters for higher network performance, increased flexibility and standards compliance.<\/p>","DOI":"10.4018\/jitwe.2013010103","type":"journal-article","created":{"date-parts":[[2013,9,18]],"date-time":"2013-09-18T13:27:54Z","timestamp":1379510874000},"page":"36-50","source":"Crossref","is-referenced-by-count":2,"title":["Performance Evaluation of a Modern Web Architecture"],"prefix":"10.4018","volume":"8","author":[{"given":"Johan Andre","family":"Lundar","sequence":"first","affiliation":[{"name":"School of Information Systems, Computing and Mathematics, Brunel University, Uxbridge, UK"}]},{"given":"Tor-Morten","family":"Gr\u00f8nli","sequence":"additional","affiliation":[{"name":"Norwegian School of Information Technology, Oslo, Norway"}]},{"given":"Gheorghita","family":"Ghinea","sequence":"additional","affiliation":[{"name":"School of Information Systems, Computing and Mathematics, Brunel University, Uxbridge, UK & Norwegian School of Information Technology, Oslo, Norway"}]}],"member":"2432","reference":[{"key":"jitwe.2013010103-0","doi-asserted-by":"crossref","unstructured":"Bozdag, E., Mesbah, A., & van Deursen, A. (2007). A comparison of push and pull techniques for AJAX. In Proceedings of the 9th IEEE International Symposium on Web Site Evolution (WSE\u201907) (pp. 15-22). Washington, DC: IEEE Computer Society.","DOI":"10.1109\/WSE.2007.4380239"},{"key":"jitwe.2013010103-1","doi-asserted-by":"crossref","unstructured":"Erenkrantz, J. R., Gorlick, M. M., Suryanarayana, G., & Taylor, R. N. (2007). From representations to computations: The evolution of web architectures. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (pp. 255-264). New York, NY: Association for Computer Machinery.","DOI":"10.1145\/1287624.1287660"},{"key":"jitwe.2013010103-2","doi-asserted-by":"crossref","unstructured":"Fielding, R. T., Irvine, U. C., Gettys, J., Mogul, J., Frystyk, H., & Masinter, L. \u2026 Berners-Lee, T. (1999). Hypertext transfer protocol - HTTP\/1.1\u2019 (Internet Engineering Task Force - Request For Comments 2616). Retrieved December 16, 2011, from http:\/\/www.ietf.org\/rfc\/rfc2616.txt","DOI":"10.17487\/rfc2616"},{"key":"jitwe.2013010103-3","doi-asserted-by":"publisher","DOI":"10.1145\/514183.514185"},{"key":"jitwe.2013010103-4","doi-asserted-by":"crossref","unstructured":"Ganty, P., Majumdar, R., & Rybalchenko, A. (2009). Verifying liveness for asynchronous programs. In Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (pp. 102-113). New York, NY: Association for Computer Machinery.","DOI":"10.1145\/1594834.1480895"},{"key":"jitwe.2013010103-5","doi-asserted-by":"crossref","unstructured":"Gutwin, C., Lippold, M., & Graham, N. T. C. (2011). Real-time groupware in the browser: Testing the performance of web-based networking. In Proceedings of the ACM 2011 Conference on Computer Supported Cooperative Work (pp.167-177). New York, NY: Association for Computer Machinery.","DOI":"10.1145\/1958824.1958850"},{"key":"jitwe.2013010103-6","doi-asserted-by":"crossref","unstructured":"Hauswirth, M., & Jazayeri, M. (1999). A component and communication model for push systems. In Proceedings of the 7th European Software Engineering Conference Held Jointly with the 7th ACM SIGSOFT International Symposium on Foundations of Software Engineering (pp.20-38). London, UK: Springer-Verlag.","DOI":"10.1007\/3-540-48166-4_3"},{"key":"jitwe.2013010103-7","unstructured":"Internet Engineering Task Force. (2010). Getting started in the IETF - structure. Retrieved December 8, 2011, from http:\/\/www.ietf.org\/newcomers.html#structure"},{"key":"jitwe.2013010103-8","unstructured":"Joyent Inc. (2011). Node.js - Evented I\/O for V8 JavaScript. Retrieved February 4, 2012, from http:\/\/nodejs.org\/"},{"key":"jitwe.2013010103-9","doi-asserted-by":"crossref","unstructured":"Kahlon, V., Sinha, N., & Kruus, E. (2009). Static data race detection for concurrent programs with asynchronous calls. In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (pp. 13-22). New York, NY: Association for Computer Machinery.","DOI":"10.1145\/1595696.1595701"},{"key":"jitwe.2013010103-10","unstructured":"Khare, R., & Taylor, R. N. (2004). Extending the representational state transfer (REST) architectural style for decentralized systems. In Proceedings of the 26th International Conference on Software Engineering (pp. 428-437). Washington, DC: IEEE Computer Society."},{"issue":"3","key":"jitwe.2013010103-11","first-page":"207","article-title":"Partitioning web applications between the server and the client.","volume":"9","author":"J.Kuuskeri","year":"2010","journal-title":"Journal of Web Engineering"},{"key":"jitwe.2013010103-12","doi-asserted-by":"crossref","unstructured":"Li, P., & Zdancewic, S. (2007). Combining events and threads for scalable network services - Implementation and evaluation of monadic, application-level concurrency primitives. In Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 189-199). New York, NY: Association for Computer Machinery.","DOI":"10.1145\/1273442.1250756"},{"key":"jitwe.2013010103-13","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2008.04.005"},{"key":"jitwe.2013010103-14","unstructured":"Mikkonen, T., & Taivalsaari, A. (2007). Web applications \u2013 spaghetti code for the 21st century. Retrieved October 20, 2011, from http:\/\/labs.oracle.com\/techrep\/2007\/smli_tr-2007-166.pdf"},{"key":"jitwe.2013010103-15","unstructured":"Ohara, M., Nagpurkar, P., Ueda, Y., & Ishizaki, K. (2009). The data-centricity of web 2.0 workloads and its impact on server performance. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS) (pp. 133-142). Washington, DC: IEEE Computer Society."},{"key":"jitwe.2013010103-16","doi-asserted-by":"crossref","first-page":"344","DOI":"10.1145\/267896.267920","author":"D. S.Rosenblum","year":"1997","journal-title":"A design framework for internet-scale event observation and notification. ACM SIGSOFT Software Engineering Notes"},{"key":"jitwe.2013010103-17","doi-asserted-by":"crossref","unstructured":"Schneider, F., Agarwal, S., Alpcan, T., & Feldmann, A. (2008). The new web: Characterizing AJAX traffic. In Proceedings of the 9th International Conference on Passive and Active Network Measurement (pp. 31-40). Berlin, Germany: Springer-Verlag.","DOI":"10.1007\/978-3-540-79232-1_4"},{"key":"jitwe.2013010103-18","author":"S.Souders","year":"2009","journal-title":"Even faster web sites"},{"key":"jitwe.2013010103-19","author":"S.Stefanov","year":"2008","journal-title":"Object-oriented JavaScript"},{"key":"jitwe.2013010103-20","unstructured":"Tcpdump\/Libpcap. (2010). Tcpdump & libcap. Retrieved February 7, 2012, from http:\/\/www.tcpdump.org\/"},{"key":"jitwe.2013010103-21","unstructured":"The Dojo Foundation. (2007). The Bayeux specification. Retrieved December 7, 2011, from http:\/\/cometd.org\/documentation\/bayeux\/spec"},{"key":"jitwe.2013010103-22","unstructured":"The Eclipse Foundation. (2010). The jetty web server. Retrieved December 12, 2011, from http:\/\/www.eclipse.org\/jetty\/"},{"key":"jitwe.2013010103-23","unstructured":"The Hypertext-Bidirectional working group. (2010). The WebSocket protocol (Internet-Draft - version 03). Retrieved December 8, 2011, from http:\/\/tools.ietf.org\/html\/draft-ietf-hybi-thewebsocketprotocol-03"},{"key":"jitwe.2013010103-24","unstructured":"Web Hypertext Application Technology Working Group. (2011). Web workers (Web Application 1.0 - Living standard - Last updated 1 July 2011). Retrieved July 4, 2011, from http:\/\/www.whatwg.org\/specs\/web-workers\/current-work\/"},{"key":"jitwe.2013010103-25","doi-asserted-by":"crossref","unstructured":"Welsh, M., Culler, D., & Brewer, E. (2001). SEDA: An architecture for well-conditioned, scalable internet services. In Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles (pp. 230-243). New York, NY: Association for Computer Machinery.","DOI":"10.1145\/502059.502057"},{"key":"jitwe.2013010103-26","unstructured":"World Wide Web Consortium. (2011). The WebSocket API (W3C Editor\u2019s Draft 21 June 2011). Retrieved July 2, 2011, from http:\/\/dev.w3.org\/html5\/websockets\/"},{"key":"jitwe.2013010103-27","author":"N. C.Zakas","year":"2010","journal-title":"High performance JavaScript"}],"container-title":["International Journal of Information Technology and Web Engineering"],"original-title":[],"language":"ng","link":[{"URL":"https:\/\/www.igi-global.com\/viewtitle.aspx?TitleId=85321","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,6,1]],"date-time":"2022-06-01T18:34:24Z","timestamp":1654108464000},"score":1,"resource":{"primary":{"URL":"https:\/\/services.igi-global.com\/resolvedoi\/resolve.aspx?doi=10.4018\/jitwe.2013010103"}},"subtitle":[""],"short-title":[],"issued":{"date-parts":[[2013,1,1]]},"references-count":28,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2013,1]]}},"URL":"http:\/\/dx.doi.org\/10.4018\/jitwe.2013010103","relation":{},"ISSN":["1554-1045","1554-1053"],"issn-type":[{"value":"1554-1045","type":"print"},{"value":"1554-1053","type":"electronic"}],"subject":["General Computer Science"],"published":{"date-parts":[[2013,1,1]]}}}