A Study of Advanced N-Tier Model for Improving Maintainability of Web Applications in Cloud Environment

클라우드 환경에서 웹 어플리케이션의 유지보수성 향상을 위한 N-계층 모델의 개선에 관한 연구

  • Kim, In-Kyu (Dept. of Management Information System, Kookmin University) ;
  • Shin, Joon-Chul (Dept. of Management Information System, Kookmin University)
  • 김인규 (국민대학교 경영정보학부) ;
  • 신준철 (국민대학교 경영정보학부)
  • Received : 2013.12.17
  • Accepted : 2013.12.31
  • Published : 2013.12.30

Abstract

Software-as-a-Service (SaaS) has led to paradigm shifts in the information management area by combining it with SOA and Mashup. System developers now have more chances to access various high-quality functions through API opened on the web. But external resources are controlled by service providers so that it raises the component's uncertainty in system management which is related to external resources. In the cloud environment, components related to external resources causes negative effects on system's maintainability by making them dependant on service providers. This study proposes a way to enhance maintainability by using stable external resources. For this work, we suggest the N+1-tier model in which an external resource tier is added to the N-tier model. After that, we analyze how adding an external resource tier affects the decreasing complexity of maintainability and improving maintainability on web application.

클라우드 컴퓨팅의 등장으로 인해 최근의 어플리케이션 개발자들은 외부 자원을 적극적으로 활용하고 있다. 특히 클라우드 컴퓨팅의 기술 분류 중 서비스로서의 소프트웨어(Software as a Service, SaaS) 개념은 SOA, 매쉬업 등의 기술들과 결합하여 정보 자원 관리 패러다임을 변화시키고 있다. 개발자들은 웹에 공개된 API를 통해 고품질의 기능을 다양하게 제공받을 수 있는 기회를 갖게 되었다. 하지만 외부 컴퓨팅 자원은 서비스 제공자에 의해 통제된다. 관리적 측면을 고려할 때 외부 자원을 활용하는 어플리케이션의 이러한 문제는 관련된 컴포넌트의 불확실성을 증가시킨다. 클라우드 환경에서 외부 자원과 관련된 컴포넌트는 해당 기능을 제공하는 서비스 제공자에 의존함으로써 어플리케이션 유지보수성에 부정적인 영향을 미친다. 본 연구는 웹 어플리케이션 아키텍처가 외부 자원을 안정적으로 활용함으로써 유지보수성을 향상시킬 수 있는 방안을 제시한다. 이를 위해 기존의 N-계층 아키텍처에 외부 자원 계층을 추가한 N+1-계층 아키텍처를 제안한다. 그리고 외부 자원 계층의 추가가 웹어플리케이션 유지보수 복잡성의 감소와 유연성 및 변경가능성 등 유지보수성 향상에 미치는 영향을 분석한다.

Keywords

Acknowledgement

Supported by : 국민대학교

References

  1. Bipin Upadhyaya and Inkyu Kim, "Architecture for Mashups in the Cloud," 정보기술아키텍처연구, Vol. 6, No.1, pp.60-67, 2009
  2. Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, and Matei Zaharia, "A View of Cloud Computing," Association for Computing Machinery, Communications of the ACM, Vol. 53, Iss.4, pp.50, 2010
  3. Victor R. Basili, Lionel C. Briand and Walcelio L. Melo, "A Validation of Object-Oriented Design Metrics as Quality Indicators," IEEE Transactions on Software Engineering, Vol. 22, No. 10, pp. 751- 761, 1996 https://doi.org/10.1109/32.544352
  4. Gerald M. Berns, "Assessing Software Maintainability," Communications of the ACM, Vol. 27, Iss. 1, pp. 14-23, 1984 https://doi.org/10.1145/69605.357965
  5. Barry W. Boehm, J. R. Brown and M. Lipow, "Quantitative Evaluation of Software Quality," ICSE '76 Proceedings of the 2nd international conference on Software engineering, 1976
  6. Lionel C. Briand, Sandro Morasca and Victor R. Basili, "Measuring and Assessing Maintainability at the End of High Level Design," Proc. IEEE Conf. Software Maintenance, 1993
  7. Joseph P. Cavano and James A. McCall, "A Framework for the Measurement of Software Quality," Proceedings of the software quality assurance workshop on Functional and performance issues, 1978
  8. Shyam R. Chidamber and Chris F. Kemerer, "Towards a Metrics Suite for Object Oriented Design," OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications, 1991
  9. Don Coleman, Dan Ash, Bruce Lowther and Paul Oman, "Using Metrics to Evaluate Software System Maintainability," Computer, Vol. 27, Iss. 8, pp.44- 49, 1994 https://doi.org/10.1109/2.303623
  10. Roy Thomas Fielding, "Architectural styles and the design of network-based software Architectures," University of California, Irvine, 2000
  11. Ian Foster, Carl Kesselman, Jeffrey M. Nick and Steven Tuecke, "The physiology of the grid," Technical Report, Globus Project, 2002
  12. D. Garlan and M. Shaw, "An introduction to software architecture," Advances in Software Engineering and Knowledge Engineering, Vol. 1, World Scientific Publishing Co., Singapore, 1993
  13. Jeffrey Gortmaker, Marijn Janssen and Rene W. Wagenaar, "The Advantages of Web Service Orchestration in Perspective," ICEC '04 Proceedings of the 6th international conference on Electronic commerce, 2004
  14. K. Gottschalk, S. Graham, H. Krege and J. Snell, "Introduction to web services," IBM Systems Journal, Vol. 41, Iss. 2, 2002
  15. ISO/IEC, "ISO/IEC 9126-1 Software Engineering - Product Quality Part 1: Quality Model," 2001
  16. ISO/IEC, "ISO/IEC 9126-1 Software Engineering Product Quality Part 2: External Metrics," 2002
  17. Jan Bosch, "Assessing Optimal Software Architecture Maintainability," Proceedings of Fifth European Conference on Software Maintenance and Reengineering (CSMR'01), IEEE CS Press, 2001
  18. Jeff Offutt, "Quality Attributes of Web Software Applications," IEEE Software, Vol. 19, No. 2, pp.25- 32, 2002
  19. Anant Jhingran, "Enterprise Information Mashups: Integrating Information, Simply," VLDB '06 Proceedings of the 32nd international conference on Very large data bases, 2006
  20. Siew Poh Lee, Lai Peng Chan and Eng Wah Lee, "Web Services Implementation Methodology for SOA Application," Proceedings of the International Conference on Industrial Informatics, IEEE, 2006
  21. Alexander Lenk, Markus Klems, Jens Nimis, Stefan Tai and Thomas Sandholm, "What's Inside the Cloud? An Architectural Map of the Cloud Landscape," Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing, 2009
  22. Wei Li and Sallie Henry, "Object Oriented Metrics that Predict Maintainability," Journal of Systems and Software, Vol. 23, Iss. 2, pp.111-122, 1993 https://doi.org/10.1016/0164-1212(93)90077-B
  23. Duane Merrill, "Mashups: The New Breed of Web App," Technical report, IBM Corp., 2006
  24. Ric Merrifield, Jack Calhoun and Dennis Stevens, "The Next Revolution in Productivity, Harvard Business Review, Vol. 86, No. 6, pp.72-80, 2008
  25. Liam O'Brien, Paulo Merson and Len Bass, "Quality attributes for service-oriented architectures," Proceedings of the International Workshop on Systems Development in SOA Environments, 2007
  26. M. P. Papazoglou and D. Georgakopoulos, "Service- Oriented Computing," Communications of the ACM, Vol. 46, No. 10, 2003
  27. K. Rangan, "The Cloud Wars: $100+Billion at Stake," Technical Report, Merrill Lynch, 2008
  28. Christoph Schroth and Till Janner, "Web 2.0 and SOA: Converging Concepts Enabling the Internet of Services," IT Professional, Vol. 9, No. 3, pp.36-41, 2007
  29. L. Siegele, "Let It Rise: A Special Report on Corporate IT," The Economist, 2008
  30. Richard N. Taylor, Nenad Medvidovic and Eric M. Dashofy, "Software Architecture Foundations, Theory, and Practice," John Wiley & Sons, Inc, 2010
  31. Mark Turner, David Budgen and Pearl Brereton, "Turning Software into a Service," Computer, Vol. 36, No. 10, pp. 38-44, 2003
  32. Aaron Weiss, "Computing in the Clouds," netWorker, Vol. 11, No. 4, pp.16-25, 2007 https://doi.org/10.1145/1327512.1327513
  33. Jin Yu, Boualem Benatallah, Fabio Casati and Florian Daniel, "Understanding Mashup Development," IEEE Internet Computing, Vol. 12, No. 5, pp.44-52, 2008 https://doi.org/10.1109/MIC.2008.114
  34. Fang Zhuo, Bruce Lowther, Paul Oman and Jack Hagemeister, "Constructing and Testing Software Maintainability Assessment Models," Proceedings of First International Software Metrics Symposium, IEEE, 1993
  35. Stuart H. Zweben, Stephen H. Edwards, Bruce W. Weide and Joseph E. Hollingsworth, "The Effects of Layering and Encapsulation on Software Development Cost and Quality," IEEE Transactions on Software Engineering, Vol. 21 No. 3, pp.200-208, 1995. https://doi.org/10.1109/32.372147