SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Kürzlich hochgeladen (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

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