1. OutSystems - Official Documentation
"The 4 Layer Canvas": Under the "Foundation Layer" section
it states: "They usually implement the data model by defining the Core Entities... and provide all the necessary core services to handle data
like Create
Read
Update
and Delete actions (CRUD wrappers)." This distinguishes entities as the data model and actions as services.
2. OutSystems - Official Documentation
"Designing the architecture of your OutSystems applications"
Section: "Isolate core services in Foundation modules": This guide explicitly states
"A Foundation module should define a data model with Core Entities." It further recommends: "To enforce this
set the Entities' Public property to No
or expose them as read-only by setting the Expose Read Only property to Yes." This directly supports the correct answer.
3. OutSystems - Official Documentation
"Architecture Dashboard"
Section: "Code analysis patterns"
Finding: "Incorrectly Placed Entity (IE)": This documentation explains the violation that occurs when an entity is not in the correct layer. It reinforces that core business concepts belong in Foundation modules
while entities specific to application logic or UI belong in Core or End-User modules
respectively.