SlideShare a Scribd company logo
Salesforce
Integration
Patterns
Jan. 20th, 2017
0
1
Salesforce Integration Patterns
A variety of integration patterns currently exist for Salesforce. We’ll examine the
following in this presentation.
• Outbound Messaging
• Salesforce Connect (ODATA)
• Canvas
• REST API Integration (inbound/outbound)
• SOAP API Integration (inbound/outbound)
Let’s take a deeper dive into each.
2
Outbound Messaging
Outbound messaging allows you to specify
that changes to data fields within
Salesforce can automatically propagated to
external systems. A backend queue is used
to manage the outbound calls.
Outbound messaging is part of the
workflow rule functionality in Salesforce.
Workflow rules watch for specific kinds of
field changes and trigger automatic
Salesforce actions, such as sending email
alerts, creating task records, or sending an
outbound message.
3
Pros/Cons of Outbound Messaging
• Simple to setup within Salesforce.
• Can be invoked via workflow rules
and Apex.
• Up to 100 notifications can take
place within a single SOAP message.
This makes it very efficient.
• Guaranteed message delivery for up
to 24 hours (retries for that duration).
• Asynchronous so no client latency.
Advantages
• Receiving service must implement
Salesforces’ outbound messaging
WSDL.
• REST is not an option for outbound
messaging.
• Governor/developer limits exist.
Disadvantages
4
Salesforce Connect
Salesforce Connect provides a gateway to accessing external data via the
OData protocol. The external data is exposed in such a way as resemble
custom object.
● Data is accessed in real-time - doesn’t use copying.
● Gives access to external data with point-and-click simplicity.
● Allows the full range of CRUD operations (create, read, update and delete).
5
What Exactly is OData?.
OData is a REST-based protocol for querying and updating data and is built on
standardized technologies such as HTTP, Atom/XML, and JSON. It is different
from other REST-based web services in that it provides a uniform way to
describe both the data and the data model.
6
Pros/Cons of Salesforce Connect
• If your external data already
supports the OData protocol, setup
within Salesforce couldn’t be
simpler.
• External objects are treated nearly
identically to custom objects.
• Configuration can largely be done in
a point-and-click fashion - no
custom code required.
• External objects can be included in
Advantages
• External data integration limits are
applicable. For example, there’s a
maximum of 50,000 records
retrieved or created an hour.
• Debugging tools are weak.
• Performance is a wild card - caching
and optimization strategies are
largely unknown.
• Salesforce charges an additional
monthly fee for Salesforce Connect.
Disadvantages
7
Salesforce Canvas
Canvas is an iFrame-based
technology that allows you to
embed content from an external
system. However, unlike
conventional iFrames, where you
are restricted from fetching data
from domains other than its host
(i.e., the same origin policy),
Canvas provides a Javascript SDK
that allows you to tightly
integrate the canvas app with
Salesforce callouts.
8
Canvas API & Security
Thanks to the Canvas SDK, developers
can surface IFrame applications that
can fully integrate with the parent
Salesforce application. There are
several available security options for
permitting such calls. They include
OAuth support and signed requests, A
signed request contains a consumer
key, access token, and other contextual
information that is useful for building
tightly-integrated applications.
You can also authenticate the user via
SAML if Salesforce is configured as an
identity provider.
99
Pros/Cons of Salesforce Canvas
• Developers can create applications
using the technology stack most
familiar to them.
• Canvas SDK includes CSS classes
that allow an embedded app to have
a seamless UI experience.
• Configuration within Salesforce
couldn’t be easier - just a few simple
steps.
• No additional licenses costs.
Advantages
• The web application that must be
exposed via Canvas must exist.
• In order to fully leverage Canvas, you
will have to use the Canvas SDK,
which effectively means it can’t be
reused in a stand-alone fashion.
• As with nearly every Salesforce
solution - developer limits are in
place. For example, you are limited
to 5,000 Canvas SDK calls per 24
hour period.
Disadvantages
10
Salesforce REST API
REST API provides a powerful,
convenient, and simple Web services
API for interacting with Force.com.
The REST API provides a standard set
of calls for accessing Salesforce
remotely, and new calls can be
defined using Apex REST
annotations.
In addition to calling Salesforce, REST
can also be used for placing
outbound calls. The Batch API is also
suitable for batch routines.
11
Understanding a Salesforce REST API call.
12
Using REST Explorer in Salesforce Workbench
13
Pros/Cons of Salesforce REST API
• Simple to use with nearly all
platform languages & technologies.
• A Javascript API (“Javascript REST
Toolkit”) enables client web
applications to place direct calls to
Salesforce (i.e., no same origin issue).
• Can support XML or JSON protocols.
• Very comprehensive - a wide range
of Salesforce capabilities are
exposed via the protocol.
Advantages
• As always, Salesforce developer
limits apply. For example,
depending upon your license, you
may not be able to place more than
15k calls a day.
• OAuth is required for accessing
standard REST API calls (but those
you define via Apex can be exposed
without OAuth).
• REST not available for outbound
messaging (requires SOAP).
Disadvantages
14
Salesforce SOAP
Salesforce SOAP was their first true integration API, and it still remains popular today.
Salesforce provides two different types of WSDLs that can be used:
● Partner WSDL is loosely typed and generic to Salesforce org instance. You can
dynamically fetch Salesforce configuration data, such as available custom objects.
● Enterprise WSDL. A strongly typed WSDL that is specific to the organization you are
working with.
Given these chooses the big advantage to the Partner WSDL is that it remains static and
thus immune to changes within Salesforce. However, unlike the Enterprise WSDL, it can
be much tedious to work with.
15
Pros/Cons of Salesforce SOAP API
• Platforms such as .NET and Java can
leverage code-generation tools that
make it fairly straightforward for
generating SOAP requests. SDK’s
exist to further streamline the
process for Java, .NET, PHP and
Ruby.
• Testing the SOAP web services can
be done using free tools such as
SoapUI with IDEs such as Eclipse.
Advantages
• As always, Salesforce developer
limits apply. For example,
depending upon your license, you
may not be able to place more than
15k calls a day.
• SOAP isn’t an option for accessing
the Bulk or Chatter APIs - they are
only exposed as REST calls.
Disadvantages

More Related Content

What's hot

Salesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningSalesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightning
suresh
 

What's hot (20)

Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security Model
 
Architecting Multi-Org Solutions
Architecting Multi-Org SolutionsArchitecting Multi-Org Solutions
Architecting Multi-Org Solutions
 
Salesforce complete overview
Salesforce complete overviewSalesforce complete overview
Salesforce complete overview
 
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
 
Salesforce Training For Beginners | Salesforce Tutorial | Salesforce Training...
Salesforce Training For Beginners | Salesforce Tutorial | Salesforce Training...Salesforce Training For Beginners | Salesforce Tutorial | Salesforce Training...
Salesforce Training For Beginners | Salesforce Tutorial | Salesforce Training...
 
Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/Students
 
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
 
Salesforce CPQ by yuvaraj
Salesforce CPQ by yuvarajSalesforce CPQ by yuvaraj
Salesforce CPQ by yuvaraj
 
Real Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform EventsReal Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform Events
 
Automate All The Things with Flow
Automate All The Things with FlowAutomate All The Things with Flow
Automate All The Things with Flow
 
Single Sign-On and User Provisioning with Salesforce Identity
Single Sign-On and User Provisioning with Salesforce IdentitySingle Sign-On and User Provisioning with Salesforce Identity
Single Sign-On and User Provisioning with Salesforce Identity
 
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
 
Architect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon SessionArchitect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon Session
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best Practices
 
Salesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningSalesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightning
 
Salesforce intro session_for_students_v2
Salesforce intro session_for_students_v2Salesforce intro session_for_students_v2
Salesforce intro session_for_students_v2
 
Exploring the Salesforce REST API
Exploring the Salesforce REST APIExploring the Salesforce REST API
Exploring the Salesforce REST API
 
Security and Your Salesforce Org
Security and Your Salesforce OrgSecurity and Your Salesforce Org
Security and Your Salesforce Org
 
Best Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdfBest Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdf
 
Introduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - BasicIntroduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - Basic
 

Similar to Salesforce Integration Patterns

CI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABITCI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABIT
alkhan50
 

Similar to Salesforce Integration Patterns (20)

SFDC Lightning Demo
SFDC Lightning DemoSFDC Lightning Demo
SFDC Lightning Demo
 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.com
 
Designing Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.comDesigning Custom REST and SOAP Interfaces on Force.com
Designing Custom REST and SOAP Interfaces on Force.com
 
What is Difference Between LC and LWC?
What is Difference Between LC and LWC?What is Difference Between LC and LWC?
What is Difference Between LC and LWC?
 
Business Applications Integration In The Cloud
Business Applications Integration In The CloudBusiness Applications Integration In The Cloud
Business Applications Integration In The Cloud
 
Detail Guide on Salesforce Integration with Excel.pptx
Detail Guide on Salesforce Integration with Excel.pptxDetail Guide on Salesforce Integration with Excel.pptx
Detail Guide on Salesforce Integration with Excel.pptx
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.com
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
 
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsOur API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
 
Adobe Flash Platform for the Enterprise
Adobe Flash Platform for the EnterpriseAdobe Flash Platform for the Enterprise
Adobe Flash Platform for the Enterprise
 
Sales force
Sales forceSales force
Sales force
 
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
Deep Dive SharePoint 2013: Brave New World: What SharePoint 2013 Really Means...
 
CI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABITCI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABIT
 
#ImpactSalesforceSaturday:360 degree view of salesforce integrations
#ImpactSalesforceSaturday:360 degree view of salesforce integrations#ImpactSalesforceSaturday:360 degree view of salesforce integrations
#ImpactSalesforceSaturday:360 degree view of salesforce integrations
 
Building the perfect share point farm
Building the perfect share point farmBuilding the perfect share point farm
Building the perfect share point farm
 
What are cloud service models
What are cloud service modelsWhat are cloud service models
What are cloud service models
 
Serverless Architectures
Serverless Architectures Serverless Architectures
Serverless Architectures
 
Salesforce interview questions walkthrough
Salesforce interview questions walkthroughSalesforce interview questions walkthrough
Salesforce interview questions walkthrough
 
Presentation on cloud computing
Presentation on cloud computingPresentation on cloud computing
Presentation on cloud computing
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 

Recently uploaded

Recently uploaded (20)

How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with StrimziStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
How To Build a Successful SaaS Design.pdf
How To Build a Successful SaaS Design.pdfHow To Build a Successful SaaS Design.pdf
How To Build a Successful SaaS Design.pdf
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 

Salesforce Integration Patterns

  • 2. 1 Salesforce Integration Patterns A variety of integration patterns currently exist for Salesforce. We’ll examine the following in this presentation. • Outbound Messaging • Salesforce Connect (ODATA) • Canvas • REST API Integration (inbound/outbound) • SOAP API Integration (inbound/outbound) Let’s take a deeper dive into each.
  • 3. 2 Outbound Messaging Outbound messaging allows you to specify that changes to data fields within Salesforce can automatically propagated to external systems. A backend queue is used to manage the outbound calls. Outbound messaging is part of the workflow rule functionality in Salesforce. Workflow rules watch for specific kinds of field changes and trigger automatic Salesforce actions, such as sending email alerts, creating task records, or sending an outbound message.
  • 4. 3 Pros/Cons of Outbound Messaging • Simple to setup within Salesforce. • Can be invoked via workflow rules and Apex. • Up to 100 notifications can take place within a single SOAP message. This makes it very efficient. • Guaranteed message delivery for up to 24 hours (retries for that duration). • Asynchronous so no client latency. Advantages • Receiving service must implement Salesforces’ outbound messaging WSDL. • REST is not an option for outbound messaging. • Governor/developer limits exist. Disadvantages
  • 5. 4 Salesforce Connect Salesforce Connect provides a gateway to accessing external data via the OData protocol. The external data is exposed in such a way as resemble custom object. ● Data is accessed in real-time - doesn’t use copying. ● Gives access to external data with point-and-click simplicity. ● Allows the full range of CRUD operations (create, read, update and delete).
  • 6. 5 What Exactly is OData?. OData is a REST-based protocol for querying and updating data and is built on standardized technologies such as HTTP, Atom/XML, and JSON. It is different from other REST-based web services in that it provides a uniform way to describe both the data and the data model.
  • 7. 6 Pros/Cons of Salesforce Connect • If your external data already supports the OData protocol, setup within Salesforce couldn’t be simpler. • External objects are treated nearly identically to custom objects. • Configuration can largely be done in a point-and-click fashion - no custom code required. • External objects can be included in Advantages • External data integration limits are applicable. For example, there’s a maximum of 50,000 records retrieved or created an hour. • Debugging tools are weak. • Performance is a wild card - caching and optimization strategies are largely unknown. • Salesforce charges an additional monthly fee for Salesforce Connect. Disadvantages
  • 8. 7 Salesforce Canvas Canvas is an iFrame-based technology that allows you to embed content from an external system. However, unlike conventional iFrames, where you are restricted from fetching data from domains other than its host (i.e., the same origin policy), Canvas provides a Javascript SDK that allows you to tightly integrate the canvas app with Salesforce callouts.
  • 9. 8 Canvas API & Security Thanks to the Canvas SDK, developers can surface IFrame applications that can fully integrate with the parent Salesforce application. There are several available security options for permitting such calls. They include OAuth support and signed requests, A signed request contains a consumer key, access token, and other contextual information that is useful for building tightly-integrated applications. You can also authenticate the user via SAML if Salesforce is configured as an identity provider.
  • 10. 99 Pros/Cons of Salesforce Canvas • Developers can create applications using the technology stack most familiar to them. • Canvas SDK includes CSS classes that allow an embedded app to have a seamless UI experience. • Configuration within Salesforce couldn’t be easier - just a few simple steps. • No additional licenses costs. Advantages • The web application that must be exposed via Canvas must exist. • In order to fully leverage Canvas, you will have to use the Canvas SDK, which effectively means it can’t be reused in a stand-alone fashion. • As with nearly every Salesforce solution - developer limits are in place. For example, you are limited to 5,000 Canvas SDK calls per 24 hour period. Disadvantages
  • 11. 10 Salesforce REST API REST API provides a powerful, convenient, and simple Web services API for interacting with Force.com. The REST API provides a standard set of calls for accessing Salesforce remotely, and new calls can be defined using Apex REST annotations. In addition to calling Salesforce, REST can also be used for placing outbound calls. The Batch API is also suitable for batch routines.
  • 13. 12 Using REST Explorer in Salesforce Workbench
  • 14. 13 Pros/Cons of Salesforce REST API • Simple to use with nearly all platform languages & technologies. • A Javascript API (“Javascript REST Toolkit”) enables client web applications to place direct calls to Salesforce (i.e., no same origin issue). • Can support XML or JSON protocols. • Very comprehensive - a wide range of Salesforce capabilities are exposed via the protocol. Advantages • As always, Salesforce developer limits apply. For example, depending upon your license, you may not be able to place more than 15k calls a day. • OAuth is required for accessing standard REST API calls (but those you define via Apex can be exposed without OAuth). • REST not available for outbound messaging (requires SOAP). Disadvantages
  • 15. 14 Salesforce SOAP Salesforce SOAP was their first true integration API, and it still remains popular today. Salesforce provides two different types of WSDLs that can be used: ● Partner WSDL is loosely typed and generic to Salesforce org instance. You can dynamically fetch Salesforce configuration data, such as available custom objects. ● Enterprise WSDL. A strongly typed WSDL that is specific to the organization you are working with. Given these chooses the big advantage to the Partner WSDL is that it remains static and thus immune to changes within Salesforce. However, unlike the Enterprise WSDL, it can be much tedious to work with.
  • 16. 15 Pros/Cons of Salesforce SOAP API • Platforms such as .NET and Java can leverage code-generation tools that make it fairly straightforward for generating SOAP requests. SDK’s exist to further streamline the process for Java, .NET, PHP and Ruby. • Testing the SOAP web services can be done using free tools such as SoapUI with IDEs such as Eclipse. Advantages • As always, Salesforce developer limits apply. For example, depending upon your license, you may not be able to place more than 15k calls a day. • SOAP isn’t an option for accessing the Bulk or Chatter APIs - they are only exposed as REST calls. Disadvantages