Salesforce Basics

Frontend 

SF Classic (Visualforce)

SF Lightning (Aura components , Lightning Web Components)



Comparison chart of Salesforce Technologies for a normal Java Developer ,


Here’s a table comparing Salesforce technical components with general technologies that a Java developer might typically use. This comparison can help a Java developer map their existing knowledge to Salesforce concepts.

Salesforce ComponentDescriptionGeneral Java TechnologyComparison/Mapping
ApexSalesforce's proprietary programming language for business logic and server-side programming.Java (Core)Apex is similar to Java, both are object-oriented, support classes, interfaces, and exceptions. Apex, however, is optimized for multi-tenancy in Salesforce.
VisualforceA markup language used for creating custom user interfaces on Salesforce.JSP/JSF (JavaServer Pages/JavaServer Faces)Visualforce is like JSP/JSF in Java, where backend logic (Apex in Salesforce) integrates with the UI.
Lightning ComponentsA modern framework for building dynamic web apps for mobile and desktop devices within Salesforce.Angular/ReactLightning is similar to modern front-end frameworks like Angular or React, utilizing components for modular UI.
SOQL (Salesforce Object Query Language)Salesforce’s query language to fetch records from its database.SQL / HQL (Hibernate Query Language)SOQL is conceptually similar to SQL, used to query data, but tailored to Salesforce's database structure.
TriggersApex code that automatically executes before or after specific database operations (Insert, Update, Delete).Java EE Listeners / Hibernate Event ListenersSimilar to event listeners or interceptors in Java EE or Hibernate, where code is executed based on certain conditions.
Governor LimitsEnforced limits on resources like CPU, memory, and database usage to ensure performance and scalability in Salesforce's multi-tenant environment.Resource Management / Performance OptimizationsJava developers use tools to optimize performance, but Salesforce enforces strict limits automatically (e.g., memory, CPU, DML statements).
Salesforce Data Model (SObject)Salesforce's standard and custom objects that hold data, equivalent to database tables.POJOs / Entity Beans (JPA/Hibernate)SObjects are akin to POJOs in Java, with fields representing columns in a database, mapping to records in Salesforce.
Workflows/Process BuilderDeclarative tools in Salesforce for automating business processes.BPM Tools (e.g., Activiti/Camunda)Java developers use Business Process Management tools to define workflows; Salesforce has built-in, declarative equivalents.
REST/SOAP APIsSalesforce APIs for integrating with external systems using REST or SOAP protocols.JAX-RS (RESTful Services) / JAX-WS (SOAP Services)Similar to Java’s implementation of REST and SOAP services, Salesforce also provides API layers for integration.
Salesforce DX (Developer Experience)A set of tools for modern development workflows in Salesforce, including CI/CD integration and version control.Maven, Jenkins, GitJava developers use tools like Maven (build), Jenkins (CI), and Git (version control), while Salesforce DX offers comparable workflows.
Batch ApexApex functionality for processing large sets of data asynchronously.Java Batch Processing (e.g., Spring Batch)Batch Apex is similar to Java batch processing frameworks like Spring Batch for handling large data volumes over time.
Test ClassesSalesforce requires 75% code coverage with test classes written in Apex for deployments.JUnit / TestNGSimilar to writing unit tests with JUnit or TestNG in Java, but Salesforce has stricter code coverage requirements.
Custom Metadata/SettingsAllows configuration data to be managed declaratively and used in business logic.Configuration Files (e.g., properties, XML)Equivalent to managing application settings in config files or externalized configuration in Java applications.
Platform EventsEvent-driven architecture for real-time data sharing between systems.JMS (Java Messaging Service)Similar to Java’s JMS, Salesforce Platform Events facilitate event-driven communication between services.
OAuth 2.0 & Security TokensAuthentication mechanism for securing API access.Spring Security / OAuth ImplementationsSalesforce uses OAuth 2.0 like Java applications that use Spring Security for securing APIs and authentication.
FlowsSalesforce's declarative automation tool to build complex business processes.Java Servlets/Servlet FiltersFlows in Salesforce can be compared to Java servlets that control application flow, but they are declarative and not code-heavy.
Einstein AISalesforce’s AI tool to add intelligence to CRM apps.Machine Learning Libraries (e.g., TensorFlow)Comparable to integrating machine learning or AI tools in Java applications, but Einstein is more out-of-the-box and tailored for CRM use cases.

This comparison shows how a Java developer can relate their experience to Salesforce technologies, helping them navigate Salesforce's environment more easily.

--------


Max Heap size for each program  is 6 MB

Comments

Popular posts from this blog

API Names in Salesforce

18 - LWC - BEST PRACTICES - For accessing HTML elements and their values in JavaScript

6 - Object Relationships (Lookup and Master-Detail and Junction Objects)