Tool Support for Architectural Pattern Selection and Application in Cloud-Centric Service-Oriented IDEs
Fulya Horozal, Philip Reimer, Sebastian Scholze · 2023
Architectural patterns are high-level design guidelines and principles for designing the architecture of software systems. They play a crucial role laying the foundations to the organization and structure of software systems and have high impact on their quality and success both in terms of engineering and business aspects. Deciding for a concrete software architecture design requires careful analysis of several factors regarding the software system including system characteristics, constraints, required quality attributes and any trade-offs made along with the design decision; and hence is often not trivial. This paper presents a framework for architectural pattern selection and application that (i) supports the decision-making process of choosing an appropriate architectural pattern as well as (ii) the organization of the software structure based on the chosen pattern in an automated fashion when integrated within IDEs. In particular, the paper presents how this framework is implemented and integrated within an innovative open source cloud-native integration development environment.