How is your experience with the OutSystems Community?
15
Views
1
Comments
Circular dependency between two ODC apps using only weak references (service actions)

Hi all,

In ODC, if App A consumes a service action from App B, and App B also consumes a service action from App A (weak references only, no library involved), is that allowed? Does the platform block it when publishing, or does it work but cause problems later (publish order, breaking changes, call loops)?

I know circular dependencies are discouraged in general, but I couldn't find out whether ODC treats weak references between apps differently. Any documentation or experience would be appreciated.

Thanks!

2026-02-26 06-29-24
Rahul
 
MVP

Hi @RAZMAN FADLY ,

Cyclic references between loosely coupled applications are generally worth reviewing, as they can indicate potential architectural issues. However, they are not necessarily a violation of best practices or architectural principles.

In some scenarios, this kind of dependency can be acceptable, provided that the applications remain loosely coupled and communicate through well-defined services or events rather than relying on each other's internal implementation.

The key consideration is whether the applications have clearly defined Bounded Contexts, with each application owning its own business logic and responsibilities. Dependencies should be explicit, contracts should remain stable, and changes in one application should not unnecessarily impact the other.

It is also important to evaluate the dependency direction and avoid situations where applications become tightly coupled, creating deployment dependencies, circular runtime calls, or difficulties in testing and maintenance.

In summary: Cyclic references are not automatically wrong, but they should be intentional, justified by the business requirements, and carefully managed. Whenever possible, consider introducing a shared service, event-driven communication, or a separate application to manage common functionality and reduce direct dependencies.

You can find the doc here-
https://success.outsystems.com/documentation/outsystems_developer_cloud/app_architecture/service_actions/

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