PREFACE: This post is part of the Zero to Hero series.
In the last post, we looked at how Salesforce is structured as a database. This was an important concept to understand because without a good knowledge of the relational database concepts building solutions and even generating reports becomes difficult.
Today we are going to learn about technology platforms and learn about some of the technologies that make up the Force.com Platform.
What is a Platform?
A platform is a foundation. When building a house, you must start with a solid foundation in order to put up walls and a roof. Technology platforms are very similar. Techopedia defines a platform as:
…a group of technologies that are used as a base upon which other applications, processes or technologies are developed.
Salesforce has a number of underlying technologies that enable Administrators to build complex processes, automate actions and even build new configuration like objects and applications with clicks (called ‘declarative development’) and code.
Technology companies are offering platforms for nearly everything now. Here are some examples of platforms you probably use:
- Microsoft Azure allows developers to build applications of all kinds in the cloud including Xbox games.
- Google Chrome allows developers to create fully functional apps that run in the browser.
- iOS and Android have developer tools which allow companies to create mobile applications which can be installed by a user.
- Windows and OSX are very common platforms that we all use.
- Admin Hero uses a platform called WordPress which allows me to build and customize this site.
We are surrounded by platforms and you probably didn’t even know it.
Force.com Platform Technology
The Force.com platform is 100% cloud based. This means that all of the technologies of the platform are accessible via the internet. There are no servers that your company needs to purchase or maintain, no code to write or software updates to install. Salesforce handles all of the infrastructure so you can focus on building awesome stuff.
There are certain platform technologies built into the Force.com platform and I think they are important to understand.
Salesforce’s databases are multi-tenant meaning that the entire Salesforce customer base is using a single, common database and a common set of code.
Every Salesforce customer gets their own private section of the single larger database. This type of architecture allows Salesforce to release upgrades and bug fixes automatically to all customers at once because every org shares the same technology.
There are some common examples of multi-tenant architecture which you are familiar with:
- Google Apps
- Microsoft Office 365
The benefit of a multi-tenant architecture is the overall low cost and the speed with which customers can deploy solutions. There is no need for a customer to purchase Salesforce then go through an install process before deploying or to upgrade.
Every customer, regardless of how long they have been a customer, is running the most recent and secure version of the application and can deploy new functionality very quickly.
API stands for Application Programming Interface (Wikipedia) and allows developers to quickly build a lot of functionality with tools provided by the platform. Think of an API as a bridge between platforms and systems.
APIs are used to connect Salesforce to other systems for better overall functionality and user experience. For example, an API can connect Salesforce to your companies ERP or billing system.
The Force.com Platform is API first which means that the API is built from the start and all of the platform technologies are accessible via an API. You will probably not have to work with APIs much, but knowing the basics is always beneficial. Thankfully for you, this is the extent to which we will cover APIs.
However, if you are interested in reading and learning more, there is a lot of information in the API Reference Guide.
Apex is a custom coding language developed by Salesforce specifically to work well with their platform. This programming language, which is similar to Java, was designed to leverage the platform’s technologies and the types of data that the system would house.
The language provides a uniquely powerful and productive approach to creating functionality and logic, allowing developers to focus just on the elements specific to their application, while leaving the rest of the ‘plumbing’ to the Force.com platform. (Force.com Fundamentals)
Again, we won’t cover Apex in this series, but more information can be found on the Developer site.
Visualforce is a UI (user interface) framework which is used to design and display custom pages in Salesforce. Visualforce is powerful enough to totally overhaul the look and feel of the Salesforce UI. Visualforce renders into HTML which allows an endless series of possibilities for customizing the UI and building solutions to fit the business need.
Salesforce’s AppExchange is a marketplace where customers and 3rd party companies can publish configured solutions to specific business problems and Salesforce users can browse and install these applications into their specific Salesforce org. Apps include anything from pre-built dashboards to payroll management to survey applications and more.
Congratulations! You have just completed the second lesson in the Zero to Hero series! Give yourself a pat on the back – you’re doing great!
Do you have questions or comments? Leave a comment below and I’ll be sure to give a response.