1. OutSystems Official Documentation
"Designing the architecture of your OutSystems applications
" The 3-Layer Canvas
Foundation layer.
Reference: "The bottom layer contains all modules that provide reusable non-functional logic
and integration with external systems. These modules are the building blocks of your application portfolio... Examples of foundation modules are services to integrate with a legacy system
or a library with functions to handle complex security requirements." This source explicitly defines the Foundation layer for non-functional and integration purposes
not business services.
2. OutSystems Official Documentation
"Designing the architecture of your OutSystems applications
" The 3-Layer Canvas
Core layer.
Reference: "The middle layer contains modules that encapsulate the core business concepts of your application portfolio... Core modules provide reusable services and data around a business concept (e.g. Customer
Product
or Invoice)." This clearly designates the Core layer as the proper location for business services.
3. OutSystems Official Documentation
"Architecture Dashboard
" Code analysis patterns
"Incorrect Foundation dependency (IFD)".
Reference: "This finding is triggered when a Foundation module references a Core or an End-user module. Foundation modules should be independent of any business context to be truly reusable across all applications. Referencing a Core or an End-user module introduces a business context in a Foundation module." This technical enforcement rule confirms that Foundation modules must remain free of business context
which is embodied in business services.