DOI QR코드

DOI QR Code

MVC Architecture-aware Restructuring of Web Apps

MVC 아키텍처 인지하는 웹 앱 재구조화

  • Oh, Jaewon (School of Computer Science and Information Engineering, The Catholic University of Korea) ;
  • Ahn, Woo Hyun (School of Software, Kwangwoon University) ;
  • Kim, Taegong (Department of Computer Engineering, Inje University)
  • Received : 2017.08.02
  • Accepted : 2017.09.20
  • Published : 2017.11.30

Abstract

Web apps have a problem that they cause same data to be repetitively retrieved, processed, and displayed when web browsers load different web pages. To resolve the problem, this paper presents and evaluates a new method for restructuring of Java web apps. This approach dynamically analyzes Java web apps from the MVC (Model-View-Controller) architecture point of view and identifies redundant data by using the composite view pattern. Then the input apps are restructured in order not to load the redundant data when users make requests for new pages. This restructuring generates new web apps that conform to the MVC architecture and improve the performance of input web apps. The experimental results showed that when compared to legacy web apps, the restructured apps' response time was reduced on desktop PCs and mobile devices by 38% and 55%, respectively. In addition, case studies using open-source web apps showed the applicability of the proposed approach.

웹 앱에는, 서로 다른 웹 페이지를 웹브라우저에 로드할 때 동일 데이터가 반복적으로 획득되고 처리되어 화면상에 표시되는 문제가 있다. 본 논문은 이 문제를 해결하기 위해 자바 웹 앱을 재구조화하는 기법을 제안하고 평가한다. 자바 웹 앱을 MVC(Model-View-Controller) 아키텍처 관점에서 동적 분석하고 컴포지트 뷰 패턴을 활용하여 중복해서 사용되는 데이터를 식별한다. 이를 토대로 페이지 요청 시 중복 데이터가 로드되지 않도록 앱을 재구조화한다. 재구조화를 통해 MVC 아키텍처에 부합하며 성능이 향상된 웹 앱을 생성한다. 이렇게 재구조화된 웹 앱은 기존 웹 앱의 응답 시간을 데스크톱 PC, 모바일 기기에서 각각 38%, 55% 개선하였다. 아울러 오픈 소스 웹 앱을 이용한 사례 연구를 통해 제안하는 기법의 적용 가능성을 보였다.

Keywords

References

  1. J. Oh, W. Ahn, and T. Kim, "Web app restructuring based on shadow DOMs to improve maintainability," in Proceedings of the 8th IEEE International Conference on Software Engineering and Service Science, Beijing, pp. 118-122, 2017.
  2. C. Kim and K. Shim, "TEXT: automatic template extraction from heterogeneous web pages," IEEE Transactions on Knowledge and Data Engineering, vol. 23, no. 4, pp. 612-626, Aug. 2011. https://doi.org/10.1109/TKDE.2010.140
  3. J. Oh, W. Ahn, S. Jeong, J. Lim, and T. Kim, "Automated transformation of template-based web applications into single-page applications," in Proceedings of the IEEE 37th Annual Computer Software and Applications Conference, Kyoto, pp. 292-302, 2013.
  4. A. Mesbah and A. Van Deursen, "Migrating multi-page web applications to single-page AJAX interfaces," in Proceedings of the 11th European Conference on Software Maintenance and Reengineering, Amsterdam, pp. 181-190, 2007.
  5. A. Garrido, G. Rossi, and D. Distante, "Model refactoring in web applications," in Proceedings of the 9th IEEE International Workshop on Web Site Evolution, Paris, pp. 89-96, 2007.
  6. J. Chu and T. Dean, "Automated migration of list based JSP web pages to AJAX," in Proceedings of the 8th IEEE International Working Conference on Source Code Analysis and Manipulation, Beijing, pp. 217-226, 2008.
  7. B. Kurniawan and J. Xue, "A comparative study of web application design models using the java technologies," in Advanced Web Technologies And Applications, 1st ed. Berlin, Springer Berlin Heidelberg, pp. 711-721, 2004.
  8. S. Caballe, J. A. Ortega, J. M. Camps, L. Barolli, E. Kulla, and E. Spaho, "A presentation framework to simplify the development of java EE application thin clients," in Proceedings of the 2014 Eighth International Conference on Complex, Intelligent and Software Intensive Systems, Birmingham, pp. 421-426, 2014.
  9. G. Seshadri. Understanding javaserver pages model 2 architecture [Internet]. Available: http://www.javaworld. com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html.
  10. I. H. Sarker and K. Apu, "MVC architecture driven design and implementation of java framework for developing desktop application," International Journal of Hybrid Information Technology, vol. 7, no. 5, pp. 317-322, Sept. 2014. https://doi.org/10.14257/ijhit.2014.7.5.29
  11. D. P. Pop and A. Altar, "Designing an MVC model for rapid web application development," Procedia Engineering, vol. 69, pp. 1172-1179, Mar. 2014. https://doi.org/10.1016/j.proeng.2014.03.106
  12. J. Oh, W. Ahn, and T. Kim, "Automatic extraction of component collaboration in java web applications by using servlet filters and wrappers," KIPS Transactions on Software and Data Engineering, vol. 6, no. 7, pp. 329-336, Aug. 2017. https://doi.org/10.3745/KTSDE.2017.6.7.329
  13. D. Alur, J. Crupi, and D. Malks, Core J2EE Patterns: Best Practices and Design Strategies, 2nd ed. Palo Alto, Sun Microsystems, Inc., 2003.
  14. Z. Mushtaq, G. Rasool, and B. Shahzad, "Extendable and customizable features for the detection of JEA/J2EE patterns," in Proceedings of the 2016 International Conference on Open Source Systems & Technologies, Lahore, pp. 151-155, 2016.
  15. Z. Mushtaq and G. Rasool, "Multilingual source code analysis: state of the art and challenges," in Proceedings of the 2015 International Conference on Open Source Systems & Technologies, Lahore, pp. 170-175, 2015.
  16. N. J. Bien and T. D. Thu, "Graphical user interface variability architecture pattern," In Proceedings of the Sixth International Symposium on Information and Communication Technology, Hue City, pp. 304-311, 2015.
  17. J. Oh, W. Ahn, and T. Kim. "MVC architecture driven restructuring to achieve client-side web page composition," in Proceedings of the 7th IEEE International Conference on Software Engineering and Service Science, Beijing, pp. 45-53, 2016.
  18. PJAX library [Internet]. Available: https://github.com/defunkt/jquery-pjax.
  19. M. Pilgrim. Dive into HTML5 [Internet]. Available: http://diveintohtml5.info/.
  20. E. Cecchet, A. Chanda, S. Elnikety, J. Marguerite, and W. Zwaenepoel, "Performance comparison of middleware architectures for generating dynamic web content," in Proceedings of the 4th ACM/IFIP/USENIX Middleware, Rio de Janeiro, pp. 242-261, 2003.