Validating the Use of Git-based Content Management System as a Component of Front End Web Architecture
Date
2023-05-30
Journal Title
Journal ISSN
Volume Title
Publisher
Department of Computer Science and Engineering(CSE), Islamic University of Technology(IUT), Board Bazar, Gazipur-1704, Bangladesh
Abstract
This research paper introduces an innovative concept that involves utilizing a
Git-based Content Management System (CMS) as a bridge between a server-side
controller application and static files. The primary objective is to expedite the
delivery of static files by eliminating the need for the server to re-render them
whenever they are requested by the frontend. This architectural design pattern
particularly targets data that requires occasional modifications but does not ne cessitate frequent updates.The proposed approach is subjected to rigorous testing
and validation against three common challenges encountered in web development:
response performance, scalability, and information validation. Throughout the
evaluation process, the research successfully demonstrates that this new architec tural approach surpasses the traditional server-side rendering method across all
three criteria, specifically in scenarios where there is a high volume of read-heavy
operations. At the same time, it is important to note that this improvement in
performance comes at the cost of reduced efficiency when dealing with write-heavy
websites, which is supposedly because of too many file-system operations done by
the CMS in case of write-heavy use cases.
Description
Supervised by
Dr. Hasan Mahmud,
Associate Professor,
Co-supervisor
Dr. Md. Kamrul Hasan
Professor
Department of Computer Science and Engineering(CSE),
Islamic University of Technology(IUT),
Board Bazar, Gazipur-1704, Bangladesh
Keywords
Citation
[1] D. Barry and T. Stanienda, “Solving the java object storage problem,” Com puter, vol. 31, no. 11, pp. 33–40, Nov. 1998, Excerpt at https : / / www . service - architecture . com/ articles / object- relational - mapping / transparent-persistence-vs-jdbc-call-level-interface.html. [On line]. Available: https://www.computer.org/csdl/magazine/co/1998/ 11/ry033/13rRUxC0SRY, Lines of code using O/R are only a fraction of those needed for a call-level interface (1:4). For this exercise, 496 lines of code were needed using the ODMG Java Binding compared to 1,923 lines of code using JDBC. [2] E. Meijer, D. Leijen, and J. Hook, “Client-side web scripting with haskellscript,” in Practical Aspects of Declarative Languages, G. Gupta, Ed., Berlin, Heidel berg: Springer Berlin Heidelberg, 1998, pp. 196–210, isbn: 978-3-540-49201-6. [3] I. Wijegunaratne and G. Fernandez, Distributed Applications Engineering: Building New Applications and Managing Legacy Applications with Dis tributed Technologies (Practitioner Series). Springer London, 1998, isbn: 9783540762102. [Online]. Available: https : / / books . google . com . bd / books?id=ZtJQAAAAMAAJ. [4] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction To Algorithms (Mit Electrical Engineering and Computer Science). MIT Press, 2001, isbn: 9780262032933. [Online]. Available: https : / / books . google . com . bd / books?id=NLngYyWFl%5C_YC. [5] Oracle Corporation. “Oracle Load Testing User’s Guide.” (2001), [Online]. Available: https://docs.oracle.com/cd/E25292_01/doc.901/e15484/ oltchap2.htm (visited on 05/18/2023). [6] MediaWiki Contributors. “MediaWiki.” (2002), [Online]. Available: https: //www.mediawiki.org/. 46 [7] M. Fowler, UML Distilled: A Brief Guide to the Standard Object Modeling Language (Addison-Wesley object technology series). Addison-Wesley, 2004, isbn: 9780134865133. [Online]. Available: https://books.google.com.bd/ books?id=19yjzQEACAAJ. [8] D. Goans, G. Leach, and T. M. Vogel, “Beyond html: Developing and re imagining library web guides in a content management system,” Library Hi Tech, 2006. [9] M. Seadle, “Content management systems,” Library Hi Tech, vol. 24, no. 1, B. L. Eden, Ed., pp. 5–7, Jan. 2006. doi: 10.1108/07378830610652068. [Online]. Available: https://doi.org/10.1108/07378830610652068. [10] npm, Inc. “npm.” (2009), [Online]. Available: https://www.npmjs.com/. [11] B. O’Sullivan, “Making sense of revision-control systems,” Communications of the ACM, vol. 52, no. 9, pp. 56–62, 2009. [12] The Node.js Contributors. “Node.js.” (2009), [Online]. Available: https: //nodejs.org/. [13] The Express.js Contributors. “Express.js.” (2010), [Online]. Available: https: //expressjs.com/. [14] David Elbe. “simple-git.” (2011), [Online]. Available: https://www.npmjs. com/package/simple-git. [15] Sequelize Contributors. “Sequelize.” (2011), [Online]. Available: https:// sequelize.org/. [16] S. Chacon and B. Straub, Pro Git, 2nd. USA: Apress, 2014, isbn: 1484200772. [17] S. Mishra, N. K. Singh, and V. Rousseau, “Chapter 3 - generic soc architecture components,” in System on Chip Interfaces for Low Power Design, S. Mishra, N. K. Singh, and V. Rousseau, Eds., Morgan Kaufmann, 2016, pp. 29–51, isbn: 978-0-12-801630-5. doi: https://doi.org/10.1016/B978- 0- 12- 801630- 5.00003- 7. [Online]. Available: https://www.sciencedirect. com/science/article/pii/B9780128016305000037. 47 [18] A. A. Althanoon, “Mobile web browsers in android deriving reference archi tecture,” International Journal of Computer Applications, vol. 180, pp. 975– 8887, Jan. 2018. [19] A. Mukhamadiev, “Transitioning from server-side to client-side rendering of the web-based user interface: A performance perspective,” 2018. [20] M. Tomiˇsa, M. Milkovi´c, and M. Caˇci´c, “Performance evaluation of dynamic ˇ and static wordpress-based websites,” in 2019 23rd International Computer Science and Engineering Conference (ICSEC), 2019, pp. 321–324. doi: 10. 1109/ICSEC47112.2019.8974709. [21] T. F. Iskandar, M. Lubis, T. F. Kusumasari, and A. R. Lubis, “Compari son between client-side and server-side rendering in the web development,” IOP Conference Series: Materials Science and Engineering, vol. 801, no. 1, p. 012 136, May 2020. doi: 10.1088/1757-899X/801/1/012136. [Online]. Available: https://dx.doi.org/10.1088/1757-899X/801/1/012136. [22] S. K. Shivakumar and S. K. Shivakumar, “Modern web performance patterns,” Modern Web Performance Optimization: Methods, Tools, and Patterns to Speed Up Digital Platforms, pp. 273–300, 2020. [23] Crafter CMS. “Crafter cms documentation,” Crafter CMS. (2023), [Online]. Available: https://docs.craftercms.org/en/4.0/index.html (visited on 05/22/2023). [24] EJS. “EJS: Embedded JavaScript Templates.” (2023), [Online]. Available: https://ejs.co/ (visited on 05/18/2023). [25] IBM. “Ibm developer for z/os documentation - json4j,” IBM. (2023), [On line]. Available: https://www.ibm.com/docs/en/developer- for- zos/ 14 . 1 ? topic = json - javascript - object - notation - json4j (visited on 05/19/2023). [26] Kinsta. “WordPress Market Share.” (2023), [Online]. Available: https:// kinsta.com/wordpress-market-share/ (visited on 05/22/2023). 48 [27] Netlify CMS. “Netlify cms documentation,” Netlify. (2023), [Online]. Avail able: https://preview- auth- doc-- netlify- cms- www.netlify.app/ docs/ (visited on 05/22/2023). [28] The Apache Software Foundation. “Ab - apache http server benchmarking tool,” Apache Software Foundation. (2023), [Online]. Available: https:// httpd.apache.org/docs/2.4/programs/ab.html (visited on 05/19/2023). [29] The Linux Kernel Archives. “NILFS2: The New Implementation of a Log structured File System,” The Linux Kernel Archives. (May 2023), [Online]. Available: https : / / www . kernel . org / doc / html / next / filesystems / nilfs2.html. [30] “WordPress Documentation,” WordPress. (), [Online]. Available: https : //wordpress.org/documentation/ (visited on 07/22/2022). [31] Docker. “MediaWiki - Docker Hub.” (N/A), [Online]. Available: https : //hub.docker.com/_/mediawiki. [32] Portent. “Research: Site speed is hurting everyone’s revenue.” Accessed on May 23, 2023, Portent. (N/A), [Online]. Available: https://www.portent. com / blog / analytics / research - site - speed - hurting - everyones - revenue.htm (visited on 05/23/2023).
