Developing a Web Framework Based on Inversion of Control
Main Article Content
Abstract
Increasing the reusability and manageability of software units is one of the most fundamental issues in the field of software engineering. To increase these parameters, which are important factors that determine the quality of the software, it is necessary to develop the units that make up the software in a way that minimizes their dependency on each other. This basic requirement exists in web applications, as in other types of software. Inversion of Control – IoC is a design pattern used to manage the components of a software application and combine them by reducing inter dependencies. This study focuses on the development of a web framework that includes IoC containers and HTTP services, which have an important role in the development of modern web applications. The developed framework has the abilities to automatically analyze dependencies and integrate components flexibly by creating its own IoC container. Thanks to these features, an infrastructure has been created where developers can modularize their codes and easily create sustainable software development projects. In addition, HTTP services developed within this framework provide the basic communication mechanisms that web applications need. These services contain the necessary functions to process and route HTTP requests and present the results. The framework aims to provide a solid foundation for future web projects by offering an innovative and original approach.
Downloads
Article Details
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
References
Johnson, R., Hoeller, J., Arendsen, A., & Thomas, R. (2009). Professional Java development with the Spring framework. John Wiley & Sons.
Galloway, J., Haack, P., Wilson, B., & Allen, K. S. (2012). Professional ASP. NET MVC 4. John Wiley & Sons.
He, R. Y. (2015, January). Design and implementation of web-based on Laravel framework. In 2014 International Conference on Computer Science and Electronic Technology (ICCSET 2014) (pp. 301-304). Atlantis Press. DOI: https://doi.org/10.2991/iccset-14.2015.66
Sommerville, I. (2010). Software Engineering. Harlow, England: Addison-Wesley. ISBN: 978-0-13-703515-1.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J. M., & Irwin, J. (1997). Aspect-oriented programming. In ECOOP'97—Object-Oriented Programming: 11th European Conference Jyväskylä, Finland, June 9–13, 1997 Proceedings 11 (pp. 220-242). Springer Berlin Heidelberg. DOI: https://doi.org/10.1007/BFb0053381
Suh, N. P., & Suh, N. P. (2001). Axiomatic design: advances and applications (Vol. 4). New York: Oxford university press.
Fowler, M. (2018). Refactoring: improving the design of existing code. Addison-Wesley Professional.
Petersen, K., Wohlin, C., & Baca, D. (2009). The waterfall model in large-scale development. In Product-Focused Software Process Improvement: 10th International Conference, PROFES 2009, Oulu, Finland, June 15-17, 2009. Proceedings 10 (pp. 386-400). Springer Berlin Heidelberg. DOI: https://doi.org/10.1007/978-3-642-02152-7_29
Srivastava, A., Bhardwaj, S., & Saraswat, S. (2017, May). SCRUM model for agile methodology. In 2017 International Conference on Computing, Communication and Automation (ICCCA) (pp. 864-869). IEEE. DOI: https://doi.org/10.1109/CCAA.2017.8229928
Martin, J. (1991). Rapid application development. Macmillan Publishing Co., Inc..
Boehm, B. W. (1988). A spiral model of software development and enhancement. Computer, 21(5), 61-72. DOI: https://doi.org/10.1109/2.59
Ruby, S., Copeland, D. B., & Thomas, D. (2020). Agile web development with rails 6. Pragmatic Bookshelf.
Azran, N. Z. A. Z., & Wahid, N. (2022). Design and Development of a Web-Based System using Laravel Framework: A Competition Management System. Applied Information Technology And Computer Science, 3(2), 514-532.
Jazayeri, M. (2007, May). Some trends in web application development. In Future of Software Engineering (FOSE'07) (pp. 199-213). IEEE. DOI: https://doi.org/10.1109/FOSE.2007.26
Gharibeh, S., Melhem, S., & Najadat, H. (2020, April). Classification on Web Application Requests. In 2020 11th International Conference on Information and Communication Systems (ICICS) (pp. 1-5). IEEE. DOI: https://doi.org/10.1109/ICICS49469.2020.239537
Althubiti, S., Yuan, X., & Esterline, A. (2017). Analyzing HTTP requests for web intrusion detection.
Fowler, M. (2008). Inversion of control containers and the dependency injection pattern. http://www. martinfowler. com/articles/injection. html.
Machacek, J., Vukotic, A., Chakraborty, A., & Ditt, J. (2008). Introducing Inversion of Control. Pro Spring 2.5, 31-72.