Core entities in extension-Architecture violation
Question

Hi all,

I have a doubt.

Say, I am integrating my OS app with an external db via an extension module say Customer_IS and I am creating entities for the external db tables in this IS module. Isn't this an Architecture violation? Customer_IS is an extension belonging to the foundation layer. Still, it has core entities. Can someone please provide a clarity on this?

Hi @Krishnnambal Sundaram 

The first thing is that though Extension Module (IS) contains External DB tables which you consider logically as Core Entities, as per OS 3 layer architecture it doesn't violate any architecture principle since IS falls under the Foundation Service. 

From the logical perspective, your question is valid since Core Entities that we use always belong to the CS layer. But OS considers extensions as external integration and places them in the foundation layer only. 

In the use case scenario, you can verify this link which tells about the abstraction scenario for IS patterns.

https://success.outsystems.com/Documentation/Best_Practices/Architecture/Designing_the_Architecture_of_Your_OutSystems_Applications/Integration_Patterns_for_Core_Services_Abstraction

Regards,

Saravanan Santhanam.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.