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

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 

Último (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 

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