December 1, 2015
Lorem Ipsum Dolor
Forward-Looking Statement
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 any litigation, risks associated with
completed and any 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-K for the most recent fiscal year
and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These 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.
Go Social!
Salesforce Developers
Salesforce Developers
Salesforce Developers
The video will be posted to YouTube & the
webinar recap page (same URL as registration).This webinar is being recorded!
@salesforcedevs / #forcewebinar
▪ Don’t wait until the end to ask your question!
– Technical support will answer questions starting now.
▪ Respect Q&A etiquette
– Please don’t repeat questions. The support team is working
their way down the queue.
▪ Stick around for live Q&A at the end
– Speakers will tackle more questions at the end, time-
allowing.
▪ Head to Developer Forums
– More questions? Visit developer.salesforce.com/forums
Have Questions?
Agenda
1. Intro and Overview
2. Integration Dependencies
3. Data CRUD Integration
4. Salesforce Connect
5. Apex Integration Services
6. Roundup of Other Integration Topics
Who Are You?
 Experience with integration and use of APIs
 New(ish) to Salesforce
Introduction
What makes a platform…
Is this a platform?
…a Platform?
Comprehensive APIs, Toolkits, and Support of
Standards
Web Service
Endpoint
Web Service
Endpoint
Apex
WS/REST
Outbound
Messaging
Business Logic
Bulk API
Odata
(Salesforce
Connect)
Streaming API
Topic/Channel
CRUD
(SOAP/REST)
Data
Extnernal
Object
Bayeux
Client
Applications, Devices, Middleware
Java SDK Ruby gem PHP Toolkit Mobile SDK
3rd Party
Adapters
Apex
Callouts
Salesforce API Implementation
 Versioned (currently v37)
 Major Release 3 Times Per Year
 Use of Standards and Common Architectural Patterns
 Customer updates to schema automatically reflected
Tools for the API
 Workbench
 Force CLI
 Postman
 CURL
Demo: Workbench
Dependencies
Knowing the Platform
 User
 Authorization
 Security
 SOQL/SOSL
 Apex
 Declarative Customization
Identity and Authorization
 Identity: User, Profile, License
 Authorization: OAuth 2.0
Broker__c
Security
 User Profile Access
 Sharing
Name Phone__c Email__c Title__c
Caroline King +1-612-554-8532 cking@brokers.com Territory Manager
Alistair Krei +1-415-467-8890 akrei@brokers.com Real Estate Agent
Rajesh Hamal +1-213-355-2241 rhamal@brokers.co
m
Property Broker
Wei Tong +1-206-888-4320 wtong@brokers.com Real Estate Agent
Profile (Configuration)
Sharing
(Dynamic)
Entity
Field
Row
//SOQL – Salesforce Object Query Language
SELECT Id, Name, Title__c, Beds__c Broker__r.Name
FROM Property__c
WHERE Beds__c >= 3
//SOSL - Salesforce Object Search Language
FIND {GU19*} RETURNING Account, Property__c
Query and Search Languages
Customization
 Apex Code
 Custom Declarative Logic
Demo: Why These Matter
Data and CRUD APIs
Client Applications and Services
REST API
SOAP API
Automatic API Endpoint Creation
Account
Property__c
/SObjects/Account
/SObjects/Account/describe
/query?q=SELECT+Name,Type+FROM+Account
...
/SObjects/Property__c
/SObjects/Property__c/describe
/query?q=SELECT+Name,Type__c+FROM+Property__c
...
Demo: Exploring the REST API
Libraries, Toolkits, and SDKs
Salesforce Connect
Salesforce Connect
 OData 2.0/4.0 or Custom Connector using Apex
 External data represented as Salesforce entity
 Introspection of schema of system of record
 No data duplication
 Data mastering at system of record
Simple Salesforce Connect Integration Architecture
ERP
OData
Integration Architecture with Federation via
Middleware
Middleware(OData)
ERP Business
Unit 1
ERP Business
Unit 2
ERP Business
Unit 3
Demo: Salesforce Connect
Apex Integration Services
HttpRequest req = new HttpRequest();
req.setEndpoint(url);
req.setMethod(method);
req.setBody(body);
Http http = new Http();
HttpResponse resp = http.send(req);
Apex Requests to External Systems
@RestResource(urlMapping='/propertyhub/*')
global class PropertiesService {
@HttpGet
global static List<Property__c> getNearbyProperties(){
List<Property__c> retProps = new List<Property__c>();
RestRequest req = RestContext.request;
RestResponse resp = RestContext.response;
...
return retProps;
}
Custom Apex API
Demo: Apex and Integration
Integration Round Up
Streaming API
 Pub/Sub Integration Model
 Long Polling with Bayeux Protocol Clients
 Replayable
Push Data Updates
Outbound Message
 Invoked by Decarative Rule (No Code)
 POST of SOAP message to external middleware
 Messages are Queued and Retried
Push Data Updates
Lightning Out
 Lightning Components in Your Web App
Canvas API
 Your UI in Salesforce
San Francisco
October 4-7, 2016
Moscone West
Join us in the Developer Zone
Dreamforce ‘16
We hope to see you there!
Q & A
Post additional questions in
developer.salesforce.com/forums/
Try Trailhead: trailhead.salesforce.com
Join the conversation: @salesforcedevs
References
 Tools
– Workbench App
– Workbench Github Repo
 Data APIs
– REST:
– SOAP:
– Bulk
Thank You

Integrating with salesforce

  • 1.
  • 2.
    Forward-Looking Statement Statement underthe 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 any litigation, risks associated with completed and any 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-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These 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.
    Go Social! Salesforce Developers SalesforceDevelopers Salesforce Developers The video will be posted to YouTube & the webinar recap page (same URL as registration).This webinar is being recorded! @salesforcedevs / #forcewebinar
  • 4.
    ▪ Don’t waituntil the end to ask your question! – Technical support will answer questions starting now. ▪ Respect Q&A etiquette – Please don’t repeat questions. The support team is working their way down the queue. ▪ Stick around for live Q&A at the end – Speakers will tackle more questions at the end, time- allowing. ▪ Head to Developer Forums – More questions? Visit developer.salesforce.com/forums Have Questions?
  • 5.
    Agenda 1. Intro andOverview 2. Integration Dependencies 3. Data CRUD Integration 4. Salesforce Connect 5. Apex Integration Services 6. Roundup of Other Integration Topics
  • 6.
    Who Are You? Experience with integration and use of APIs  New(ish) to Salesforce
  • 7.
  • 8.
    What makes aplatform… Is this a platform?
  • 9.
  • 10.
    Comprehensive APIs, Toolkits,and Support of Standards Web Service Endpoint Web Service Endpoint Apex WS/REST Outbound Messaging Business Logic Bulk API Odata (Salesforce Connect) Streaming API Topic/Channel CRUD (SOAP/REST) Data Extnernal Object Bayeux Client Applications, Devices, Middleware Java SDK Ruby gem PHP Toolkit Mobile SDK 3rd Party Adapters Apex Callouts
  • 11.
    Salesforce API Implementation Versioned (currently v37)  Major Release 3 Times Per Year  Use of Standards and Common Architectural Patterns  Customer updates to schema automatically reflected
  • 12.
    Tools for theAPI  Workbench  Force CLI  Postman  CURL
  • 13.
  • 14.
  • 15.
    Knowing the Platform User  Authorization  Security  SOQL/SOSL  Apex  Declarative Customization
  • 16.
    Identity and Authorization Identity: User, Profile, License  Authorization: OAuth 2.0
  • 17.
    Broker__c Security  User ProfileAccess  Sharing Name Phone__c Email__c Title__c Caroline King +1-612-554-8532 cking@brokers.com Territory Manager Alistair Krei +1-415-467-8890 akrei@brokers.com Real Estate Agent Rajesh Hamal +1-213-355-2241 rhamal@brokers.co m Property Broker Wei Tong +1-206-888-4320 wtong@brokers.com Real Estate Agent Profile (Configuration) Sharing (Dynamic) Entity Field Row
  • 18.
    //SOQL – SalesforceObject Query Language SELECT Id, Name, Title__c, Beds__c Broker__r.Name FROM Property__c WHERE Beds__c >= 3 //SOSL - Salesforce Object Search Language FIND {GU19*} RETURNING Account, Property__c Query and Search Languages
  • 19.
    Customization  Apex Code Custom Declarative Logic
  • 20.
  • 21.
  • 22.
    Client Applications andServices REST API SOAP API
  • 23.
    Automatic API EndpointCreation Account Property__c /SObjects/Account /SObjects/Account/describe /query?q=SELECT+Name,Type+FROM+Account ... /SObjects/Property__c /SObjects/Property__c/describe /query?q=SELECT+Name,Type__c+FROM+Property__c ...
  • 24.
  • 25.
  • 26.
  • 27.
    Salesforce Connect  OData2.0/4.0 or Custom Connector using Apex  External data represented as Salesforce entity  Introspection of schema of system of record  No data duplication  Data mastering at system of record
  • 28.
    Simple Salesforce ConnectIntegration Architecture ERP OData
  • 29.
    Integration Architecture withFederation via Middleware Middleware(OData) ERP Business Unit 1 ERP Business Unit 2 ERP Business Unit 3
  • 30.
  • 31.
  • 32.
    HttpRequest req =new HttpRequest(); req.setEndpoint(url); req.setMethod(method); req.setBody(body); Http http = new Http(); HttpResponse resp = http.send(req); Apex Requests to External Systems
  • 33.
    @RestResource(urlMapping='/propertyhub/*') global class PropertiesService{ @HttpGet global static List<Property__c> getNearbyProperties(){ List<Property__c> retProps = new List<Property__c>(); RestRequest req = RestContext.request; RestResponse resp = RestContext.response; ... return retProps; } Custom Apex API
  • 34.
    Demo: Apex andIntegration
  • 35.
  • 36.
    Streaming API  Pub/SubIntegration Model  Long Polling with Bayeux Protocol Clients  Replayable Push Data Updates
  • 37.
    Outbound Message  Invokedby Decarative Rule (No Code)  POST of SOAP message to external middleware  Messages are Queued and Retried Push Data Updates
  • 38.
    Lightning Out  LightningComponents in Your Web App
  • 39.
    Canvas API  YourUI in Salesforce
  • 40.
    San Francisco October 4-7,2016 Moscone West Join us in the Developer Zone Dreamforce ‘16 We hope to see you there!
  • 41.
    Q & A Postadditional questions in developer.salesforce.com/forums/ Try Trailhead: trailhead.salesforce.com Join the conversation: @salesforcedevs
  • 45.
    References  Tools – WorkbenchApp – Workbench Github Repo  Data APIs – REST: – SOAP: – Bulk
  • 46.