DESIGN OF DISTRIBUTED INFORMATION SYSTEMS BASED ON USING THE TECHNOLOGY OF LOOSELY COUPLED COMPONENTS

Keywords: IoC, DI, DIP, SOA, SaaS, ESB

Abstract

This paper is devoted to the application of the technology of loosely coupled software components to the design of distributed information systems. By focusing on commonly asked questions, this paper provides techniques to help you discover and weigh the trade-offs as you confront the issues you, as a programmer, face as an architect. It analyzes in detail the use of the principle of dependency inversion for the implementation of service-oriented architecture, for the construction of web services (SOAP and REST), as well as for the architectural model of SaaS cloud computing. At the same time, the main method of reducing the connectivity of software modules is the use of Inversion of Control through the implementation of the dependency injection mechanism. This provides the implementation of the main principle of SOLID – The Dependency Inversion Principle. The main types of relationships between classes for the design of a distributed architecture are considered in detail in the work. These are inheritance, implementation, aggregation, and composition. Since inheritance is a rigid type of coupling, in which all the functionality of the inherited class is defined at the compilation stage, and the programmer cannot dynamically redefine it during the execution of the program, so to ensure loosely coupled software components (in particular, through the mechanism of dependency injection) instead of inheritance, you need to use composition, and instead of use composition, if possible, use aggregation. Also, the paper describes in detail the use of control inversion through dependency injection (Constructor injection, Parameter injection, Setter injection, Interface injection) when designing software modules of information technology. In addition, to increase the reliability of personal data protection when designing architectural solutions, the main mechanisms of unauthorized access (hacker attacks) in service-oriented systems are considered. This is because the received URLs, cookies and data in HTTP requests may be spoofed. Classic types of hacker attacks are analyzed in detail in work: permanent and passive cross-site scripting, SQL injections, and cross-site query forgery. In addition, methods of combating such attacks at both the software and network levels are provided.

References

1. Stevens, Wayne P.; Myers, Glenford J.; Constantine, Larry LeRoy (June 1974). “Structured design”. IBM Systems Journal. 13(2): 115–139. doi:10.1147/sj.132.0115.
2. Yourdon, Edward; Constantine, Larry LeRoy (1979). Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Yourdon Press. Bibcode:1979sdfd. ISBN 978-0-13-854471-3.
3. Philip A. Laplante, Philip A. Laplante. What Every Engineer Should Know about Software Engineering. – CRC Press, 2007. – P. 105–106. – ISBN 978-1-4200-0674-2.
4. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Design Patterns: Elements of Reusable Object-Oriented Software Published. Addison-Wesley Professional, 1994. 395 p. ISBN: 0-201-63361-2.
5. Martin Fowler Patterns of Enterprise Application Architecture. Addison-Wesley Professional, 2022. 560 p. ISBN: 0321127420.
6. Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures. O’Reilly Media, 2021. 450 p. ISBN: 1492086894.
7. Mark Richards, Neal Ford Fundamentals of Software Architecture: An Engineering Approach. – O’Reilly Media, 2020. – 396 p. – ISBN: 1492043451.
8. ISO/IEC/IEEE 24765:2010 Systems and software engineering.
9. Zinchenko, A. Y. (2022). Dependency injection using for the develop of information technology for investigation of parametric var methods. Systems and Technologies, 62(2), 63–75.
10. Ralph E. Johnson, Brian Foote (1988). Designing Reusable Classes. Journal of Object-Oriented Programming, 1(2), 22–35. doi:10.1.1.101.8594.
11. Michael Mattsson (1996). Object-Oriented Frameworks. A survey of methodological issues. Department of Computer Science, Lund University, 130 p.
12. Faathima Fayaza (2014) Service oriented architecture in enterprise application. Dept. Inf. Tech., Univ. Moratuwa, Katubedda, Sri Lanka, Tech. Rep., 8 p.
13. https://umbrella.cisco.com/info/technical-paper-modern-security-landscape-scaling-threats-motion (Retrieved 2022-12-11).
14. https://umbrella.cisco.com/trends-threats/global-cyber-threat-intelligence-overview (Retrieved 2022-12-11).
Published
2023-03-14
How to Cite
Zinchenko, A. Y. (2023). DESIGN OF DISTRIBUTED INFORMATION SYSTEMS BASED ON USING THE TECHNOLOGY OF LOOSELY COUPLED COMPONENTS. Systems and Technologies, 63(1), 5-14. https://doi.org/10.32782/2521-6643-2022.1-63.1