Architectural Templates: Engineering Scalable SaaS Applications Based on Architectural Styles
Sebastian Lehrig · 2013
Abstract. Software architects plan, model, and analyze the high-level design of software systems. Today, these systems are often deployed in cloud computing environments as Software-as-a-Service (SaaS) applications. The scalability of these applications is crucially impacted by architects’ early design decisions. Architects decide based on their experience and known architectural styles like a 3-tier architecture. In new application domains, however, architects lack the experience to determine whether their designs will result in scalable implementations. This lack leads to the high risk of unsatisfying scalability and expensive reimplementations. To tackle this problem, we propose initial ideas and concepts for architectural templates (ATs), defined as a language to formalize architectural styles on component models. This formalization allows to enrich styles by quality annotations and completions for model-driven quality analyses. As we focus on SaaS applications, we exemplify this idea by enriching ATs by scalability annotations and completions allowing architects to analyze their applications ’ scalability. To illustrate such an analysis, we introduce and use a toy example. Based on this example, we derive initial working packages describing how we plan to realize and validate ATs.