OutSystems Architecture Specialist (O11) study materials
OutSystems Architecture Specialist (O11) study resources

OutSystems Architecture Specialist (O11) key terms

OutSystems Architecture Specialist (O11) · Get comfortable with the vocabulary.

Architecture Canvas

A diagram that maps an application into layers and modules, showing which module owns each responsibility and how modules depend on one another. It is the primary artifact architects use to communicate structure before implementation begins.

Related: Module, Layered Architecture, Architecture Dashboard
Module

The unit of composition in an OutSystems application: a set of elements such as screens, actions, entities, and integrations that is deployed as a whole and exposes a defined public interface to consumers.

Related: Producer Module, Consumer Module, Public Elements
Producer Module

A module that exposes elements for other modules to use. Its public interface is a contract; changing it can break consumers, so it must be versioned and evolved deliberately.

Related: Consumer Module, Public Elements, Module
Consumer Module

A module that references public elements of another module. Consumers depend on the producer's contract but cannot modify the producer's internals, which keeps change localized.

Related: Producer Module, Circular Dependency, Module
Public Elements

The subset of a module's elements deliberately exposed to other modules, such as public actions, entities, structures, and screens. Everything else stays private, limiting the blast radius of change.

Related: Producer Module, Module Interface
Layered Architecture

An arrangement where modules are grouped into layers, typically foundation, core, and end-user, with dependencies pointing only downward. This prevents tangles and lets lower layers be reused across applications.

Related: Foundation Layer, Core Layer, End-User Layer
Foundation Layer

The lowest layer, holding reusable modules with no dependency on business logic: integrations, utility libraries, and shared entities. It changes rarely and is consumed by everything above it.

Related: Layered Architecture, Core Layer
Core Layer

The middle layer, containing business services and business entities shared across several end-user modules. It encapsulates business rules so multiple front ends reuse the same logic instead of duplicating it.

Related: Foundation Layer, End-User Layer, Business Entity
End-User Layer

The top layer, containing modules that deliver user experience: screens, flows, and orchestration of core services. These modules are application-specific and are not meant for reuse by other applications.

Related: Core Layer, Module
Module Interface

The declared set of public actions, entities, and structures a module offers, independent of its internal implementation. Consumers code against this contract, so internals can be refactored without breaking callers.

Related: Public Elements, Producer Module
Circular Dependency

A situation where two modules reference each other, directly or through a chain. It couples them into a single unit that must be deployed together and is flagged by architecture analysis tools.

Related: Consumer Module, Architecture Dashboard
Business Entity

A persistent data model element owned by a module and exposed through its interface when other modules need it. Ownership matters: only the owning module should write to it, others read through service actions.

Related: Core Layer, Module Interface
Architecture Dashboard

A built-in analysis view that scores an application's architecture, flagging violations such as circular references, upward dependencies, and modules that break layering rules.

Related: Architecture Canvas, Circular Dependency, Architecture Score
Architecture Score

A numeric indicator produced by architecture analysis, reflecting how closely an application follows recommended practices. It is a diagnostic signal, not a certification, and should be read alongside the specific violations listed.

Related: Architecture Dashboard, Technical Debt
True/False/None Pattern

A design approach for exposing data through entities versus service actions: true means the element is public, false means it is private, and none means it is not exposed at all. It clarifies intended coupling between modules.

Related: Public Elements, Business Entity
Application

A deployable container that groups related modules and defines its own lifecycle, versioning, and deployment target. Applications are the unit promoted across environments in the deployment pipeline.

Related: Module, Deployment Controller
Horizontal Scalability

The ability to add more front-end server instances behind a load balancer to handle more concurrent users. It requires stateless session handling and shared state stored outside the web tier.

Related: Load Balancer, Session State, Statelessness
Statelessness

A design property where no request depends on data held only in a specific server's memory. Any server can serve any request, which is the precondition for safe horizontal scaling.

Related: Horizontal Scalability, Session State
Session State

Data tied to a user's interaction, such as login context or screen input. In scalable designs it is kept small, stored server-side in a shared store, or avoided in favor of client-side tokens.

Related: Statelessness, Load Balancer
Load Balancer

A component that distributes incoming requests across multiple front-end servers. It enables horizontal scaling and availability, and requires health checks to route around failed nodes.

Related: Horizontal Scalability, High Availability
High Availability

Designing so the system keeps serving despite component failure, typically through redundancy, health checks, and failover. It targets uptime, whereas scalability targets capacity.

Related: Load Balancer, Failover
Failover

The automatic switch to a redundant component when the primary fails, such as a standby database taking over or a load balancer removing an unhealthy server from rotation.

Related: High Availability, Load Balancer
Database Tier

The layer that persists data, usually the hardest to scale because writes cannot be freely spread across nodes. Read replicas, indexing, and query tuning are the common levers before sharding.

Related: Read Replica, Caching
Read Replica

A copy of the database that serves read queries to offload the primary. It introduces replication lag, so code must tolerate slightly stale reads for non-critical data.

Related: Database Tier, Caching
Caching

Storing frequently used results in fast storage to avoid recomputation or repeated database access. Effective caching needs an invalidation strategy; stale data is the main risk.

Related: Database Tier, Asynchronous Processing
Asynchronous Processing

Moving slow work such as emails, file generation, or third-party calls off the request path so users are not blocked. It improves perceived performance and smooths load spikes.

Related: Caching, Timeout
Timeout

A limit on how long a call may take before it is abandoned. Timeouts protect a system from hanging on slow dependencies and are essential when calling external services.

Related: Asynchronous Processing, Retry
Retry

Re-attempting a failed operation, ideally with backoff and only for transient errors. Blind retries can amplify load during an outage, so retries must be bounded and paired with idempotency.

Related: Timeout, Idempotency
Idempotency

A property where repeating the same operation produces the same result as doing it once. It makes retries and message redelivery safe, especially for payments and record creation.

Related: Retry, Asynchronous Processing
Deployment Controller

The OutSystems service that orchestrates deployments between environments, compiling modules and applying changes in dependency order. It is the mechanism behind one-click promotion of applications.

Related: Environment, Lifecycle Management
Environment

An isolated instance, such as development, test, or production, with its own database and configuration. Applications are promoted between environments rather than edited directly in production.

Related: Deployment Controller, Lifecycle Management
Lifecycle Management

The console where teams track applications across environments, plan deployments, and manage the pipeline. It gives visibility into what version runs where and who can deploy.

Related: Environment, Deployment Controller
Technical Debt

The accumulated cost of shortcuts in design, such as duplicated logic or tangled dependencies, that makes future change slower. Architecture analysis surfaces it early, when it is cheapest to fix.

Related: Architecture Score, Refactoring
Refactoring

Restructuring code or module boundaries without changing external behavior. In OutSystems, moving an action to a shared module or inverting a dependency are typical refactors that improve the architecture score.

Related: Technical Debt, Module
Impact Analysis

Determining what else changes when a module's interface changes, by inspecting its consumers. It is the check performed before altering public elements to avoid breaking dependent applications.

Related: Producer Module, Public Elements
Developer Autonomy

The degree to which a team can change and deploy its own modules without coordinating with other teams. It rises when module boundaries are clean and interfaces are stable.

Related: Module Ownership, Architect
Module Ownership

Assigning each module to a specific team accountable for its design, quality, and evolution. Clear ownership reduces conflicting changes and makes the producer's interface a negotiated contract.

Related: Developer Autonomy, Producer Module
Architect

The role responsible for application structure, module boundaries, and non-functional qualities such as performance and scalability. Architects set guardrails and review designs rather than writing every module.

Related: Architecture Canvas, Developer Autonomy
Architecture Review

A structured check of a design against layering, coupling, and naming standards before or during build. It catches structural problems while they are still inexpensive to correct.

Related: Architecture Canvas, Architect