SlideShare a Scribd company logo
1 of 26
Integrating with the Salesforce Platform
Speaker: Rakesh Gupta
(DUG Leader Mumbai)
Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or
implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking,
including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements
regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded
services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality
for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and
rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other
litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating
history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer
deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further
information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for
the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings
section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and
may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are
currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
OAuth
Industry standard method of user authentication
Remote
Application
Salesforce
Platform
Sends App Credentials
User logs in,
Token sent to callback
Confirms token
Send access token
Maintain session with
refresh token
OAuth2 Flow
WORKBENCH OAuth
REST API
API leveraging industry standard HTTP
Mobile
Application
Salesforce
Platform
login.salesforce.com
REST API
1. Authenticate
/services/data/query?
SELECT ID FROM ACCOUNT
2. Access API
{“sObject”: “Account”,
“id” : “oax02fdr756aFdad”}
3. Get JSON or XML
WORKBENCH REST EXPLORER
SOAP API
XML messaging and WSDL based API
Java Web
Server
Salesforce
Platform
login.salesforce.com
SOAP API
1. Authenticate
<QUERY><SOQL>
SELECT Id from Account
</SOQL></QUERY>
2. Access API
<RECORDS>
<RECORD type=“Account”>
<id>oax02fdr756aFdad</id>
</RECORD>
</RECORDS>
3. Get XML
Bulk API
Asynchronous API for handling large datasets
ETL
Tool
Salesforce
Platform
BULK API
2. Push Updates
TITLE: AppCo
STREET: 1 Market Street
REF:0001
1. Pull Recent Records
Legacy
Database
NAME: AppCo
MailingStreet: 1 Market Street
ExternalID:0001
Streaming API
Bayeux implementation for real-time delivery of data
Java
Web Server
Salesforce
Platform
STREAMING API
1. Handshake
2. Subscribe to Topic
3. Get Updates
WORKBENCH PUSHTOPICS
Apex Endpoints
Exposing Apex methods via SOAP and REST
Apex SOAP
global class MyWebService {
webService static Id makeContact(String lastName, Account a) {
Contact c = new Contact(lastName = 'Weissman',
AccountId = a.Id);
insert c;
return c.id;
}
}
Apex REST
@RestResource(urlMapping='/CaseManagement/v1/*')
global with sharing class CaseMgmtService
{
@HttpPost
global static String attachPic(){
RestRequest req = RestContext.request;
RestResponse res = Restcontext.response;
Id caseId = req.requestURI.substring(req.requestURI.lastIndexOf('/')+1);
Blob picture = req.requestBody;
Attachment a = new Attachment (ParentId = caseId,
Body = picture,
ContentType = 'image/
Canvas
Framework for using third party apps within Salesforce
Any Language, Any Platform
• Only has to be accessible from the user’s browser
• Authentication via OAuth or Signed Response
• JavaScript based SDK can be associated with any language
• Within Canvas, the App can make API calls as the current user
• apex:CanvasApp allows embedding via Visualforce
Canvas Anatomy
CANVAS DEMO
Apex HTTP
HTTP Callouts from the Salesforce Platform
Apex HTTP
public FlickrList getFlickrData(string tag) {
HttpRequest req = new HttpRequest();
req.setMethod('GET');
req.setEndpoint('http://api.flickr.com/services/feeds/photos_public.gne?nojsoncallback=1&f
ormat=json&tags='+tag);
HTTP http = new HTTP();
HTTPResponse res = http.send(req);
return (FlickrList)JSON.deserialize(
res.getBody().replace(''',''),FlickrList.class
);
}
FLICKR HTTP DEMO
@joshbirk
http:/github.com/joshbrik
@rakeshistom
@rakeshistom@gmail.com
Questions?

More Related Content

What's hot

Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce IntegrationJoshua Hoskins
 
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
 
Secure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSecure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSalesforce Developers
 
Salesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsSalesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsDhanik Sahni
 
Authentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsAuthentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsSalesforce Developers
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforceMark Adcock
 
Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Salesforce Developers
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patternsusolutions
 
Salesforce CRM Integration Solutions
Salesforce CRM Integration SolutionsSalesforce CRM Integration Solutions
Salesforce CRM Integration SolutionsAtocloud
 
Secure Salesforce: Org Access Controls
Secure Salesforce: Org Access ControlsSecure Salesforce: Org Access Controls
Secure Salesforce: Org Access ControlsSalesforce Developers
 
OAuth with Salesforce - Demystified
OAuth with Salesforce - DemystifiedOAuth with Salesforce - Demystified
OAuth with Salesforce - DemystifiedCalvin Noronha
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsSalesforce Developers
 
Security and Your Salesforce Org
Security and Your Salesforce OrgSecurity and Your Salesforce Org
Security and Your Salesforce OrgSalesforce Admins
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelSalesforce Developers
 
Deep Dive into OAuth for Connected Apps
Deep Dive into OAuth for Connected AppsDeep Dive into OAuth for Connected Apps
Deep Dive into OAuth for Connected AppsSalesforce Developers
 
Mds cloud saturday 2015 salesforce intro
Mds cloud saturday 2015 salesforce introMds cloud saturday 2015 salesforce intro
Mds cloud saturday 2015 salesforce introDavid Scruggs
 
Data Democracy: Use Lightning Connect & Heroku to Visualize any Data, Anywhere
Data Democracy: Use Lightning Connect & Heroku to Visualize any Data, AnywhereData Democracy: Use Lightning Connect & Heroku to Visualize any Data, Anywhere
Data Democracy: Use Lightning Connect & Heroku to Visualize any Data, AnywhereSalesforce Developers
 
2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers againEuroCloud
 

What's hot (20)

Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
 
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
 
Secure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with CheckmarxSecure Salesforce: Code Scanning with Checkmarx
Secure Salesforce: Code Scanning with Checkmarx
 
Salesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsSalesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic Events
 
Authentication with OAuth and Connected Apps
Authentication with OAuth and Connected AppsAuthentication with OAuth and Connected Apps
Authentication with OAuth and Connected Apps
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patterns
 
Salesforce CRM Integration Solutions
Salesforce CRM Integration SolutionsSalesforce CRM Integration Solutions
Salesforce CRM Integration Solutions
 
Secure Salesforce: Org Access Controls
Secure Salesforce: Org Access ControlsSecure Salesforce: Org Access Controls
Secure Salesforce: Org Access Controls
 
OAuth with Salesforce - Demystified
OAuth with Salesforce - DemystifiedOAuth with Salesforce - Demystified
OAuth with Salesforce - Demystified
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External Objects
 
Security and Your Salesforce Org
Security and Your Salesforce OrgSecurity and Your Salesforce Org
Security and Your Salesforce Org
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security Model
 
Deep Dive into OAuth for Connected Apps
Deep Dive into OAuth for Connected AppsDeep Dive into OAuth for Connected Apps
Deep Dive into OAuth for Connected Apps
 
Mds cloud saturday 2015 salesforce intro
Mds cloud saturday 2015 salesforce introMds cloud saturday 2015 salesforce intro
Mds cloud saturday 2015 salesforce intro
 
Exploring the Salesforce REST API
Exploring the Salesforce REST APIExploring the Salesforce REST API
Exploring the Salesforce REST API
 
Data Democracy: Use Lightning Connect & Heroku to Visualize any Data, Anywhere
Data Democracy: Use Lightning Connect & Heroku to Visualize any Data, AnywhereData Democracy: Use Lightning Connect & Heroku to Visualize any Data, Anywhere
Data Democracy: Use Lightning Connect & Heroku to Visualize any Data, Anywhere
 
Using Apex for REST Integration
Using Apex for REST IntegrationUsing Apex for REST Integration
Using Apex for REST Integration
 
2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again
 

Viewers also liked

Cultura organizacional filosofia
Cultura organizacional  filosofiaCultura organizacional  filosofia
Cultura organizacional filosofiaroshi13
 
Integrate Salesforce with Google Glass Using the Mirror API
Integrate Salesforce with Google Glass Using the Mirror APIIntegrate Salesforce with Google Glass Using the Mirror API
Integrate Salesforce with Google Glass Using the Mirror APISalesforce Developers
 
Intellio incloud Top 5 des retombées d’affaires de Salesforce
Intellio incloud   Top 5 des retombées d’affaires de SalesforceIntellio incloud   Top 5 des retombées d’affaires de Salesforce
Intellio incloud Top 5 des retombées d’affaires de SalesforceMyles Walsh
 
5.2swiss_sharepoint_club_mvp_track2_office365_salesforce_integration_guillaum...
5.2swiss_sharepoint_club_mvp_track2_office365_salesforce_integration_guillaum...5.2swiss_sharepoint_club_mvp_track2_office365_salesforce_integration_guillaum...
5.2swiss_sharepoint_club_mvp_track2_office365_salesforce_integration_guillaum...Swiss SharePoint Club
 
Introduction to Cloud Computing and Open Source solutions
Introduction to Cloud Computing and Open Source solutionsIntroduction to Cloud Computing and Open Source solutions
Introduction to Cloud Computing and Open Source solutionsAmineAbida
 
L'Application CDC Arkhineo Cloud Access for Salesforce
L'Application CDC Arkhineo Cloud Access for SalesforceL'Application CDC Arkhineo Cloud Access for Salesforce
L'Application CDC Arkhineo Cloud Access for SalesforceCDC Arkhineo
 
REST API in Salesforce
REST API in SalesforceREST API in Salesforce
REST API in SalesforceVivek Deepak
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationSalesforce Developers
 
La performance du commercial avec Salesforce et Office 365
La performance du commercial avec Salesforce et Office 365La performance du commercial avec Salesforce et Office 365
La performance du commercial avec Salesforce et Office 365Microsoft Décideurs IT
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIOuadie LAHDIOUI
 
Comment Salesforce utilise Salesforce
Comment Salesforce utilise SalesforceComment Salesforce utilise Salesforce
Comment Salesforce utilise SalesforceSalesforce France
 
Salesforce World Tour Paris - 25 juin 2015
Salesforce World Tour Paris - 25 juin 2015Salesforce World Tour Paris - 25 juin 2015
Salesforce World Tour Paris - 25 juin 2015Salesforce France
 
Community Cloud : réinventez votre engagement client
Community Cloud : réinventez votre engagement clientCommunity Cloud : réinventez votre engagement client
Community Cloud : réinventez votre engagement clientSalesforce France
 

Viewers also liked (16)

Cultura organizacional filosofia
Cultura organizacional  filosofiaCultura organizacional  filosofia
Cultura organizacional filosofia
 
Salesforce pour l'industrie
Salesforce pour l'industrieSalesforce pour l'industrie
Salesforce pour l'industrie
 
Integrate Salesforce with Google Glass Using the Mirror API
Integrate Salesforce with Google Glass Using the Mirror APIIntegrate Salesforce with Google Glass Using the Mirror API
Integrate Salesforce with Google Glass Using the Mirror API
 
Intellio incloud Top 5 des retombées d’affaires de Salesforce
Intellio incloud   Top 5 des retombées d’affaires de SalesforceIntellio incloud   Top 5 des retombées d’affaires de Salesforce
Intellio incloud Top 5 des retombées d’affaires de Salesforce
 
5.2swiss_sharepoint_club_mvp_track2_office365_salesforce_integration_guillaum...
5.2swiss_sharepoint_club_mvp_track2_office365_salesforce_integration_guillaum...5.2swiss_sharepoint_club_mvp_track2_office365_salesforce_integration_guillaum...
5.2swiss_sharepoint_club_mvp_track2_office365_salesforce_integration_guillaum...
 
Architecting Multi-Org Solutions
Architecting Multi-Org SolutionsArchitecting Multi-Org Solutions
Architecting Multi-Org Solutions
 
Introduction to Cloud Computing and Open Source solutions
Introduction to Cloud Computing and Open Source solutionsIntroduction to Cloud Computing and Open Source solutions
Introduction to Cloud Computing and Open Source solutions
 
L'Application CDC Arkhineo Cloud Access for Salesforce
L'Application CDC Arkhineo Cloud Access for SalesforceL'Application CDC Arkhineo Cloud Access for Salesforce
L'Application CDC Arkhineo Cloud Access for Salesforce
 
REST API in Salesforce
REST API in SalesforceREST API in Salesforce
REST API in Salesforce
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social Authentication
 
La performance du commercial avec Salesforce et Office 365
La performance du commercial avec Salesforce et Office 365La performance du commercial avec Salesforce et Office 365
La performance du commercial avec Salesforce et Office 365
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
 
Salesforce pour le retail
Salesforce pour le retailSalesforce pour le retail
Salesforce pour le retail
 
Comment Salesforce utilise Salesforce
Comment Salesforce utilise SalesforceComment Salesforce utilise Salesforce
Comment Salesforce utilise Salesforce
 
Salesforce World Tour Paris - 25 juin 2015
Salesforce World Tour Paris - 25 juin 2015Salesforce World Tour Paris - 25 juin 2015
Salesforce World Tour Paris - 25 juin 2015
 
Community Cloud : réinventez votre engagement client
Community Cloud : réinventez votre engagement clientCommunity Cloud : réinventez votre engagement client
Community Cloud : réinventez votre engagement client
 

Similar to Navi Mumbai Salesforce DUG meetup on integration

The Power of Salesforce APIs World Tour Edition
The Power of Salesforce APIs World Tour EditionThe Power of Salesforce APIs World Tour Edition
The Power of Salesforce APIs World Tour EditionPeter Chittum
 
Cutting Edge Mobile Development in the App Cloud
Cutting Edge Mobile Development in the App CloudCutting Edge Mobile Development in the App Cloud
Cutting Edge Mobile Development in the App CloudSalesforce Developers
 
Building Mobile Apps That Deliver Salesforce to Your Employees
Building Mobile Apps That Deliver Salesforce to Your EmployeesBuilding Mobile Apps That Deliver Salesforce to Your Employees
Building Mobile Apps That Deliver Salesforce to Your EmployeesSalesforce Developers
 
Next Generation Web Services
Next Generation Web ServicesNext Generation Web Services
Next Generation Web Servicesdreamforce2006
 
Tour of Heroku + Salesforce Integration Methods
Tour of Heroku + Salesforce Integration MethodsTour of Heroku + Salesforce Integration Methods
Tour of Heroku + Salesforce Integration MethodsSalesforce Developers
 
#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platformSalesforce Developers
 
CCT London 2013 Theatre Intro to Apex
CCT London 2013 Theatre Intro to ApexCCT London 2013 Theatre Intro to Apex
CCT London 2013 Theatre Intro to ApexPeter Chittum
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter ChittumBeMyApp
 
Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Salesforce Deutschland
 
Boxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too MuchBoxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too MuchPeter Chittum
 
February 2020 Salesforce API Review
February 2020 Salesforce API ReviewFebruary 2020 Salesforce API Review
February 2020 Salesforce API ReviewLydon Bergin
 
Dallas user group February 20 2015
Dallas user group February 20 2015Dallas user group February 20 2015
Dallas user group February 20 2015J Mo
 
Integrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectIntegrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectSalesforce Developers
 
Developing Offline Mobile Apps With Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps With Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps With Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps With Salesforce Mobile SDK SmartStoreSalesforce Developers
 
MuleSoftマイクロサービスとデプロイメントパターン
MuleSoftマイクロサービスとデプロイメントパターンMuleSoftマイクロサービスとデプロイメントパターン
MuleSoftマイクロサービスとデプロイメントパターンMitch Okamoto
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16Mohith Shrivastava
 
Business Mashups Best of the Web APIs
Business Mashups Best of the Web APIsBusiness Mashups Best of the Web APIs
Business Mashups Best of the Web APIsdreamforce2006
 
Turbo-charge Your Skuid Page with Apex
Turbo-charge Your Skuid Page with ApexTurbo-charge Your Skuid Page with Apex
Turbo-charge Your Skuid Page with ApexSalesforce Developers
 

Similar to Navi Mumbai Salesforce DUG meetup on integration (20)

The Power of Salesforce APIs World Tour Edition
The Power of Salesforce APIs World Tour EditionThe Power of Salesforce APIs World Tour Edition
The Power of Salesforce APIs World Tour Edition
 
Streaming API with Java
Streaming API with JavaStreaming API with Java
Streaming API with Java
 
Cutting Edge Mobile Development in the App Cloud
Cutting Edge Mobile Development in the App CloudCutting Edge Mobile Development in the App Cloud
Cutting Edge Mobile Development in the App Cloud
 
Building Mobile Apps That Deliver Salesforce to Your Employees
Building Mobile Apps That Deliver Salesforce to Your EmployeesBuilding Mobile Apps That Deliver Salesforce to Your Employees
Building Mobile Apps That Deliver Salesforce to Your Employees
 
Next Generation Web Services
Next Generation Web ServicesNext Generation Web Services
Next Generation Web Services
 
Tour of Heroku + Salesforce Integration Methods
Tour of Heroku + Salesforce Integration MethodsTour of Heroku + Salesforce Integration Methods
Tour of Heroku + Salesforce Integration Methods
 
#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform#DF17Recap series: Integrate apps easier with the Salesforce platform
#DF17Recap series: Integrate apps easier with the Salesforce platform
 
CCT London 2013 Theatre Intro to Apex
CCT London 2013 Theatre Intro to ApexCCT London 2013 Theatre Intro to Apex
CCT London 2013 Theatre Intro to Apex
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum
 
Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...
 
Boxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too MuchBoxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too Much
 
February 2020 Salesforce API Review
February 2020 Salesforce API ReviewFebruary 2020 Salesforce API Review
February 2020 Salesforce API Review
 
Dallas user group February 20 2015
Dallas user group February 20 2015Dallas user group February 20 2015
Dallas user group February 20 2015
 
Integrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectIntegrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity Connect
 
Developing Offline Mobile Apps With Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps With Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps With Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps With Salesforce Mobile SDK SmartStore
 
MuleSoftマイクロサービスとデプロイメントパターン
MuleSoftマイクロサービスとデプロイメントパターンMuleSoftマイクロサービスとデプロイメントパターン
MuleSoftマイクロサービスとデプロイメントパターン
 
Building BOTS on App Cloud
Building BOTS on App CloudBuilding BOTS on App Cloud
Building BOTS on App Cloud
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16
 
Business Mashups Best of the Web APIs
Business Mashups Best of the Web APIsBusiness Mashups Best of the Web APIs
Business Mashups Best of the Web APIs
 
Turbo-charge Your Skuid Page with Apex
Turbo-charge Your Skuid Page with ApexTurbo-charge Your Skuid Page with Apex
Turbo-charge Your Skuid Page with Apex
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Navi Mumbai Salesforce DUG meetup on integration

  • 1. Integrating with the Salesforce Platform Speaker: Rakesh Gupta (DUG Leader Mumbai)
  • 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. OAuth Industry standard method of user authentication
  • 4. Remote Application Salesforce Platform Sends App Credentials User logs in, Token sent to callback Confirms token Send access token Maintain session with refresh token OAuth2 Flow
  • 6. REST API API leveraging industry standard HTTP
  • 7. Mobile Application Salesforce Platform login.salesforce.com REST API 1. Authenticate /services/data/query? SELECT ID FROM ACCOUNT 2. Access API {“sObject”: “Account”, “id” : “oax02fdr756aFdad”} 3. Get JSON or XML
  • 9. SOAP API XML messaging and WSDL based API
  • 10. Java Web Server Salesforce Platform login.salesforce.com SOAP API 1. Authenticate <QUERY><SOQL> SELECT Id from Account </SOQL></QUERY> 2. Access API <RECORDS> <RECORD type=“Account”> <id>oax02fdr756aFdad</id> </RECORD> </RECORDS> 3. Get XML
  • 11. Bulk API Asynchronous API for handling large datasets
  • 12. ETL Tool Salesforce Platform BULK API 2. Push Updates TITLE: AppCo STREET: 1 Market Street REF:0001 1. Pull Recent Records Legacy Database NAME: AppCo MailingStreet: 1 Market Street ExternalID:0001
  • 13. Streaming API Bayeux implementation for real-time delivery of data
  • 14. Java Web Server Salesforce Platform STREAMING API 1. Handshake 2. Subscribe to Topic 3. Get Updates
  • 16. Apex Endpoints Exposing Apex methods via SOAP and REST
  • 17. Apex SOAP global class MyWebService { webService static Id makeContact(String lastName, Account a) { Contact c = new Contact(lastName = 'Weissman', AccountId = a.Id); insert c; return c.id; } }
  • 18. Apex REST @RestResource(urlMapping='/CaseManagement/v1/*') global with sharing class CaseMgmtService { @HttpPost global static String attachPic(){ RestRequest req = RestContext.request; RestResponse res = Restcontext.response; Id caseId = req.requestURI.substring(req.requestURI.lastIndexOf('/')+1); Blob picture = req.requestBody; Attachment a = new Attachment (ParentId = caseId, Body = picture, ContentType = 'image/
  • 19. Canvas Framework for using third party apps within Salesforce
  • 20.
  • 21. Any Language, Any Platform • Only has to be accessible from the user’s browser • Authentication via OAuth or Signed Response • JavaScript based SDK can be associated with any language • Within Canvas, the App can make API calls as the current user • apex:CanvasApp allows embedding via Visualforce Canvas Anatomy
  • 23. Apex HTTP HTTP Callouts from the Salesforce Platform
  • 24. Apex HTTP public FlickrList getFlickrData(string tag) { HttpRequest req = new HttpRequest(); req.setMethod('GET'); req.setEndpoint('http://api.flickr.com/services/feeds/photos_public.gne?nojsoncallback=1&f ormat=json&tags='+tag); HTTP http = new HTTP(); HTTPResponse res = http.send(req); return (FlickrList)JSON.deserialize( res.getBody().replace(''',''),FlickrList.class ); }

Editor's Notes

  1. Docs to help:http://www.salesforce.com/us/developer/docs/api/index.htmhttp://www.salesforce.com/us/developer/docs/api_rest/http://www.salesforce.com/us/developer/docs/api_streaming/http://www.salesforce.com/us/developer/docs/platform_connectpre/canvas_framework.pdfhttp://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#StartTopic=Content/apex_classes_restful_http_http.htm
  2. Before we get into specifics about API integration – let’s talk a bit about Identity. Identity services, being able to authenticate your users securely – is incredibly important, especially once we start accessing the platform from third parties.Now many of you may have existing applications which use our API’s – who here has written a mobile or desktop app that logs into Salesforce, for instance? If you wrote that app with a username and password screen, consider what you are taking on there: you have to handle those credentials with the same care we do on login.salesforce.com, right?
  3. What if you didn’t have to? Stupid question time: who has used Facebook? Right, exactly – and if you’ve used Facebook you have probably seen those popups that say things like “Farmville would like to do these three things as you”. You hit confirm, and Farmville has access to some of your Facebook account, but only the parts you let it. And you never gave them your password. And at any time, you can revoke the app.That’s Oauth, and the Salesforce Platform has an excellent implementation of it. It works by having the app send the user to the first party platform, in this case Salesforce, who logs the person in. The application and the plattform essentially confirm each other, and then at the end of it – the app gets a session token with only the permissions you granted.
  4. Let’s see that in action. Going to demo Workbench, which is a great PHP application for various developer functions against the platform.https://workbench.developerforce.com/login.phpJust be sure to log out of your org, and then you can go here and walk through the whole login procedure. Workbench shows great user info in the upper right corner.
  5. Now let’s talk about our specific API’s. We have API’s to fit a wide range of use cases. Our REST API is very versatile, and one of the main use cases is mobile applications.
  6. That’s because the REST API is very lightweight. You access it with industry standard HTTP calls. So when you call http://cnn.com, that’s an HTTP GET call. Your browser returns HTML, and you see a web page. This is the same, but authenticated, and you get JSON back. JSON is a very lightweight data type and many languages and frameworks already know how to parse it.
  7. Let’s see that in action.https://workbench.developerforce.com/restExplorer.phpIe.e to demonstrate doing a query: /services/data/v28.0/query?q=SELECT+ID+FROM+ACCOUNT
  8. Now our old workhorse is our SOAP API.
  9. The flow of SOAP is very similar to REST, but the messaging is different. With SOAP, you are sending and receiving an XML message in a specific format. This can get heavy, size-wise, but it is also very stable and predictable. You can create a document called a WSDL (Web Services Definition Language) which defines how those messages look, and a lot of languages like Java and C# can easily consume a WSDL and create classes that talk to the API automatically.
  10. Now our Bulk API is meant specifically for loading large datasets. It’s asynchrounous to maximize the the server processing and allow for potentially lengthy load times.
  11. ETL (Extract Transform Load) tools can leverage the Bulk API to insert rows, pull data, and even modify the data in between … to say, match up columns with different names.
  12. Like the Bulk API – the Streaming API is designed for a very specific problem. What if you need real time updates, but you don’t want the API cost of constantly asking the server is anything has changed?{I usually talk about a Python dev who wrote a script to grab specific accounts, hand them off to a local process and then attach a resulting PDF to the account. It reduced a 45 minute process to a couple of minutes, and it made the system far more responsive. But to make it realtime, he polled the API every millisecond, which killed his API limit. Modified to work with the Streaming API, it now works great}
  13. The Streaming API gets a handshake from the platform, and then can subscribe to topics. Topics are mostly defined by SOQL to describe the kind of data the topic is pushing. Then, as long as that handshake is open – the updates get sent down to the client.
  14. Let’s look at a demohttps://workbench.developerforce.com/streaming.phpThis allows you to view topics, create new ones, and test connections. Create a new topic, update some data and see the message come across with the data update.
  15. Now, everything we’ve seen so far require no coding at all – these are the vanila API’s right out of the box. You get the basic Create Read Update Delete functionality. With Apex, however, you can extend our API’s to fit specific situations.
  16. For SOAP, it’s just annotating a method as a web service. With that annotation, the method gets exposed as an endpoint, is described in the WSDL and can send and receive SOAP messages which match the incoming and outgoing parameters.
  17. For REST, things get a little more organized. Since REST is based on HTTP methods, we annotate a class first as a REST resource to define the endpoint – and then we annotate functions to be associated with specific HTTP methods (GET, POST, PUT, PATCH and DELETE). When the endpoint gets an incoming request, it sends it over to the function that has the appropriate annotation. JSON transformation is done on the fly.
  18. Canvas is our technology for deploying third party applications within the Salesforce UI, complete with authenticated API access.
  19. For instance, maybe I have a large internal intranet applications. I don’t want to port all that functionality into Salesforce, but I do want to be able to integrate this one interface.
  20. Here is a very simple PHP demo:https://github.com/joshbirk/Canvas-PHPUse either of the install links to install it into an org. You’ll then need to configure the app to use admin configured users and add the profile. After that it will show up in Canvas App Previewer (under setup), Chatter tabs and can be used in VF pages, etc.
  21. Now we’ve been looking at how to call into theSalesforce Platform – but how about calling out?
  22. Apex has a system level HTTP library, which allows us to build requests to HTTP (and HTTPS) endpoints and handle their response. In this case, we’re simply calling the public Flickr feed to get some JSON about images, and then we can display that in Visualforce.