πŸ›οΈ

Salesforce Platform Fundamentals

Multi-tenant architecture, standard vs custom objects, declarative vs programmatic tools, Lightning Apps, and AppExchange.

⏱️ Estimated reading time: 45 minutes

The Salesforce Platform and Multi-Tenant Architecture

Salesforce is a cloud-based platform operating under a multi-tenant model. This means all organizations (customers) share the same physical infrastructure β€” servers, database, and codebase β€” but each organization has its data and configurations completely isolated.

Why is the multi-tenant model important?
- Automatic updates: Salesforce releases 3 updates per year (Winter, Spring, Summer) applied to all orgs simultaneously without customer intervention.
- No infrastructure management: No servers to maintain, update, or scale.
- Economy of scale: Sharing resources reduces cost per user.

Metadata-Driven Architecture:
Salesforce separates data from metadata. Metadata defines the platform's structure and behavior: objects, fields, flows, page layouts, profiles, etc. When an administrator creates a custom field, they are creating metadata β€” not directly modifying the database structure.

This architecture allows each org to have a completely different configuration without modifying the shared codebase.

Governor Limits:
To ensure no tenant monopolizes shared resources, Salesforce enforces strict limits:

ResourceLimit
Custom fields per object800
Relationships per object (Lookup + MD)40 (25 Lookup + 2 MD)
Validation rules per object500
Custom objects per org2,000 (Enterprise Edition)
Compiled formula characters5,000
Record-Triggered Flows per objectNo hard limit, but 1 recommended
SOQL queries per transaction (sync)100
DML records per transaction10,000

Key exam concept: If a question describes a scenario where a process fails without apparent explanation, consider whether a Governor Limit is being violated.

🎯 Key Points

  • βœ“ Multi-tenant: all customers share infrastructure but data is isolated
  • βœ“ Metadata-Driven: customization is stored as metadata, not changes to the codebase
  • βœ“ 3 releases per year: Winter, Spring, Summer β€” automatic updates
  • βœ“ Governor Limits protect performance for all tenants
  • βœ“ Most asked limits: 800 custom fields, 5,000 compiled formula chars, 100 SOQL per transaction

Standard, Custom, and External Objects

Objects in Salesforce are equivalent to tables in a relational database. Each object contains fields (columns) and records (rows).

Standard Objects:
Included with Salesforce with predefined functionality:

ObjectMain FunctionKey Relationship
AccountCompanies, organizationsParent of Contact, Opportunity, Case
ContactPeople associated with accountsChild of Account
OpportunityPotential deals/salesHas stages (Stage) and monetary values
LeadUnqualified prospectsConverts to Account + Contact + Opportunity
CaseSupport issues/requestsHas status, priority, origin
CampaignMarketing campaignsRelated to Leads and Contacts
Task / EventActivitiesPolymorphic (WhatId, WhoId)
Product / PricebookCatalog and pricingProducts associate to Opportunities via OpportunityLineItem

Cannot be deleted but can be customized by adding fields, modifying page layouts, and creating validation rules.

Custom Objects:
Created for specific business needs. Identified by the __c suffix (example: Project__c, Invoice__c).

For a custom object to be visible you need:
1. Create a Custom Tab for the object.
2. Configure the Page Layout with desired fields.
3. Assign CRUD permissions in the user's Profile or Permission Set.
4. Include the Tab in the corresponding Lightning App.

External Objects:
Identified by the __x suffix. Connect to data stored outside Salesforce (SAP, external databases) without importing data. Use Salesforce Connect (OData or Cross-Org adapter). Data is queried in real-time.

Big Objects:
Designed to store massive data volumes (billions of records) such as historical or audit data. Suffix __b. Limited functionality (don't support triggers, flows, or standard reports).

Suffix comparison (frequent exam question):
SuffixTypeExample
(none)Standard objectAccount, Contact
__cCustom object/fieldInvoice__c, Amount__c
__rRelationship referenceAccount__r.Name
__xExternal objectSAP_Order__x
__bBig ObjectAudit_Log__b
__mdtCustom Metadata TypeConfig_Setting__mdt
__ePlatform EventOrder_Placed__e

🎯 Key Points

  • βœ“ Standard objects cannot be deleted, only customized
  • βœ“ Lead Conversion automatically creates Account + Contact + Opportunity
  • βœ“ For a Custom Object to be visible: Tab + Page Layout + Permissions + App
  • βœ“ External Objects (__x) query external data in real-time without importing
  • βœ“ Suffixes __c, __r, __x, __b, __mdt, __e are frequent exam questions

Declarative vs Programmatic Development

One of the most important PAB exam questions is knowing when to use a declarative (no-code) vs programmatic (code) solution.

Declarative Tools (Point-and-Click):
- Flow Builder (automation)
- Validation Rules
- Formula Fields
- Process Builder (legacy, do not use for new development)
- Workflow Rules (legacy)
- Approval Processes
- Lightning App Builder (interface design)
- Schema Builder (visual data modeling)
- Report Builder (reports and dashboards)
- Page Layouts, Record Types, Quick Actions

Programmatic Tools (require code):
- Apex: Java-like programming language for complex server logic.
- Visualforce: Custom web pages (legacy, replaced by LWC).
- Lightning Web Components (LWC): Modern UI components based on web standards.
- SOQL/SOSL: Data query languages.
- Apex Triggers: Logic that executes before/after database operations.

Salesforce exam rule: ALWAYS prefer the declarative solution unless technically impossible. Salesforce promotes the "clicks, not code" principle.

When DO you need code (Apex/LWC)?
- Logic requiring more than 100 SOQL queries in a transaction.
- Complex integrations with external web services (REST/SOAP callouts).
- Highly customized user interfaces not achievable with standard components.
- Massive data processing (Batch Apex).
- Real-time logic with extreme performance requirements.
- Functionality that doesn't exist in declarative tools.

When are Flows + declarative tools sufficient?
- Creating or updating records based on criteria.
- Sending emails based on record changes.
- Creating dynamic forms for users (Screen Flows).
- Automating approvals.
- Scheduling recurring tasks (Schedule-Triggered Flows).
- Most standard business logic.

🎯 Key Points

  • βœ“ Fundamental exam principle: always choose the declarative solution first (clicks > code)
  • βœ“ Flow Builder replaces Process Builder and Workflow Rules (both are legacy)
  • βœ“ Apex is only needed when declarative tools cannot meet the requirement
  • βœ“ LWC replaces Visualforce for modern custom interfaces
  • βœ“ If an exam question offers both Flow AND Apex for the same scenario, the answer is Flow

Lightning Apps, Navigation, and App Manager

A Lightning App is a container that groups objects, tabs, utility components, and branding for a specific business use case.

Lightning App Types:

TypeDescriptionExample
Standard Navigation AppHorizontal tab navigationCustom Sales App
Console AppWorkspace with multiple records open in sub-tabsService Console
Connected AppIntegrates external applications via OAuth 2.0External app integration

Key differences Standard vs Console:
- Standard: Each record opens in a main tab. Simple and intuitive.
- Console: Allows opening multiple records simultaneously in sub-tabs without losing context. Ideal for support agents working with multiple cases at once. Includes features like Split View and Pinned Tabs.

Lightning App Components:
1. Navigation Items: Standard, custom object tabs, or elements like lists, dashboards, or web pages.
2. Utility Bar: Fixed bar at the bottom of the screen with always-accessible widgets (Notes, History, Recent Items, Macros, Softphone). Utility Bar items persist when navigating between tabs.
3. Branding: Custom logo, brand colors.
4. App Assignment: Apps are assigned to specific profiles. A user only sees apps assigned to their profile.

App Manager (Setup > App Manager):
- Create, edit, and delete Lightning Apps.
- Configure Navigation Items and Utility Items.
- Assign apps to profiles.
- Set the app as visible, default, or both for each profile.
- Create Connected Apps for OAuth integrations.

Custom Tabs:
Tabs are the entry point to objects in Salesforce:
- Object Tabs: Point to a standard or custom object.
- Web Tabs: Link to an external URL.
- Lightning Component Tabs: Display a custom Lightning component.
- Lightning Page Tabs: Display a Lightning Page created in App Builder.
- Visualforce Tabs: Display a Visualforce page (legacy).

🎯 Key Points

  • βœ“ Console Apps allow working with multiple records in sub-tabs (ideal for support)
  • βœ“ The Utility Bar persists when navigating β€” always visible at the bottom
  • βœ“ Lightning Apps are assigned to profiles, not individual users
  • βœ“ Connected Apps use OAuth 2.0 to integrate external applications
  • βœ“ The 5 types of Custom Tabs: Object, Web, Lightning Component, Lightning Page, Visualforce

AppExchange, Editions, and Salesforce Environments

AppExchange is Salesforce's marketplace where you install applications (apps), Lightning components, and third-party solutions. It's like Salesforce's "app store."

AppExchange listing types:
- Apps (Managed Packages): Complete packaged solutions (e.g., DocuSign, Conga).
- Lightning Components: Individual reusable components for App Builder.
- Flow Templates: Prebuilt automation templates.
- Bolt Solutions: Community/portal templates.
- Consulting Partners: Consulting services (not software).

Important for the exam: AppExchange solutions go through a mandatory Security Review by Salesforce before being published.

Salesforce Editions:

EditionCustom ObjectsStorageSandboxFor whom
Essentials5LimitedNoSmall businesses
Professional5010 GBDeveloperSMBs
Enterprise20010 GB + 20MB/userDev + Dev Pro + PartialMedium-large companies
Unlimited2,00010 GB + 120MB/userAll typesLarge enterprises
Developer Edition4005 MBNo (it IS a sandbox itself)Development and testing

For the exam: Enterprise Edition is the standard reference. Most questions assume Enterprise.

Environment Types:
- Production: Live environment with real business data. There is only ONE.
- Sandbox: Copy of the production environment for development and testing. You can have multiple.
- Developer Edition: Free org for learning and developing (NOT a sandbox).
- Scratch Org: Temporary development environment (Salesforce DX). Self-destructs after a configured period.
- Trailhead Playground: Free org for practicing on Trailhead.

Important concept: Production and Sandbox are connected (same org), enabling Change Sets for migrating configurations. Developer Edition and Scratch Orgs are independent orgs.

🎯 Key Points

  • βœ“ AppExchange requires Security Review before publishing apps
  • βœ“ Enterprise Edition is the standard PAB exam reference
  • βœ“ Production and Sandbox are connected (same org); Developer Edition and Scratch Orgs are independent
  • βœ“ Developer Edition is NOT a sandbox β€” it's a free independent org
  • βœ“ Scratch Orgs are temporary and used with Salesforce DX (modern development)