SlideShare a Scribd company logo
1 of 15
Outbound Integrations 
Sujit Kumar 
Zenolocity LLC © 2012 - 2024
Overview 
• Configurable Solutions 
• Outbound Messaging 
• SalesForce-to-SalesForce (S2S) 
• Testing Outbound Messaging with an External 
Web Service 
• Custom Integrations 
• Calling Web Services from Apex 
• HTTP Integration
Configurable Solutions 
• Outbound Integration achieved via 
configuration rather than custom code. 
• 2 Options – Outbound Messaging and S2S. 
• Need high degree of control over the design of 
both sides of an integration. 
• Highly cost-effective.
Outbound Messaging 
• Sends a Web service request to an endpoint URL using HTTP 
or HTTPS. 
• Outbound Message, described as a notification, is a simple 
SOAP message that contains one or more fields from a single 
object. 
• The configuration is entirely point-and-click. 
• Workflow rules determine the messages to be sent. 
• Messages are sent reliably, queued, and retried upon failure. 
• Retries continue for up to 24 hours until a message is sent. 
• Limitations – static service definition, no junction objects.
Configuring Outbound Messaging 
• 2 Step Process: create a workflow rule to specify when 
to send a message. Define the outbound message 
itself, which dictates the contents of the message. 
• Both the workflow rule and the outbound message 
must be created from the same object. 
• Trigger for a workflow rule – when an object is created 
or edited. 
• Enter the URL of the Web service to receive the 
outbound message. 
• Monitor: Administration Setup area , click Monitoring . 
Outbound Messages.
External Web Service to consume 
Outbound Messaging 
• Based on a WSDL. 
• Up to a 100 notifications in a single web service call. 
• Positive or a Negative acknowledgement for each 
notification in the outbound message. 
• Able to handle duplicate notifications. 
• Get the most recent data for a notification, use a 
session ID in the outbound message & use that to call 
back Force.com and get the most current information. 
• If the outbound message endpoint uses HTTPS, the 
endpoint server’s certificate must be issued by a 
Certificate Authority (CA) that is accepted by 
Force.com.
S2S 
• Allows sharing data between Force.com 
organizations, the tenants of the multitenant 
platform. 
• The data exchange takes place entirely within 
the servers that run the Force.com platform, 
eliminating all the overhead associated with 
traditional integration over the Internet, such 
as encryption, message formats, and transport 
protocols.
Configuring S2S 
• Establish a connection between 2 force.com orgs. 
Connections require manual initiation and 
acceptance by the administrators of each 
Force.com org. 
• Configure shared objects – one org publishes and 
the other org subscribes to it. The subscriber 
maps the object, fields & values to counterparts 
in it’s org. 
• Sharing records – records are forwarded by 1 org 
and accepted by the receiver.
Calling Web Services from Apex 
• Apex code can be generated from WSDL. 
• This produces methods for invoking an 
external Web service and representing the 
input and output data in native Apex data 
structures rather than SOAP. 
• No interaction with HTTP or XML is necessary 
because these details are hidden by the 
generated Apex code. 
• Little control over generated code.
WSDL Support and Limitations 
• Endpoints of external web services need to be 
registered under Remote Site Settings. 
• WSDLs containing apex keywords need to be 
suffixed with _x. 
• Limited set of WSDL schema types. 
• Supports the element and sequence constructs. 
• Blob, Decimal and enum are supported for call ins 
but not call outs. 
• WSDL files with imports are not supported.
Callout Limitations 
• Request and response messages cannot exceed the 
maximum Apex heap size, normally 3MB. 
• Apex code can make a maximum of 10 HTTP requests in a 
single transaction. 
• By default, a single request cannot run longer than 10 
seconds. If a transaction contains more than one request, 
the total time of all requests cannot exceed 120 seconds. 
• Request size less than 100kb 
• Timeouts can be between 1ms to 60s. 
• Circular references not allowed 
• Loopback connections to SF not allowed 
• End-point should be registered in remote site settings.
Asynchronous Callouts via @future 
methods annotation 
• Requires methods to be static and have a void return 
type. 
• Use this to make a callout from a trigger. 
• No more than 10 method calls per Apex invocation. 
• No more than 200 future method calls per SF license 
per 24hrs. 
• Parameters to future methods - primitives or 
collections of primitives only. No sObjects or objects as 
arguments. 
• Use @Future(callout=true) to signify a method will be 
making a calllout.
HTTP Integration 
• Full control over the preparation of requests and 
processing of responses. 
• Core Apex classes: HttpRequest, HttpResponse and 
Http. 
• HttpRequest – methods for working with the request 
body, HTTP headers, the HTTP method type, client 
certificates, HTTP compression and timeouts. 
• HttpResponse – methods for working with raw 
response body, HTTP status code, and HTTP headers. 
• Http – has a method called send that accepts a 
HttpRequest object as input and gives a HttpResponse 
object as output.
Other Utility Classes 
• Send a client certificate with your callout to 
authenticate a HTTPS connection. 
• XMLStreamReader class to parse XML coming 
back from response. 
• XMLStreamWriter class to create XML that is 
sent as a request. 
• EncodingUtil: This class contains methods for 
URL and Base64 encoding and decoding.
Crypto Class 
• Crypto class enables access to external 
services that require encryption. Crypto 
methods include: 
• generateDigest: secure one-way hash digest. 
• generateMac: computes a message 
authentication code given a private key. 
• sign: computes a unique digital signature for 
an input string. 
• getRandomInteger, getRandomLong

More Related Content

What's hot

Understanding the Web through HTTP
Understanding the Web through HTTPUnderstanding the Web through HTTP
Understanding the Web through HTTPOlivia Brundage
 
Rest WebAPI with OData
Rest WebAPI with ODataRest WebAPI with OData
Rest WebAPI with ODataMahek Merchant
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applicationssandra sukarieh
 
HTTP fundamentals for developers
HTTP fundamentals for developersHTTP fundamentals for developers
HTTP fundamentals for developersMario Cardinal
 
HTTP request and response
HTTP request and responseHTTP request and response
HTTP request and responseSahil Agarwal
 
Rest services caching
Rest services cachingRest services caching
Rest services cachingSperasoft
 
Webinar slides "Building Real-Time Collaborative Web Applications"
Webinar slides "Building Real-Time Collaborative Web Applications"Webinar slides "Building Real-Time Collaborative Web Applications"
Webinar slides "Building Real-Time Collaborative Web Applications"Sachin Katariya
 
What happens when you type google com into your browser and press enter
What happens when you type google com into your browser and press enterWhat happens when you type google com into your browser and press enter
What happens when you type google com into your browser and press enterTaha İslam YILMAZ
 
SCWCD : The web client model : CHAP : 1
SCWCD  : The web client model : CHAP : 1SCWCD  : The web client model : CHAP : 1
SCWCD : The web client model : CHAP : 1Ben Abdallah Helmi
 
Web servers – features, installation and configuration
Web servers – features, installation and configurationWeb servers – features, installation and configuration
Web servers – features, installation and configurationwebhostingguy
 
HTTP Acceleration with Varnish
HTTP Acceleration with VarnishHTTP Acceleration with Varnish
HTTP Acceleration with VarnishHarlow Ward
 
RESTful web
RESTful webRESTful web
RESTful webAlvin Qi
 

What's hot (20)

Understanding the Web through HTTP
Understanding the Web through HTTPUnderstanding the Web through HTTP
Understanding the Web through HTTP
 
Http headers
Http headersHttp headers
Http headers
 
Rest WebAPI with OData
Rest WebAPI with ODataRest WebAPI with OData
Rest WebAPI with OData
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applications
 
HTTP fundamentals for developers
HTTP fundamentals for developersHTTP fundamentals for developers
HTTP fundamentals for developers
 
HTTP request and response
HTTP request and responseHTTP request and response
HTTP request and response
 
Http
HttpHttp
Http
 
Lecture15
Lecture15Lecture15
Lecture15
 
Rest services caching
Rest services cachingRest services caching
Rest services caching
 
Webinar slides "Building Real-Time Collaborative Web Applications"
Webinar slides "Building Real-Time Collaborative Web Applications"Webinar slides "Building Real-Time Collaborative Web Applications"
Webinar slides "Building Real-Time Collaborative Web Applications"
 
Lecture15
Lecture15Lecture15
Lecture15
 
Http protocol
Http protocolHttp protocol
Http protocol
 
What happens when you type google com into your browser and press enter
What happens when you type google com into your browser and press enterWhat happens when you type google com into your browser and press enter
What happens when you type google com into your browser and press enter
 
Web server
Web serverWeb server
Web server
 
HTTP
HTTPHTTP
HTTP
 
Internet applicati
Internet applicatiInternet applicati
Internet applicati
 
SCWCD : The web client model : CHAP : 1
SCWCD  : The web client model : CHAP : 1SCWCD  : The web client model : CHAP : 1
SCWCD : The web client model : CHAP : 1
 
Web servers – features, installation and configuration
Web servers – features, installation and configurationWeb servers – features, installation and configuration
Web servers – features, installation and configuration
 
HTTP Acceleration with Varnish
HTTP Acceleration with VarnishHTTP Acceleration with Varnish
HTTP Acceleration with Varnish
 
RESTful web
RESTful webRESTful web
RESTful web
 

Similar to SFDC Outbound Integrations

Ch 3: Web Application Technologies
Ch 3: Web Application TechnologiesCh 3: Web Application Technologies
Ch 3: Web Application TechnologiesSam Bowne
 
CNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application TechnologiesCNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application TechnologiesSam Bowne
 
Using Communication and Messaging API in the HTML5 World
Using Communication and Messaging API in the HTML5 WorldUsing Communication and Messaging API in the HTML5 World
Using Communication and Messaging API in the HTML5 WorldGil Fink
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
CNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application TechnologiesCNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application TechnologiesSam Bowne
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecuritySanjeev Verma, PhD
 
SFDC Inbound Integrations
SFDC Inbound IntegrationsSFDC Inbound Integrations
SFDC Inbound IntegrationsSujit Kumar
 
An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST Ram Awadh Prasad, PMP
 
Httpbasics 1207412539273264-9-converted
Httpbasics 1207412539273264-9-convertedHttpbasics 1207412539273264-9-converted
Httpbasics 1207412539273264-9-convertedcomputerorganization
 
Module 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxModule 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxAASTHAJAJOO
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesWebStackAcademy
 
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsysUsing communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsysCodemotion Tel Aviv
 
complete web service1.ppt
complete web service1.pptcomplete web service1.ppt
complete web service1.pptDr.Saranya K.G
 
Web Hacking Series Part 1
Web Hacking Series Part 1Web Hacking Series Part 1
Web Hacking Series Part 1Aditya Kamat
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.pptkstalin2
 

Similar to SFDC Outbound Integrations (20)

Ch 3: Web Application Technologies
Ch 3: Web Application TechnologiesCh 3: Web Application Technologies
Ch 3: Web Application Technologies
 
SCWCD : The web client model
SCWCD : The web client modelSCWCD : The web client model
SCWCD : The web client model
 
Unit v
Unit v Unit v
Unit v
 
CNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application TechnologiesCNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application Technologies
 
Using Communication and Messaging API in the HTML5 World
Using Communication and Messaging API in the HTML5 WorldUsing Communication and Messaging API in the HTML5 World
Using Communication and Messaging API in the HTML5 World
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
CNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application TechnologiesCNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application Technologies
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser Security
 
Compute rNetwork.pptx
Compute rNetwork.pptxCompute rNetwork.pptx
Compute rNetwork.pptx
 
SFDC Inbound Integrations
SFDC Inbound IntegrationsSFDC Inbound Integrations
SFDC Inbound Integrations
 
Basics of the Web Platform
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web Platform
 
An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST An Overview of Web Services: SOAP and REST
An Overview of Web Services: SOAP and REST
 
Httpbasics 1207412539273264-9-converted
Httpbasics 1207412539273264-9-convertedHttpbasics 1207412539273264-9-converted
Httpbasics 1207412539273264-9-converted
 
Module 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxModule 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptx
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP Services
 
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsysUsing communication and messaging API in the HTML5 world - GIl Fink, sparXsys
Using communication and messaging API in the HTML5 world - GIl Fink, sparXsys
 
complete web service1.ppt
complete web service1.pptcomplete web service1.ppt
complete web service1.ppt
 
Web Hacking Series Part 1
Web Hacking Series Part 1Web Hacking Series Part 1
Web Hacking Series Part 1
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 

More from Sujit Kumar

Introduction to OOP with java
Introduction to OOP with javaIntroduction to OOP with java
Introduction to OOP with javaSujit Kumar
 
SFDC Database Basics
SFDC Database BasicsSFDC Database Basics
SFDC Database BasicsSujit Kumar
 
SFDC Database Security
SFDC Database SecuritySFDC Database Security
SFDC Database SecuritySujit Kumar
 
SFDC Social Applications
SFDC Social ApplicationsSFDC Social Applications
SFDC Social ApplicationsSujit Kumar
 
SFDC Other Platform Features
SFDC Other Platform FeaturesSFDC Other Platform Features
SFDC Other Platform FeaturesSujit Kumar
 
SFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSujit Kumar
 
SFDC UI - Introduction to Visualforce
SFDC UI -  Introduction to VisualforceSFDC UI -  Introduction to Visualforce
SFDC UI - Introduction to VisualforceSujit Kumar
 
SFDC Deployments
SFDC DeploymentsSFDC Deployments
SFDC DeploymentsSujit Kumar
 
SFDC Data Loader
SFDC Data LoaderSFDC Data Loader
SFDC Data LoaderSujit Kumar
 
SFDC Advanced Apex
SFDC Advanced Apex SFDC Advanced Apex
SFDC Advanced Apex Sujit Kumar
 
SFDC Introduction to Apex
SFDC Introduction to ApexSFDC Introduction to Apex
SFDC Introduction to ApexSujit Kumar
 
SFDC Database Additional Features
SFDC Database Additional FeaturesSFDC Database Additional Features
SFDC Database Additional FeaturesSujit Kumar
 
Introduction to SalesForce
Introduction to SalesForceIntroduction to SalesForce
Introduction to SalesForceSujit Kumar
 
More about java strings - Immutability and String Pool
More about java strings - Immutability and String PoolMore about java strings - Immutability and String Pool
More about java strings - Immutability and String PoolSujit Kumar
 
Hibernate First and Second level caches
Hibernate First and Second level cachesHibernate First and Second level caches
Hibernate First and Second level cachesSujit Kumar
 
Java equals hashCode Contract
Java equals hashCode ContractJava equals hashCode Contract
Java equals hashCode ContractSujit Kumar
 
Java Comparable and Comparator
Java Comparable and ComparatorJava Comparable and Comparator
Java Comparable and ComparatorSujit Kumar
 
Java build tools
Java build toolsJava build tools
Java build toolsSujit Kumar
 
Java Web services
Java Web servicesJava Web services
Java Web servicesSujit Kumar
 

More from Sujit Kumar (20)

Introduction to OOP with java
Introduction to OOP with javaIntroduction to OOP with java
Introduction to OOP with java
 
SFDC Database Basics
SFDC Database BasicsSFDC Database Basics
SFDC Database Basics
 
SFDC Database Security
SFDC Database SecuritySFDC Database Security
SFDC Database Security
 
SFDC Social Applications
SFDC Social ApplicationsSFDC Social Applications
SFDC Social Applications
 
SFDC Other Platform Features
SFDC Other Platform FeaturesSFDC Other Platform Features
SFDC Other Platform Features
 
SFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSFDC UI - Advanced Visualforce
SFDC UI - Advanced Visualforce
 
SFDC UI - Introduction to Visualforce
SFDC UI -  Introduction to VisualforceSFDC UI -  Introduction to Visualforce
SFDC UI - Introduction to Visualforce
 
SFDC Deployments
SFDC DeploymentsSFDC Deployments
SFDC Deployments
 
SFDC Batch Apex
SFDC Batch ApexSFDC Batch Apex
SFDC Batch Apex
 
SFDC Data Loader
SFDC Data LoaderSFDC Data Loader
SFDC Data Loader
 
SFDC Advanced Apex
SFDC Advanced Apex SFDC Advanced Apex
SFDC Advanced Apex
 
SFDC Introduction to Apex
SFDC Introduction to ApexSFDC Introduction to Apex
SFDC Introduction to Apex
 
SFDC Database Additional Features
SFDC Database Additional FeaturesSFDC Database Additional Features
SFDC Database Additional Features
 
Introduction to SalesForce
Introduction to SalesForceIntroduction to SalesForce
Introduction to SalesForce
 
More about java strings - Immutability and String Pool
More about java strings - Immutability and String PoolMore about java strings - Immutability and String Pool
More about java strings - Immutability and String Pool
 
Hibernate First and Second level caches
Hibernate First and Second level cachesHibernate First and Second level caches
Hibernate First and Second level caches
 
Java equals hashCode Contract
Java equals hashCode ContractJava equals hashCode Contract
Java equals hashCode Contract
 
Java Comparable and Comparator
Java Comparable and ComparatorJava Comparable and Comparator
Java Comparable and Comparator
 
Java build tools
Java build toolsJava build tools
Java build tools
 
Java Web services
Java Web servicesJava Web services
Java Web services
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
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...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 

SFDC Outbound Integrations

  • 1. Outbound Integrations Sujit Kumar Zenolocity LLC © 2012 - 2024
  • 2. Overview • Configurable Solutions • Outbound Messaging • SalesForce-to-SalesForce (S2S) • Testing Outbound Messaging with an External Web Service • Custom Integrations • Calling Web Services from Apex • HTTP Integration
  • 3. Configurable Solutions • Outbound Integration achieved via configuration rather than custom code. • 2 Options – Outbound Messaging and S2S. • Need high degree of control over the design of both sides of an integration. • Highly cost-effective.
  • 4. Outbound Messaging • Sends a Web service request to an endpoint URL using HTTP or HTTPS. • Outbound Message, described as a notification, is a simple SOAP message that contains one or more fields from a single object. • The configuration is entirely point-and-click. • Workflow rules determine the messages to be sent. • Messages are sent reliably, queued, and retried upon failure. • Retries continue for up to 24 hours until a message is sent. • Limitations – static service definition, no junction objects.
  • 5. Configuring Outbound Messaging • 2 Step Process: create a workflow rule to specify when to send a message. Define the outbound message itself, which dictates the contents of the message. • Both the workflow rule and the outbound message must be created from the same object. • Trigger for a workflow rule – when an object is created or edited. • Enter the URL of the Web service to receive the outbound message. • Monitor: Administration Setup area , click Monitoring . Outbound Messages.
  • 6. External Web Service to consume Outbound Messaging • Based on a WSDL. • Up to a 100 notifications in a single web service call. • Positive or a Negative acknowledgement for each notification in the outbound message. • Able to handle duplicate notifications. • Get the most recent data for a notification, use a session ID in the outbound message & use that to call back Force.com and get the most current information. • If the outbound message endpoint uses HTTPS, the endpoint server’s certificate must be issued by a Certificate Authority (CA) that is accepted by Force.com.
  • 7. S2S • Allows sharing data between Force.com organizations, the tenants of the multitenant platform. • The data exchange takes place entirely within the servers that run the Force.com platform, eliminating all the overhead associated with traditional integration over the Internet, such as encryption, message formats, and transport protocols.
  • 8. Configuring S2S • Establish a connection between 2 force.com orgs. Connections require manual initiation and acceptance by the administrators of each Force.com org. • Configure shared objects – one org publishes and the other org subscribes to it. The subscriber maps the object, fields & values to counterparts in it’s org. • Sharing records – records are forwarded by 1 org and accepted by the receiver.
  • 9. Calling Web Services from Apex • Apex code can be generated from WSDL. • This produces methods for invoking an external Web service and representing the input and output data in native Apex data structures rather than SOAP. • No interaction with HTTP or XML is necessary because these details are hidden by the generated Apex code. • Little control over generated code.
  • 10. WSDL Support and Limitations • Endpoints of external web services need to be registered under Remote Site Settings. • WSDLs containing apex keywords need to be suffixed with _x. • Limited set of WSDL schema types. • Supports the element and sequence constructs. • Blob, Decimal and enum are supported for call ins but not call outs. • WSDL files with imports are not supported.
  • 11. Callout Limitations • Request and response messages cannot exceed the maximum Apex heap size, normally 3MB. • Apex code can make a maximum of 10 HTTP requests in a single transaction. • By default, a single request cannot run longer than 10 seconds. If a transaction contains more than one request, the total time of all requests cannot exceed 120 seconds. • Request size less than 100kb • Timeouts can be between 1ms to 60s. • Circular references not allowed • Loopback connections to SF not allowed • End-point should be registered in remote site settings.
  • 12. Asynchronous Callouts via @future methods annotation • Requires methods to be static and have a void return type. • Use this to make a callout from a trigger. • No more than 10 method calls per Apex invocation. • No more than 200 future method calls per SF license per 24hrs. • Parameters to future methods - primitives or collections of primitives only. No sObjects or objects as arguments. • Use @Future(callout=true) to signify a method will be making a calllout.
  • 13. HTTP Integration • Full control over the preparation of requests and processing of responses. • Core Apex classes: HttpRequest, HttpResponse and Http. • HttpRequest – methods for working with the request body, HTTP headers, the HTTP method type, client certificates, HTTP compression and timeouts. • HttpResponse – methods for working with raw response body, HTTP status code, and HTTP headers. • Http – has a method called send that accepts a HttpRequest object as input and gives a HttpResponse object as output.
  • 14. Other Utility Classes • Send a client certificate with your callout to authenticate a HTTPS connection. • XMLStreamReader class to parse XML coming back from response. • XMLStreamWriter class to create XML that is sent as a request. • EncodingUtil: This class contains methods for URL and Base64 encoding and decoding.
  • 15. Crypto Class • Crypto class enables access to external services that require encryption. Crypto methods include: • generateDigest: secure one-way hash digest. • generateMac: computes a message authentication code given a private key. • sign: computes a unique digital signature for an input string. • getRandomInteger, getRandomLong