SlideShare uma empresa Scribd logo
1 de 22
Presented by :
Date :
Introduction to Force.com
Kaushik Chakraborty
6th Sept, 2012
a SEI-CMMi level 4 company
Agenda
• Salesforce.com
• Cloud Technology(What and Why)
• Force.com(a PAAS)
• Force.com Technologies
• Data - Force.com Database
• Logic - Apex
• View - Visual Force
• Demo
2
a SEI-CMMi level 4 company
Salesforce.com
Salesforce.com Inc. is a global enterprise software company headquartered in San
Fransisco, United States.
 Founded : March 1999
 Founders :
 Marc Benioff (former Oracle executive)
 Parker Harris, Dave Moellenhoff, and Frank Dominguez (three software developers previously at
Clarify).
 Known for its (CRM) product, through acquisitions Salesforce has expanded into
the "social enterprise arena."
 It was ranked number 27 in Fortune’s 100 Best Companies to Work For in 2012.
 Salesforce.com's CRM solution is broken down into several broad categories:
 Sales Cloud, Service Cloud, Data Cloud,(Data.com), Collaboration Cloud (Chatter) and Custom
Cloud(Force.com).
3
a SEI-CMMi level 4 company
Cloud Computing
What is Cloud Computing ?
Wikipedia says : Cloud computing is the use
of computing resources (hardware and software) that are delivered
as a service over a network (typically the Internet).
Typically its categorized into 3 types :
 IAAS (Infrastructure As A Service)
 Amazon EC2, Google Cloud Engine.
 PAAS (Platform As A Service)
 Heroku, Force.com
 SAAS (Software As A Service)
 Google Apps, Limelight Video Platform
4
a SEI-CMMi level 4 company
Cloud Computing
 Why Do we need Cloud Computing Service ?
 “LESSER INVESTMENT”
 Reduced personal infrastructure
 Reduced head count
 On Demand Service
5
Cloud computing logical diagram
a SEI-CMMi level 4 company
Force.com(a PAAS)
Force.com is a cloud computing platform as a service system
from Salesforce.com that developers use to build multi tenant
applications hosted on their servers as a service.
Advantages :
 RAD Platform – Lots of available features/functionalities from Salesforce
 User management and authentication
 Administrative interface
 Reporting and analytics
 Enforces best practices
 Actively under development (Big things underway with VMForce - the enterprise cloud for Java developers.)
 No Prerequisites : Only a Computer with an internet connection
Disadvantages:
 Apex(Force.com programming language) not Fully Featured Language
 Debugging is a Nightmare as there is no real time debugger
 Unfixed bugs
 Checking the uploaded resources(.css, images , .js)
 Data based pricing makes it pricy for folks with lots of data.
 Force.com IDE doesn’t provide usability like Eclipse.
6
a SEI-CMMi level 4 company
Force.com Technologies
7
Visual Force Page 1
Apex Controller 3Apex Controller 2Apex Controller 1
Visual Force Page 2 Visual Force Page 3
Apex Classes
sObject 1
Trigger 2Trigger 1
sObject 2 sObject 3
Visual Force Pages
Apex Logic
(Controllers, Class , Triggers))
Database Objects
a SEI-CMMi level 4 company
Force.com Technologies (The Database)
The Lingo(Old New)
 Tables Objects
 Columns Fields
 Keys Ids
 Foreign Keys Relationships
 Row Record
Types of Objects :
 Standard Objects – Provided by force.com per profile(Account, Attachment)
refer to : http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_objects_list.htm
 Custom Objects – Created by the user
8
a SEI-CMMi level 4 company
Force.com Technologies (The Database)
The joy of data types :
 Lookup Fields
 Master Detail Fields
 Roll up Summary
 Formula Fields
 Rich Text
 Email
 Currency
 Percentage
 Picklist and Picklist(Multiselect)
 URL
 Number
 Text
 Long Text
 Date
 Checkbox
9
Read Only Fields
Relational Fields
Non Relational Fields
a SEI-CMMi level 4 company
Force.com Technologies (The Database)
The Query Languages :
 SOQL (Salesforce Object Query Language) : A close cousin of SQL(but is not as
advanced), used to construct query strings
 Basic Syntax :
SELECT fieldList FROM objectType
[WHERE conditionExpression]
[GROUP BY fieldGroupByList]
[HAVING havingConditionExpression]
[ORDER BY fieldOrderByList ASC | DESC ? NULLS FIRST | LAST ?]
[LIMIT number of rows to return ?]
[OFFSET number of rows to skip?]
 SOSL (Salesforce Object Search Language) : It is used to create search strings
 Basic Syntax :
FIND {SearchQuery} [toLabel()]
[IN SearchGroup [convertCurrency(Amount)]]
[RETURNING FieldSpec]
[LIMIT n]
Refer to : http://www.salesforce.com/us/developer/docs/soql_sosl/index.htm
10
a SEI-CMMi level 4 company
Force.com Technologies (The Database)
When to use SOQL?
 You know in which objects or fields the data resides
 You want to retrieve data from a single object or from multiple objects that are related to one another
 You want to count the number of records that meet particular criteria
 You want to sort your results as part of the query
 You want to retrieve data from number, date, or checkbox fields
When to use SOSL?
 You don’t know in which object or field the data resides and you want to find it in the most efficient way
possible
 You want to retrieve multiple objects and fields efficiently, and the objects may or may not be related to
one another
 You want to retrieve data for a particular division in an organization with Divisions, and you want to find it
in the most efficient way possible
11
a SEI-CMMi level 4 company
Force.com Technologies (The Database)
SOQL vs SOQL : What it returns ?
 SOQL statements evaluate to a list of sObjects, a single sObject, or an Integer for count method queries.
Returns an empty list if no records are found.
 SOSL statements evaluate to a list of lists of sObjects, where each list contains the search results for a
particular sObject type. The result lists are always returned in the same order as they were specified in the
SOSL query. SOSL queries are only supported in Apex classes and anonymous blocks. You cannot use a
SOSL query in a trigger. If a SOSL query does not return any records for a specified sObject type, the search
results include an empty list for that sObject.
12
List<Account> accounts = [SELECT Id, Name FROM Account WHERE Name = 'Acme'];
List<List<SObject>> searchList = [FIND 'map*' IN ALL FIELDS
RETURNING Account (Id, Name),
Contact, Opportunity, Lead];
Account [] accounts = ((List<Account>)searchList[0]);
Contact [] contacts = ((List<Contact>)searchList[1]);
Opportunity [] opportunities = ((List<Opportunity>)searchList[2]);
Lead [] leads = ((List<Lead>)searchList[3]);
a SEI-CMMi level 4 company
Force.com Technologies (Apex)
What’s is similar to :
 A programming language
 Syntax close to C# and Java
 Compiled
 Strongly typed language(String , Integer etc.)
 Can be used like database stored procedures / triggers (similar to TSQL in SqlServer and
PL/SQL in Oracle)
How it is different:
 Runs natively on force.com
 Testing a Class from the same Class
 Coding in the browser
13
a SEI-CMMi level 4 company
Force.com Technologies (Apex)
Apex Code : What it looks like ?
14
Data
Operation
Array
Control
Structure
SOQL QueryVariable
Declaration
a SEI-CMMi level 4 company
Force.com Technologies (Apex)
A trigger is an Apex code that executes before or after the following
types of operations :
 Insert
 Update
 Delete
 Upsert (update or insert)
 Undelete
A sample Trigger :
15
trigger HandleModifiedDateOnCustomer on Customer__c (before update) {
for(Customer__c customer : Trigger.NEW){
customer.Modified_Date__c = Date.TODAY();
}
}
a SEI-CMMi level 4 company
Force.com Technologies (Visual Force)
Visualforce is a framework that allows developers to build sophisticated, custom user
interfaces that can be hosted natively on the Force.com platform.
Supported Browsers
 Microsoft® Internet Explorer® versions 7, 8, and 9
 Mozilla® Firefox®, most recent stable version
 Google Chrome™, most recent stable version
 Google Chrome Frame™ plug-in for Microsoft® Internet Explorer® 6
 Apple® Safari® version 5.1.x
16
a SEI-CMMi level 4 company
Force.com Technologies (Visualforce)
17
KEY FEATURES :
PAGES
 Use Standard Web Technologies including HTML and JavaScript
 Are rendered in HTML
 Can include components , Force.com Expressions, HTML, JS, Flash and
more.
COMPONENTS
 Are reusable standard Salesforce and custom – designed UI components
 Are referenced over a tag library model with over 65 standard elements
 Can be created for resuse
CONTROLLERS
 Types : Standard and Custom(Apex)
 Provides data from the database to the Visualforce pages
 A set of instruction that specify what happens when a user interacts
with the components in the Visualforce page like a button click.
Visualforce
Pages
(Parent – Component)
Child
Components
Controllers
Request
Response
a SEI-CMMi level 4 company
Force.com Technologies (Visual Force)
18
a SEI-CMMi level 4 company
Force.com Technologies (Visual Force)
Expression Syntax
There are three types of bindings for Visualforce Components :
 Data Bindings : uses the expression syntax to pull data from the data set made available by
the page controller.
 Action Bindings : uses the expression syntax to call action methods for functions coded by
the page controller.
 Component Bindings : uses components attribute values to reference other components’
ID’s
19
<apex:inputField value=“{!Student__c.Name__c}”/>
<apex:commandButton value=“Save” action=“{!saveStudent}”/>
<apex:attribute name=“text” type=“String” description=“My text value to display”/>
……………..
…………….
<h1>{!text}</h1>
a SEI-CMMi level 4 company
Force.com Technologies (Visual Force)
Intelligent Component : <apex:inputField />
20
a SEI-CMMi level 4 company
Force.com Technologies (Visual Force)
Other features :
 Inclusion of Static Resources (.css , .js , jquery)
 Including Custom Java Scripts and styles
 Rendering a PDF can get easier
21
a SEI-CMMi level 4 company
Thank You .. !!
22

Mais conteúdo relacionado

Destaque

Introduction Force.com-Platform / Salesforce.com
Introduction Force.com-Platform / Salesforce.comIntroduction Force.com-Platform / Salesforce.com
Introduction Force.com-Platform / Salesforce.comAptly GmbH
 
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platformJohn Stevenson
 
Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Mark Adcock
 
How Salesforce CRM works & who should use it?
How Salesforce CRM works & who should use it?How Salesforce CRM works & who should use it?
How Salesforce CRM works & who should use it?Suyati Technologies
 
Salesforce Intro
Salesforce IntroSalesforce Intro
Salesforce IntroRich Helton
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce PresentationChetna Purohit
 

Destaque (11)

Introduction to Force.com Webinar
Introduction to Force.com WebinarIntroduction to Force.com Webinar
Introduction to Force.com Webinar
 
Introduction Force.com-Platform / Salesforce.com
Introduction Force.com-Platform / Salesforce.comIntroduction Force.com-Platform / Salesforce.com
Introduction Force.com-Platform / Salesforce.com
 
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)
 
Salesforce1 Platform
Salesforce1 PlatformSalesforce1 Platform
Salesforce1 Platform
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3
 
How Salesforce CRM works & who should use it?
How Salesforce CRM works & who should use it?How Salesforce CRM works & who should use it?
How Salesforce CRM works & who should use it?
 
Salesforce CRM
Salesforce CRMSalesforce CRM
Salesforce CRM
 
Introduction to salesforce ppt
Introduction to salesforce pptIntroduction to salesforce ppt
Introduction to salesforce ppt
 
Salesforce Intro
Salesforce IntroSalesforce Intro
Salesforce Intro
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
 

Semelhante a Introduction to Force.com

Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Salesforce Developers
 
Dynamics AX and Salesforce Integration
Dynamics AX and Salesforce IntegrationDynamics AX and Salesforce Integration
Dynamics AX and Salesforce IntegrationGlenn Johnson
 
Salesforce for marketing
Salesforce for marketingSalesforce for marketing
Salesforce for marketingBohdan Dovhań
 
Salesforce Development Training In Noida Delhi NCR
Salesforce Development Training In Noida Delhi NCRSalesforce Development Training In Noida Delhi NCR
Salesforce Development Training In Noida Delhi NCRShri Prakash Pandey
 
WebServices Using Salesforce
WebServices Using SalesforceWebServices Using Salesforce
WebServices Using SalesforceAbdulImrankhan7
 
Microsoftdynamicsaxtechnicalsyllabus
MicrosoftdynamicsaxtechnicalsyllabusMicrosoftdynamicsaxtechnicalsyllabus
MicrosoftdynamicsaxtechnicalsyllabusSadguru Technologies
 
Salesforce Basic Development
Salesforce Basic DevelopmentSalesforce Basic Development
Salesforce Basic DevelopmentNaveen Dhanaraj
 
SAP and Salesforce Integration
SAP and Salesforce IntegrationSAP and Salesforce Integration
SAP and Salesforce IntegrationGlenn Johnson
 
Intro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite AppsIntro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite Appsdreamforce2006
 
Hands-On Workshop: Introduction to Development on Force.com for Developers
Hands-On Workshop: Introduction to Development on Force.com for DevelopersHands-On Workshop: Introduction to Development on Force.com for Developers
Hands-On Workshop: Introduction to Development on Force.com for DevelopersSalesforce Developers
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415pdufourSFDC
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinHector Luciano Jr
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patternsukdpe
 
Summer '16 Realease notes
Summer '16 Realease notesSummer '16 Realease notes
Summer '16 Realease notesaggopal1011
 
Atl elevate programmatic developer slides
Atl elevate programmatic developer slidesAtl elevate programmatic developer slides
Atl elevate programmatic developer slidesDavid Scruggs
 
Mastering solr
Mastering solrMastering solr
Mastering solrjurcello
 

Semelhante a Introduction to Force.com (20)

Salesforce
SalesforceSalesforce
Salesforce
 
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
Hands-On Workshop: Introduction to Coding for on Force.com for Admins and Non...
 
Dynamics AX and Salesforce Integration
Dynamics AX and Salesforce IntegrationDynamics AX and Salesforce Integration
Dynamics AX and Salesforce Integration
 
Salesforce for marketing
Salesforce for marketingSalesforce for marketing
Salesforce for marketing
 
Salesforce Development Training In Noida Delhi NCR
Salesforce Development Training In Noida Delhi NCRSalesforce Development Training In Noida Delhi NCR
Salesforce Development Training In Noida Delhi NCR
 
WebServices Using Salesforce
WebServices Using SalesforceWebServices Using Salesforce
WebServices Using Salesforce
 
Microsoftdynamicsaxtechnicalsyllabus
MicrosoftdynamicsaxtechnicalsyllabusMicrosoftdynamicsaxtechnicalsyllabus
Microsoftdynamicsaxtechnicalsyllabus
 
Salesforce Basic Development
Salesforce Basic DevelopmentSalesforce Basic Development
Salesforce Basic Development
 
SOQL & SOSL for Admins
SOQL & SOSL for AdminsSOQL & SOSL for Admins
SOQL & SOSL for Admins
 
SAP and Salesforce Integration
SAP and Salesforce IntegrationSAP and Salesforce Integration
SAP and Salesforce Integration
 
Solr Architecture
Solr ArchitectureSolr Architecture
Solr Architecture
 
Intro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite AppsIntro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite Apps
 
Hands-On Workshop: Introduction to Development on Force.com for Developers
Hands-On Workshop: Introduction to Development on Force.com for DevelopersHands-On Workshop: Introduction to Development on Force.com for Developers
Hands-On Workshop: Introduction to Development on Force.com for Developers
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
 
Summer '16 Realease notes
Summer '16 Realease notesSummer '16 Realease notes
Summer '16 Realease notes
 
Atl elevate programmatic developer slides
Atl elevate programmatic developer slidesAtl elevate programmatic developer slides
Atl elevate programmatic developer slides
 
Mastering solr
Mastering solrMastering solr
Mastering solr
 

Último

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Último (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Introduction to Force.com

  • 1. Presented by : Date : Introduction to Force.com Kaushik Chakraborty 6th Sept, 2012
  • 2. a SEI-CMMi level 4 company Agenda • Salesforce.com • Cloud Technology(What and Why) • Force.com(a PAAS) • Force.com Technologies • Data - Force.com Database • Logic - Apex • View - Visual Force • Demo 2
  • 3. a SEI-CMMi level 4 company Salesforce.com Salesforce.com Inc. is a global enterprise software company headquartered in San Fransisco, United States.  Founded : March 1999  Founders :  Marc Benioff (former Oracle executive)  Parker Harris, Dave Moellenhoff, and Frank Dominguez (three software developers previously at Clarify).  Known for its (CRM) product, through acquisitions Salesforce has expanded into the "social enterprise arena."  It was ranked number 27 in Fortune’s 100 Best Companies to Work For in 2012.  Salesforce.com's CRM solution is broken down into several broad categories:  Sales Cloud, Service Cloud, Data Cloud,(Data.com), Collaboration Cloud (Chatter) and Custom Cloud(Force.com). 3
  • 4. a SEI-CMMi level 4 company Cloud Computing What is Cloud Computing ? Wikipedia says : Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet). Typically its categorized into 3 types :  IAAS (Infrastructure As A Service)  Amazon EC2, Google Cloud Engine.  PAAS (Platform As A Service)  Heroku, Force.com  SAAS (Software As A Service)  Google Apps, Limelight Video Platform 4
  • 5. a SEI-CMMi level 4 company Cloud Computing  Why Do we need Cloud Computing Service ?  “LESSER INVESTMENT”  Reduced personal infrastructure  Reduced head count  On Demand Service 5 Cloud computing logical diagram
  • 6. a SEI-CMMi level 4 company Force.com(a PAAS) Force.com is a cloud computing platform as a service system from Salesforce.com that developers use to build multi tenant applications hosted on their servers as a service. Advantages :  RAD Platform – Lots of available features/functionalities from Salesforce  User management and authentication  Administrative interface  Reporting and analytics  Enforces best practices  Actively under development (Big things underway with VMForce - the enterprise cloud for Java developers.)  No Prerequisites : Only a Computer with an internet connection Disadvantages:  Apex(Force.com programming language) not Fully Featured Language  Debugging is a Nightmare as there is no real time debugger  Unfixed bugs  Checking the uploaded resources(.css, images , .js)  Data based pricing makes it pricy for folks with lots of data.  Force.com IDE doesn’t provide usability like Eclipse. 6
  • 7. a SEI-CMMi level 4 company Force.com Technologies 7 Visual Force Page 1 Apex Controller 3Apex Controller 2Apex Controller 1 Visual Force Page 2 Visual Force Page 3 Apex Classes sObject 1 Trigger 2Trigger 1 sObject 2 sObject 3 Visual Force Pages Apex Logic (Controllers, Class , Triggers)) Database Objects
  • 8. a SEI-CMMi level 4 company Force.com Technologies (The Database) The Lingo(Old New)  Tables Objects  Columns Fields  Keys Ids  Foreign Keys Relationships  Row Record Types of Objects :  Standard Objects – Provided by force.com per profile(Account, Attachment) refer to : http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_objects_list.htm  Custom Objects – Created by the user 8
  • 9. a SEI-CMMi level 4 company Force.com Technologies (The Database) The joy of data types :  Lookup Fields  Master Detail Fields  Roll up Summary  Formula Fields  Rich Text  Email  Currency  Percentage  Picklist and Picklist(Multiselect)  URL  Number  Text  Long Text  Date  Checkbox 9 Read Only Fields Relational Fields Non Relational Fields
  • 10. a SEI-CMMi level 4 company Force.com Technologies (The Database) The Query Languages :  SOQL (Salesforce Object Query Language) : A close cousin of SQL(but is not as advanced), used to construct query strings  Basic Syntax : SELECT fieldList FROM objectType [WHERE conditionExpression] [GROUP BY fieldGroupByList] [HAVING havingConditionExpression] [ORDER BY fieldOrderByList ASC | DESC ? NULLS FIRST | LAST ?] [LIMIT number of rows to return ?] [OFFSET number of rows to skip?]  SOSL (Salesforce Object Search Language) : It is used to create search strings  Basic Syntax : FIND {SearchQuery} [toLabel()] [IN SearchGroup [convertCurrency(Amount)]] [RETURNING FieldSpec] [LIMIT n] Refer to : http://www.salesforce.com/us/developer/docs/soql_sosl/index.htm 10
  • 11. a SEI-CMMi level 4 company Force.com Technologies (The Database) When to use SOQL?  You know in which objects or fields the data resides  You want to retrieve data from a single object or from multiple objects that are related to one another  You want to count the number of records that meet particular criteria  You want to sort your results as part of the query  You want to retrieve data from number, date, or checkbox fields When to use SOSL?  You don’t know in which object or field the data resides and you want to find it in the most efficient way possible  You want to retrieve multiple objects and fields efficiently, and the objects may or may not be related to one another  You want to retrieve data for a particular division in an organization with Divisions, and you want to find it in the most efficient way possible 11
  • 12. a SEI-CMMi level 4 company Force.com Technologies (The Database) SOQL vs SOQL : What it returns ?  SOQL statements evaluate to a list of sObjects, a single sObject, or an Integer for count method queries. Returns an empty list if no records are found.  SOSL statements evaluate to a list of lists of sObjects, where each list contains the search results for a particular sObject type. The result lists are always returned in the same order as they were specified in the SOSL query. SOSL queries are only supported in Apex classes and anonymous blocks. You cannot use a SOSL query in a trigger. If a SOSL query does not return any records for a specified sObject type, the search results include an empty list for that sObject. 12 List<Account> accounts = [SELECT Id, Name FROM Account WHERE Name = 'Acme']; List<List<SObject>> searchList = [FIND 'map*' IN ALL FIELDS RETURNING Account (Id, Name), Contact, Opportunity, Lead]; Account [] accounts = ((List<Account>)searchList[0]); Contact [] contacts = ((List<Contact>)searchList[1]); Opportunity [] opportunities = ((List<Opportunity>)searchList[2]); Lead [] leads = ((List<Lead>)searchList[3]);
  • 13. a SEI-CMMi level 4 company Force.com Technologies (Apex) What’s is similar to :  A programming language  Syntax close to C# and Java  Compiled  Strongly typed language(String , Integer etc.)  Can be used like database stored procedures / triggers (similar to TSQL in SqlServer and PL/SQL in Oracle) How it is different:  Runs natively on force.com  Testing a Class from the same Class  Coding in the browser 13
  • 14. a SEI-CMMi level 4 company Force.com Technologies (Apex) Apex Code : What it looks like ? 14 Data Operation Array Control Structure SOQL QueryVariable Declaration
  • 15. a SEI-CMMi level 4 company Force.com Technologies (Apex) A trigger is an Apex code that executes before or after the following types of operations :  Insert  Update  Delete  Upsert (update or insert)  Undelete A sample Trigger : 15 trigger HandleModifiedDateOnCustomer on Customer__c (before update) { for(Customer__c customer : Trigger.NEW){ customer.Modified_Date__c = Date.TODAY(); } }
  • 16. a SEI-CMMi level 4 company Force.com Technologies (Visual Force) Visualforce is a framework that allows developers to build sophisticated, custom user interfaces that can be hosted natively on the Force.com platform. Supported Browsers  Microsoft® Internet Explorer® versions 7, 8, and 9  Mozilla® Firefox®, most recent stable version  Google Chrome™, most recent stable version  Google Chrome Frame™ plug-in for Microsoft® Internet Explorer® 6  Apple® Safari® version 5.1.x 16
  • 17. a SEI-CMMi level 4 company Force.com Technologies (Visualforce) 17 KEY FEATURES : PAGES  Use Standard Web Technologies including HTML and JavaScript  Are rendered in HTML  Can include components , Force.com Expressions, HTML, JS, Flash and more. COMPONENTS  Are reusable standard Salesforce and custom – designed UI components  Are referenced over a tag library model with over 65 standard elements  Can be created for resuse CONTROLLERS  Types : Standard and Custom(Apex)  Provides data from the database to the Visualforce pages  A set of instruction that specify what happens when a user interacts with the components in the Visualforce page like a button click. Visualforce Pages (Parent – Component) Child Components Controllers Request Response
  • 18. a SEI-CMMi level 4 company Force.com Technologies (Visual Force) 18
  • 19. a SEI-CMMi level 4 company Force.com Technologies (Visual Force) Expression Syntax There are three types of bindings for Visualforce Components :  Data Bindings : uses the expression syntax to pull data from the data set made available by the page controller.  Action Bindings : uses the expression syntax to call action methods for functions coded by the page controller.  Component Bindings : uses components attribute values to reference other components’ ID’s 19 <apex:inputField value=“{!Student__c.Name__c}”/> <apex:commandButton value=“Save” action=“{!saveStudent}”/> <apex:attribute name=“text” type=“String” description=“My text value to display”/> …………….. ……………. <h1>{!text}</h1>
  • 20. a SEI-CMMi level 4 company Force.com Technologies (Visual Force) Intelligent Component : <apex:inputField /> 20
  • 21. a SEI-CMMi level 4 company Force.com Technologies (Visual Force) Other features :  Inclusion of Static Resources (.css , .js , jquery)  Including Custom Java Scripts and styles  Rendering a PDF can get easier 21
  • 22. a SEI-CMMi level 4 company Thank You .. !! 22