What are REST Web Services?

What are REST Web Services?

A REST (Representational State Transfer) resource is an abstraction of a piece of information or an action such as a single data record, a collection of records, or a query. Each resource in REST API is identified by a named Uniform Resource Identifier (URI) and accessed using standard HTTP methods (HEAD, GET, POST, PATCH, DELETE). REST API is based on the usage of resources, their Uniform Resource Identifiers (URIs), and the links between them.

You can use a resource to interact with your Salesforce org. For instance, you can perform actions such as:

  • Retrieve summary information about the Application programming interface (API) versions available to you.
  • Obtain detailed information about a Salesforce object, such as Account, User, or a custom object.
  • Perform a query or search.
  • Update or delete records.

A REST request consists of four components: a resource URI, an HTTP method, request headers, and a request body. Request headers specify metadata for the request. The request body specifies data for the request, when necessary. If there’s no data to specify, the body is omitted from the request.

Basically, Restful services are REST architecture based on Web Services. RESTful web services are lightweight, highly scalable, and maintainable and are used to craft APIs for web-based applications.

Benefits of Restful Web Services

Fast: RESTful Web Services are fast because there are no strict specifications like SOAP. It uses less bandwidth and resources.

Language and platform-independent: RESTful web services can be written in any programming language and run on any platform.

Can use SOAP: RESTful web services can use SOAP (Simple Object Access Protocol) web services as the implementation tools.

Allows various data formats: RESTful web service allows various data formats such as Plain text, HTML, XML, and JSON.

Apex REST Methods

Apex REST supports two formats for representations of resources: JSON and XML.

JSON representations are passed by default in the body of a request or response and the format is indicated by the Content-Type property in the HTTP header. You can retrieve the body as a Blob from the HttpRequest object if there are no parameters to the Apex method.

If parameters are defined in the Apex method, an attempt is made to deserialize the request body into those parameters. If the Apex method has a non-void return type, the resource representation is serialized into the response body.

These return and parameter types are allowed:

  • Apex primitives (excluding sObject and Blob).
  • sObjects
  • Lists or maps of Apex primitives or sObjects (only maps with String keys are supported).
  • User-defined types that contain member variables of the types listed above.

Methods annotated with @HttpGet or @HttpDelete should have no parameters. This is because GET and DELETE requests have no request body, so there’s nothing to deserialize.

A single Apex class annotated with @RestResource can’t have multiple methods annotated with the same HTTP request method. For example, the same class can’t have two methods annotated with @HttpGet.


You can use user-defined types for parameters in your Apex REST methods. Apex REST deserializes request data into public, private, or global class member variables of the user-defined type unless the variable is declared as static or transient. For example, an Apex REST method that contains a user-defined type parameter might look like the following:


global with sharing class MyOwnTypeRestResource {


    global static MyUserDefinedClass echoMyType(MyUserDefinedClass ic) {

        return ic;


    global class MyUserDefinedClass {

        global String string1;

        global String string2 { get; set; }

        private String privateString;

        global transient String transientString;

        global static String staticString;



Valid JSON and XML request data for this method would look like:

{ “ic” : {

                “string1” : “value for string1”,

                “string2” : “value for string2”,

                “privateString” : “value for privateString” 



REST stands for Representational State Transfer. REST is used to build lightweight, well-maintained and scalable web services. The main aspects of REST are the resources on the server and the verbs GET, POST, PUT, and DELETE which can be used to work with these resources. Visual Studio and .NET can be used to build Restful Web Services.

If you are looking for certified Salesforce developers or Salesforce implementation partners, Cloud Analogy — the world’s leading and most successful Salesforce Development Company — would be the right choice for you.

Accessibility Mode in Salesforce

Accessibility Mode in Salesforce

Salesforce Web Accessibility ensures that people with disabilities can recognize, understand, navigate, interact, and contribute to the applications that are available to the world at large. This means the pages should be responsive, functional, understandable, and robust at the same time. It includes providing keyboard interactions alternatives for all mouse-based actions, correctly identifying all fields of forms and buttons, providing textual alternatives for all images, videos, icons, and SVG files, and creating components correctly to define their identities, operating models, and more.

Salesforce is committed to providing high-quality, on-demand enterprise applications that are accessible to all individuals, including users working with assistive devices, such as speech recognition software and screen readers.

What is Accessibility Mode in Salesforce?

Salesforce Accessibility Mode is a type of interface mode that is designed for voice recognition and screen reader software. By using this accessibility mode on Salesforce.com, you can make work easily and efficiently with Salesforce. Furthermore, you can create reports and dashboards with voice recording software in Accessibility Mode.

How to enable Accessibility Mode in Salesforce.com?

Follow these steps to enable Accessibility Mode in SFDC:

Step 1: Go to Your name>>My settings>>Display & Layout>>Accessibility.

Step 2: Click on Accessibility as shown above.

Step 3: Now you are redirected to a new page where you have to check Accessibility mode checkbox.

Step 4: Enable Accessibility mode checkbox and click on the Save button to save the settings.

Features of Accessibility Modes
1: You can access setup pages through a  Setup link at the top of the page.

2: The Dropdown menu contains a Go button that lets you navigate to the option you choose in the dropdown list.

3: The menu button appears as a drop-down list with the “Go” button.

4: Overlay pages are displayed as separate popup windows.

5: HTML editors are replaced by text boxes. This text box only accepts HTML and does not recognize the plaintext entry. To separate content, you should use paragraphs or line-break HTML tags.

6: While accessing a dashboard, the View Dashboard Auto-Complete filter is replaced with the standard drop-down menu.

7: The Edit Columns link on the Manage Members page, accessible by Manage Members dropdown on a campaign detail page. The Edit Columns overlay is replaced by a standard setup page.

8: Clicking a requested meeting in the Open Activities related list and in some, the list views doesn’t open the meeting detail page. Instead of this, a dialog opens that guides you to contact the meeting organizer for the requested meeting details.

9: The Turn My Email On the dropdown list on a Chatter group displays as a Chatter Email Settings link that opens your settings for receiving Chatter email.


In a nutshell, the Salesforce Accessibility Mode is a feature that provides support for specially challenged people like blind or visually impaired people. It allows them to read and interpret the provided information either by converting text to speech or vice versa.

Important things You Need to Know About Salesforce DX

Important things You Need to Know About Salesforce DX

Salesforce DX is one of the most innovative and revolutionary products of the Salesforce cloud application that allows users to develop and maintain applications more efficiently throughout the entire platform. It was initially used by software developers and supporters to allow customers to have better control over collaboration, auditing, and more.


It is important to note here that it is not an easy task to replace your legacy business infrastructure to the Salesforce CRM platform. There are many important things to keep in mind while getting your systems integrated with Salesforce DX. For this, you need to choose a professional Salesforce Implementation Company.

Being a leading Salesforce Integration company, Cloud Analogy is here to provide you with the most reliable and best services so that you can reach new heights of success and make your business stand out from the crowd.

Salesforce DX is a combination of Force.com and Heroku software with new features and functionalities. It uses the Force.com migration tool to add metadata. Metadata is essential and the most important component that provides other important information about new technology. 

Salesforce DX enables users to improve the overall version control system without facing any complicated issues. 

Benefits for developers

The traditional approach of development is process-centric and a stable product version is always needed to support large projects. As it is quite problematic to have a stable version when developing new features, developers must use various tricks to solve these problems.

That’s where Salesforce DX comes into the picture. With the help of DX, you can make a complete or partial copy of your product on a new org for each new feature or functionality, develop it, test it, and then update it on the main org.

What can Salesforce DX do for your business?

Salesforce DX promotes the best approach across source administration. You must archive the changes made in your source code. Also, make sure you save existing version history. 

With the introduction of Salesforce DX, you can modernize software/application development practices using Agile and DevOps effectively. Salesforce DX does not provide code control for you, but it’s a model variation that improves performance.

DX introduces the theory of scratch orgs, which are ordinary sandboxes. If necessary, they can easily turn around to make a multi-hour sandbox in less time and without much effort. You can use it in a part-time developer environment where changes can be made easily. This is definitely good because you can then categorize work in an adequate manner. 

Instead of having a sandbox with many unique features, Salesforce DX lets you use a different scratch orgs for each specific segment of work. Each scratch orgs is autonomous and we can use it for performing functional tasks.

Ultimately, Salesforce DX makes the development process more reliable and productive.

Important Things you wanted to know About Salesforce DX


Salesforce DX is connected to the Dev org setup. This means you can delete, restore, update, and manage your DX system.


Salesforce DX provides users with an advanced and highly efficient control version system with settings to track synchronization changes. These are benefits for customers to work more effectively and proactively. 


Salesforce DX is a newly developed software that is integrated with CI (Continuous Integration). Continuous Integration relies on the following principles where developers maintain a code repository and simplify a lot of code. One of the best things about CI is that you can find errors quickly and fix them easily.


Salesforce DX software is utilizing a scratch org definition file. In the create org definition file that includes org facilities, org files, and org editions, Salesforce DX simplifies scratch org value on the value of the command line.


Salesforce DX can retrieve code from the version control system. It needs some points to be followed like how to develop a new Salesforce org and manage scripts. 


Salesforce DX is the right choice for projects that need continuous development. Salesforce DX CLI,  a powerful command-line interface, simplifies development and builds automation when working with your Salesforce org. After your project is configured, you always have a sandbox for your developments and a stable version for your customers.

Can Force.com (From Salesforce.com) Be Considered A PaaS

Can Force.com (From Salesforce.com) Be Considered A PaaS


“Cloud Computing” has dramatically changed how business applications are built and run. Deploying another application is presented as fast as opening your Internet program. Platform as a Service — or PaaS — is today an established model for running applications without the challenge of maintaining the hardware and software infrastructure at your company. An advantage of PaaS solutions is their ability to upgrade themselves to latest without manual intervention.

PaaS services are deployed in the cloud and accessed by clients essentially via their web program. Software designers, web engineers, and organizations can make all profit by PaaS: Software designers can take advantage of a PaaS solution to assemble an application which they are planning to offer over the web or software to sell out of the box. Web designers can utilize individual PaaS situations at each stage of the procedure to create, test and host their sites. Organizations can build up their internal software, mainly to develop unmistakable ring-fenced advancement and testing conditions. Platform as a service (PaaS) is a distributed computing model in which an outsider supplier conveys hardware and software instruments – usually those required for application improvement – to clients over the web. A PaaS supplier has the hardware and software all alone infrastructure.

PaaS liberates clients from having to install in-house hardware and software to create or run another application. The original aim of PaaS was to improve the code-composing process for designers, with the infrastructure and operations handled by the PaaS supplier. Initially, all PaaS platforms were in the public cloud. Over a period because many companies did not want to have everything, in public cloud, private and hybrid PaaS platforms built.

Force.com Platform enables corporations to build and deploy apps in the cloud, faster than much on-premise application platform, hybrid platforms, and many cloud platforms that are not as evolved.

PaaS gives a situation to engineers and companies to create, have and convey applications, saving designers from the complexities of the infrastructure side (setting up, arranging and managing components, for example, servers and databases). PaaS can accelerate the application development by ensuring that developers and other stakeholders can concentrate on the application itself without having to address issues around managing runtime, middleware, operating framework, virtualization, servers, storage, and networking.

 What makes Force.com PaaS?


Just like Salesforce.com is an out of the box solution with their products around, Sales Cloud, Service Cloud and Marketing Cloud. An organization could go out and buy the Sales Cloud today and start logging leads, opportunities, running reports, etc.In contrast, by buying some Force.com licenses, you would not have an out of the box solution, no access to leads, accounts or opportunities. You would have to build Apps, Tabs, Custom Objects, Workflow Rules yourself all to design the kind of system that you want to use.

Force.com as PaaS

Force.com has some significant difference from other PaaS providers as it underpins a programming interface and is specifically intended for creating multi-tenant cloud-based applications. It has a unique programming model based on the Java-like Apex programming language. It also has a native UI and UI programming language. Applications built on Force.com platform can be expansions of CRM capabilities gave by Salesforce CRM, or they can be work process-based business applications, for example, approval work processes. The platform also provides integration APIs to CRM integration or outsider services.

In Force.com a developer can merely declare data objects are utilizing visual configuration tools and compose trigger handlers in the Apex programming language. Support for multi-tenancy, including tenant data isolation and configuration, is given out of the case with no specific programming required. One of the practical, abnormal state aspects of this sort of platform.

However, the tradeoff is that the programming model is one of a kind and does not translate to traditional enterprise architecture. Additionally, with a specific end goal to help multi-tenancy, the platform has runtime cut-off points in place which limit the amount of data, some transactions, and transaction latency.

The Force.com platform offers other features, including security and integration with external APIs

Force.com accelerates development velocity for cloud-based applications that tap into the center Salesforce.com application and facilitate seamless deployment. Many ISVs are reluctant to adopt Force.com because of its being proprietary and does not have the maturity or market acceptance as compared to more mainstream development platforms, for example, Microsoft .NET or Java/J2EE. Also, as the Force.com does not offer extreme cloud portability some programmers are are hesitant in leveraging this platform

Salesforce.com is proceeding with its PaaS push. For example, the company acquired Heroku—a Ruby-based PaaS that backings a global improvement group and pushes many social and versatile cloud applications. The company also presented database.com—a language-autonomous facilitated database apparently on the path to contend with Microsoft SQL Azure. How these forms strategically complement Force.com and will be accepted by the market has yet to be completely caught on.

A right PaaS platform drives innovation, enabling corporations to deploy applications faster. An exact PaaS application is open, lets IT collaboration helps in multi-cloud deployment.

Despite Force.com’s focus on productivity, the platform still needs to address factors like development support for a range of application from simple to the most complex, visual development of application logic and source control out of the box.