Working with Salesforce.com’s Force.com Platform in Cloud Computing
Salesforce.com initiated a platform called Force.com as its foray into the cloud computing platform market. It helps commercial software developers create cloud-based applications based on Salesforce.com’s development environment. In addition, applications built with Force.com’s tools can also take advantage of the CRM applications.
At the heart of this platform is the multi-tenancy architecture. This means that applications designed with Force.com assume that users will share a single physical instance. However, those instances and the application code built in those instances are isolated from each other.
The Force.com platform is centered around a development stack that includes the following components:
Metadata architecture: Salesforce.com needed a metadata architecture to support its multi-tenancy approach. Salesforce.com considers this metadata stack as the core of its differentiation in the market. The metadata layer is complex and includes an application server called Resin, a high-performance XML application server.
Service delivery infrastructure: Salesforce.com’s cloud delivery infrastructure is based on its managed and secure data center environment. This is the same infrastructure used to manage its CRM customers.
Database as a service: The database is built on top of the metadata services. The data services provide data security by enabling customers to declare validation rules (such as confirming that an account number is valid). It enables customers to build customized objects and fields. The customer isn’t responsible for database tuning, backup, or upgrades, because of the cloud infrastructure.
Integration as a service: At the center of Force.com’s integration capabilities is a Web services Application Programming Interface (API). This API allows customers to access data stored in a Force.com application because it supports industry-standard SOAP Web services.
Logic as a service: This is a set of automated workflow services. A built-in workflow engine includes services such as task creation, record assignment, and other event-triggered services. Customers can use a Salesforce.com programming language (called Apex) as a way to extend the application by writing new code.
User interface as a service: Force.com provides two ways of building or customizing user interfaces:
A builder to change the application layout and Visualforce
A framework for building user interfaces for both private and public clouds
Developers can use standard Web development tools including HTML, AJAX, and Adobe Flex.
Development as a service: Development tools include the Metadata API, an IDE (Integrated Development Environment), a development sandbox (a separate development space for developers), and a service called Code Share for building cloud-based applications.
AppExchange marketplace: This site enables vendors that have used the Salesforce.com interfaces. It is, in essence, a channel for partners to sell into the installed base.
Like many Platform as a Service providers, Salesforce.com allows independent software vendors (ISVs) and commercial developers to join their Force.com program without any start-up fees. If a developer is selling to existing Salesforce.com customers via AppExchange, there’s no cost to the ISV. However, if an ISV sells a stand-alone application to a new customer that isn’t using Salesforce.com, there is an embedded license charge of $15 per user per month.