UI Design
26%of exam
Logic
22%of exam
Fetching Data
20%of exam
Reactive Apps
12%of exam
Data Modeling
12%of exam
Architecture and Security
8%of exam
Quick Facts
- Exam
- Associate Developer
- Credential
- OutSystems Certified Associate Developer
- Time
- 120 min
- Questions
- 50
- Pass
- 70% (35/50)
- Platform
- Reactive Web Apps
- Cost
- $200 USD
- Validity
- 2 years
- Format
- Multiple choice
Block vs Screen
Block
- Reusable component
- Embedded in screens
- Has events
Screen
- Standalone page
- Navigable URL
- Has lifecycle
Reusable vs standalone
Widget Picker
- Show record list→List(repeat widgets)
- Edit a record→Form(bound to entity)
- Conditional display→If(boolean check)
- Group widgets→Container(layout box)
- Reusable pattern→Block(shared UI)
- Navigate away→Link(screen transition)
Screen Widgets
- Screen
- UI page
- Block
- Reusable UI component
- Container
- Group widgets
- Placeholder
- Block content slot
- List
- Repeat records
- Form
- Edit record
- If
- Conditional display
- Link
- Navigate action
- Button
- Trigger action
Blocks and Events
- Web Block
- Reusable component
- Block Event
- Notify parent screen
- OnNotify
- Handle block event
- OnAfterNotify
- Post-notify handler
- Event Handler
- Respond to event
- Widget
- UI element
Action Hierarchy
Data -> Server -> Client -> Screen
Server Action vs Client Action
Server Action
- Runs server-side
- Can query DB
- Aggregates allowed
Client Action
- Runs browser-side
- No DB access
- UI manipulation
Server DB vs browser UI
Action Type Picker
- UI event triggered→Screen Action(browser-side)
- Fetch screen data→Data Action(cached)
- Server-side logic→Server Action(can query DB)
- Browser-side logic→Client Action(no DB access)
- Long-running task→Process(background)
- Scheduled task→Timer(runs periodically)
- External API call→Server Action(REST consume)
Logic and Actions
- Screen Action
- UI event handler
- Server Action
- Server-side logic
- Client Action
- Browser-side logic
- Data Action
- Fetch screen data
- Process
- Background task
- If
- Conditional branch
- Switch
- Multi-branch logic
- Assign
- Set variable value
Exception and Validation
- Exception
- Runtime error
- Raise Exception
- Trigger error
- Exception Handler
- Catch logic
- Try/Catch
- Handle errors
- Form Validation
- Validate inputs
- Required Field
- Mandatory input
Aggregate vs SQL
Aggregate
- Visual builder
- Parameterized safe
- Joins entities
SQL
- Raw SQL code
- Advanced queries
- Manual escaping
Visual vs code query
Data Source Picker
- Fetch from entity→Aggregate(visual query)
- Complex query→SQL(advanced only)
- Enumeration values→Static Entity(design-time)
- External API data→REST Consume(server-side)
- Screen-bound data→Data Action(auto-refresh)
- Runtime config→Site Property(env-specific)
Aggregates and Fetching
- Aggregate
- Visual query builder
- Filter
- Condition rows
- Sort
- Order results
- Join
- Combine entities
- Computed Attribute
- Calculated field
- Max Records
- Limit result rows
- SQL Query
- Advanced data fetch
- Data Action
- Fetch screen data
External Data and REST
- REST Consume
- Call external API
- REST Publish
- Expose API endpoint
- SOAP Consume
- Legacy integration
- Site Property
- Runtime config value
- JSON Structure
- Deserialize response
- API Method
- Exposed server action
Screen Lifecycle
Init -> Ready -> ParametersChanged
Reactive vs Traditional Web
Reactive Web
- Browser-side logic
- Client Actions
- No full postback
Traditional Web
- Server-rendered
- Screen Actions
- Full postback
Client vs server render
Service Studio IDE
- Service Studio
- Visual IDE
- TrueChange
- Real-time checker
- Integration Studio
- Build extensions
- Forge
- Component marketplace
- Toolbox
- Drag widgets
- Canvas
- Design surface
- Properties pane
- Edit settings
- Element tree
- Navigate hierarchy
Reactive App Concepts
- Reactive Web
- Browser-side logic
- Traditional Web
- Server-rendered pages
- Client Variable
- Browser-scoped variable
- OnInitialize
- Before screen renders
- OnReady
- After screen displays
- OnParametersChanged
- New parameters received
- Debugging
- Service Studio debugger
Relationship Rules
1:N = FK; N:N = Join
Static Entity vs Entity
Static Entity
- Design-time records
- Enumeration
- Fixed values
Entity
- Runtime records
- Database table
- User data
Enumeration vs data table
Data Types and Entities
- Entity
- Database table
- Static Entity
- Design-time enumeration
- Identifier
- Primary key type
- Text
- String data type
- Integer
- Whole number type
- Boolean
- True or false type
- Date Time
- Timestamp type
- Decimal
- Fixed precision number
Relationships
- One-to-Many
- Foreign key child
- Many-to-Many
- Join entity pattern
- Foreign Key
- Reference identifier
- Join Entity
- Links two entities
- Referential Integrity
- Auto-enforced constraint
- Index
- Auto-created on FK
Deploy Flow
Personal -> Common -> LifeTime
1-Click Publish vs LifeTime
1-Click Publish
- Dev environment
- Service Studio
- Ctrl+P
LifeTime
- Cross-environment
- Promote apps
- Governance
Dev iteration vs prod deploy
Lifecycle and Deployment
- 1-Click Publish
- Deploy to dev
- Personal Area
- Private dev zone
- Common Area
- Shared app zone
- LifeTime
- Cross-env deployment
- Versioning
- Track module versions
- Deployment Zone
- Target environment
Role vs Registered Role
Role
- Permission group
- Defined in module
- Screen/entity access
Registered Role
- Granted to user
- Runtime assignment
- Explicit enable
Defined vs assigned
Roles and Security
- Role
- User group permission
- Registered Role
- Granted to user
- Screen Permission
- Role-based access
- Entity Permission
- Data access control
- Anonymous Role
- Unauthenticated access
Common Traps
Client Action vs Server Action
Client Actions can't run Aggregates ≠ Server Actions can access database
Static Entity vs Entity
Static Entity = design-time records ≠ Entity = runtime user data
1-Click Publish vs Production
1-Click Publish deploys to dev ≠ LifeTime promotes to production
Aggregate vs SQL
Aggregate = visual, safe ≠ SQL = code, advanced only
Block vs Screen
Block = reusable component ≠ Screen = standalone page
Personal vs Common Area
Personal Area = private zone ≠ Common Area = shared apps
Last Minute
- 1.50 Q, 120 min, 35 pass
- 2.UI Design = 26% (highest weight)
- 3.Logic = 22% (second highest)
- 4.Client Actions cannot run Aggregates
- 5.Static Entity = enumeration, design-time
- 6.1-Click Publish: dev, not prod
- 7.Screen lifecycle: Init, Ready, Changed
- 8.1:N = FK; N:N = join
- 9.Data Action fetches screen data
- 10.Server Actions can access database
- 11.Roles control screen and entity access
- 12.Reactive = browser; Traditional = server
Explore More OutSystems Certifications
Continue into nearby exams from the same family. Each card keeps practice questions, study guides, flashcards, videos, and articles in one place.