<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-sxrcp2kbu" -->

---
title: Basic concepts of Software architecture in OutSystems...
description: A detailed walkthrough of OutSystems ODC (Developer Cloud) software architecture concepts compared to the older O11 version. Covers the five application types...
canonical: https://daily.dev/posts/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-sxrcp2kbu
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Basic concepts of Software architecture in OutSystems ODC with comparisons to OutSystems O11 | daily.dev
og:description: A detailed walkthrough of OutSystems ODC (Developer Cloud) software architecture concepts compared to the older O11 version. Covers the five application types...
og:url: https://daily.dev/posts/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-sxrcp2kbu
og:image: https://api.daily.dev/og/posts/sxRCP2KBu.png
og:image:alt: Basic concepts of Software architecture in OutSystems ODC with comparisons to OutSystems O11
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Basic concepts of Software architecture in OutSystems ODC with comparisons to OutSystems O11

**[ITNEXT](https://daily.dev/sources/itnext)** · 25 min read · 0 upvotes · 0 comments

## Summary

A detailed walkthrough of OutSystems ODC (Developer Cloud) software architecture concepts compared to the older O11 version. Covers the five application types (web, mobile, agents, workflows, libraries), their artifacts (events, interface, logic, data), visibility rules (public vs private), and how elements are reused across applications and libraries. Also explains the DOA (Disclose, Organize, Assemble) architectural design process for planning ODC solutions, naming conventions, and how to produce an architecture blueprint. Key differences from O11 include the removal of the module concept, weak references between applications, strong references only for libraries, and a more business-domain-oriented approach to structuring applications.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://itnext.io/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-49469872c401>

## Questions this post answers

### How do application references work differently in OutSystems ODC compared to O11?

In OutSystems ODC, references between applications are always weak references, meaning consumers connect without needing to refresh when the producer changes, as long as signatures remain the same, and each application lives in an independent container. This differs from O11, where module dependencies required checking for outdated consumers and refreshing them to maintain integrity, creating more overhead and entropy.

_Anyone comparing OutSystems versions before migrating an app portfolio can track architecture explainers like this on daily.dev._

### What is the difference between a strong reference and a weak reference in OutSystems ODC?

A strong reference occurs when a library is consumed by an application or another library, meaning the library's code is bundled into the same container as the consumer. A weak reference occurs when one application consumes another application's public artifacts, meaning each lives in its own independent container and does not need to be refreshed unless the consumed element's signature changes.

_Developers weighing coupling tradeoffs in OutSystems projects can keep architecture breakdowns like this on daily.dev._

### What are the three phases of the DOA architectural design process in OutSystems ODC?

The three phases are Discover, Organize, and Assemble. Discover gathers functional and non-functional business requirements through stakeholder interviews. Organize groups interconnected concepts by their relationships and dependencies into cohesive clusters. Assemble maps those groupings onto ODC applications, ensuring ownership, lifecycle independence, and delivery-cycle autonomy for each team, ultimately producing an Architecture Blueprint.

_Architects planning an OutSystems ODC solution can follow process walkthroughs like this on daily.dev._

## Similar posts on daily.dev

- [Designing Agentic OutSystems Architectures: Where Should AI Authority End?](https://daily.dev/posts/designing-agentic-outsystems-architectures-where-should-ai-authority-end--fw5cnfnpz) · ITNEXT · 0 upvotes · 0 comments
- [System Architecture Documentation Best Practices and Tools](https://daily.dev/posts/system-architecture-documentation-best-practices-and-tools-2ceiwjytf) · freeCodeCamp · 8 upvotes · 0 comments
- [Documents: The architect’s programming language](https://daily.dev/posts/documents-the-architect-s-programming-language-dww5rsobm) · Stack Overflow Blog · 133 upvotes · 3 comments
- [SDLC: Core Phases and Best Practices Explained](https://daily.dev/posts/sdlc-core-phases-and-best-practices-explained-n45zowiy2) · Orca Security Blog · 0 upvotes · 0 comments
- [Architecture Through Different Lenses 2025](https://daily.dev/posts/architecture-through-different-lenses-2025-g2wleajn0) · InfoQ · 1 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#architecture](https://daily.dev/tags/architecture), [#nocode](https://daily.dev/tags/nocode), [#domain-driven-design](https://daily.dev/tags/domain-driven-design)

[View this post on daily.dev](https://daily.dev/posts/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-sxrcp2kbu)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Basic concepts of Software architecture in OutSystems ODC with comparisons to OutSystems O11","url":"https://daily.dev/posts/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-sxrcp2kbu","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-sxrcp2kbu"},"datePublished":"2026-07-17T19:56:20.239Z","dateModified":"2026-09-13T19:03:32.108Z","description":"A detailed walkthrough of OutSystems ODC (Developer Cloud) software architecture concepts compared to the older O11 version. Covers the five application types...","image":"https://media.daily.dev/image/upload/s--qPvKM23u--/f_auto/v1722860399/public/Placeholder%2009","thumbnailUrl":"https://media.daily.dev/image/upload/s--qPvKM23u--/f_auto/v1722860399/public/Placeholder%2009","isAccessibleForFree":true,"articleSection":"ITNEXT","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ITNEXT","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2","url":"https://daily.dev/sources/itnext"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-sxrcp2kbu","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,architecture,nocode,domain-driven-design","timeRequired":"PT25M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ITNEXT","item":"https://daily.dev/sources/itnext"},{"@type":"ListItem","position":3,"name":"Basic concepts of Software architecture in OutSystems ODC with comparisons to OutSystems O11"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/basic-concepts-of-software-architecture-in-outsystems-odc-with-comparisons-to-outsystems-o11-sxrcp2kbu#faq","mainEntity":[{"@type":"Question","name":"How do application references work differently in OutSystems ODC compared to O11?","acceptedAnswer":{"@type":"Answer","text":"In OutSystems ODC, references between applications are always weak references, meaning consumers connect without needing to refresh when the producer changes, as long as signatures remain the same, and each application lives in an independent container. This differs from O11, where module dependencies required checking for outdated consumers and refreshing them to maintain integrity, creating more overhead and entropy. Anyone comparing OutSystems versions before migrating an app portfolio can track architecture explainers like this on daily.dev."}},{"@type":"Question","name":"What is the difference between a strong reference and a weak reference in OutSystems ODC?","acceptedAnswer":{"@type":"Answer","text":"A strong reference occurs when a library is consumed by an application or another library, meaning the library's code is bundled into the same container as the consumer. A weak reference occurs when one application consumes another application's public artifacts, meaning each lives in its own independent container and does not need to be refreshed unless the consumed element's signature changes. Developers weighing coupling tradeoffs in OutSystems projects can keep architecture breakdowns like this on daily.dev."}},{"@type":"Question","name":"What are the three phases of the DOA architectural design process in OutSystems ODC?","acceptedAnswer":{"@type":"Answer","text":"The three phases are Discover, Organize, and Assemble. Discover gathers functional and non-functional business requirements through stakeholder interviews. Organize groups interconnected concepts by their relationships and dependencies into cohesive clusters. Assemble maps those groupings onto ODC applications, ensuring ownership, lifecycle independence, and delivery-cycle autonomy for each team, ultimately producing an Architecture Blueprint. Architects planning an OutSystems ODC solution can follow process walkthroughs like this on daily.dev."}}]}
```

