Understanding about REST Series-1


We use REST for 2 purposes 
1. Call-outs
2. Call-ins

1. Call-outs:  Means the request will be initiated from the Salesforce application to 3rd party.
~~~~~~~~~
In call-outs, we will perform 2 types of actions.

(a): Fetch the data from 3rd party application to salesforce, after that we might perform any of the following actions based on our business requirement.
  • Display the retrieved data on Salesforce UI.
  • Store that data inside salesforce DataBase.
The above two actions need to be handled by the Salesforce developer, he needs to write the program using Salesforce supported programming languages(Apex, Visualforce pages, Lightning, Javascript, etc).

Few examples are available in my previous post, CLICK HERE

(b): After completion of any DML operation on any specific object record/records at Salesforce application end, we will send this information to the external system.

To implement call-outs, what we need to learn?
We need to know about :
  • Remote site settings 
  • Named credentials.
  • The following classes, it's methods and the type of Parameters we need to pass for the methods. Classes are : Http, HttpRequest and HttpResponse.
  • Governor limits for REST call-outs.
  • Doing call-outs between Salesforce application and 3rd party(I will use another Salesforce org).
  • Testing call-outs ( I will use requestBin for demo purpose).
  • If there are any firewalls designed at the 3rd party end then 3rd party network team must whitelist the Salesforce IP addresses. CLICK HERE 
2. Call-ins:    Means the external system wants to access Salesforce data.
~~~~~~~~~
To implement call-ins, what we need to learn?
We need to know about :
  • Without authentication/authorization,  how external system directly interacts with Salesforce and access the data.  This can be done using "Force.com Sites" and this is already clearly explained by another Techie,  CLICK HERE 
  • How to use and what are the different considerations about the 6 annotations @RestResource(urlMapping='/yourUrl'),  @HttpDelete,  @HttpGet,  @HttpPatch,  @HttpPost,  @HttpPut
  • Difference between REST and RESTFUL services.
  • When and how to use connected apps.
  • OAuth 2.0 , types of OAuth flows and when and how to use.                                                     [Username-Password Flow, User-Agent Flow, Web Server Flow] 
  • Doing call-ins between Salesforce application and 3rd party(I will use another Salesforce org).
  • Testing call-ins using at-least one tool ( I will use ARC for demo purpose).
In the next post, I will try to dig into each one.

tHiNk gooD and dO thE bEsT.........MANJU NATH 🌝

Comments

  1. Very useful...When can we expect REST Series-2??
    Please try to make it asap...waiting for it..

    ReplyDelete

Post a Comment