Salesforce Platform (formerly Force.com)
What is Salesforce Platform (formerly Force.com)?
Salesforce Platform -- formerly known as Force.com -- is a platform as a service (PaaS) product that simplifies the development and deployment of cloud-based applications and websites. Using Force.com, developers can create many kinds of enterprise and business applications without using additional hardware or software, or worrying about database maintenance.
Overview of Salesforce Platform
Launched in 2007, Force.com (now Salesforce Platform) is a PaaS offering from Salesforce. It was one of the world's first PaaS products, and the first to facilitate turnkey multi-tenancy for internet-scale applications. This custom application development environment provides a user-friendly, low-code way to build apps and automations that can help to boost enterprise efficiency and productivity, and potentially to reduce IT costs.
Developers can use Salesforce Platform's cloud integrated development environment (IDE) and point-and-click tools to create the required apps and websites. They can then deploy the apps and sites to Salesforce Platform's multi-tenant servers so end users can start using them quickly.
Salesforce Platform and platform as a service
PaaS refers to a cloud-based environment for developing and deploying enterprise applications. The PaaS provider provides all the necessary development resources, including infrastructure, middleware, development tools, business intelligence (BI) services and database management systems (DBMS).
A PaaS like Salesforce Platform supports the entire application lifecycle management process, from build, test and deploy, to post-deployment tasks such as maintenance and updates. Salesforce Platform also abstracts the concept of servers, so developers don't have to worry about server-related tasks like configuration or management.
In addition, the PaaS provider will take care of other infrastructure-related concerns, like application availability, load balancing, data backups, operating system (OS) patches and security. As a result, developers can focus on application development and customization. And when the application is ready to be deployed, it can be done easily, often by just pushing a few buttons.
Multi-tenancy architecture of Salesforce Platform
The Salesforce Platform features an optimized and patented metadata-driven architecture for creating scalable, high-performance and customizable applications. Moreover, the architecture is multi-tenant, meaning it can meet the needs of multiple companies or departments using the same set of resources. This concept makes Salesforce Platform different from single-tenant products where a dedicated set of resources are required to satisfy the needs of each specific organization.
The multi-tenancy architectural approach allows Salesforce, Salesforce Platform's provider, to achieve economies of scale because they can serve multiple organizations using a common set of resources and a single codebase. In addition, they need to manage only one stack of software and hardware, which reduces the Salesforce Platform maintenance burden.
The approach also creates advantages for organizations using the service. They can customize their Salesforce Platform instance per their unique requirements. At the same time, all their data and customizations remain secure because they are insulated from all other Salesforce Platform tenants. They can also benefit from improved quality, lower costs and frequent improvements to the platform, which are possible because multi-tenancy allows the provider to save on their own development and maintenance costs.
Finally, multi-tenancy enables the customer organization to run all their applications in one space. As a result, any authorized user (of any application) can access specific data sets, which then makes it easy to integrate related applications and their data.
The importance of metadata in Salesforce Platform
Salesforce Platform's metadata-driven architecture is stable, scalable and reliable. In this context, metadata refers to internal representations of everything exposed to application developers and users using Salesforce Platform, such as the following:
- Tenant-specific customizations.
- Business logic.
- Definitions of underlying data tables and indexes.
- User access privileges.
- Flows and reports.
All these abstract constructs exist as metadata in Salesforce Platform's Universal Data Dictionary (UDD). This metadata is stored in the platform's engine that then generates virtual application components at runtime. It thus enables the development of high-performance, highly customizable multi-tenant, on-demand applications. Moreover, it's easy to modify or customize applications; all that's needed is a simple non-blocking update to the corresponding metadata.
In Salesforce Platform's architecture, application components are different from metadata which is different from application data. Some metadata describes an application's base functionality while other metadata describes each tenant's data and customizations. These different data types are clearly separated, which allows for independent updates to the system kernel and risk-free modifications to the core application.
Further, the platform prevents performance sapping disk I/O and code recompilations and improves application response times by using metadata caches. These caches maintain the most recently used metadata in memory, thus optimizing metadata access and allowing the platform to scale.
Common uses of Salesforce Platform
Salesforce Platform is useful for building many types of enterprise applications and workflows. One example is a business process automation (BPA) app to automate repetitive or predictable processes to save time, reduce errors and produce more consistent output.
The platform is also ideal for building intelligent workflows, predictive sales dashboards and smart service workflows, all achievable with writing little or no code. These apps can run on any device, including mobile devices, so developers don't have to create separate codebases or use different development tools.
Salesforce Platform also includes capabilities to help enterprises do the following:
- Integrate, analyze, mine and extend CRM data.
- Build customer apps.
- Build employee apps.
- Design and deliver personalized customer experiences.
- Improve business forecasting.
- Inform product design decisions.
Benefits of Salesforce Platform
Salesforce Platform provides a comprehensive ecosystem of tools and services for building, running, managing and optimizing a vast range of enterprise apps. This ecosystem includes the following:
- User interface (UI) frameworks and components to speed up development.
- A mobile SDK to build native apps (iOS and Android).
- Multi-language support.
- Social collaboration tools.
- Cloud identity solutions.
- Page layouts.
- 1-to-1 customer engagement engine.
- Custom actions.
Developers can use these tools to build the apps without having to worry about activities related to infrastructure setup, database management, server management, security, etc.
The platform is API-first, so it's easy to build any kind of app with any desired user interface (UI). All apps connect to business data, allowing for a more connected tech ecosystem and better business decision-making. Also, the platform enables both instant app deployment and real-time app distribution.
Business users also benefit from Salesforce Platform. They can easily translate their business ideas into applications. The apps can be social and mobile-friendly, as well as contextually aware and action-oriented. They can also easily add new users and control user access, and leverage the apps to deliver useful insights to other business users.