Salesforce has changed the way organizations do business by moving enterprise applications that were traditionally client-server-based into an on-demand, multitenant Web environment, the Force.com platform. This environment allows organizations to run and customize applications, such as Salesforce Automation and Service & Support, and build new custom applications based on particular business needs.
While many customization options are available through the Salesforce user interface, such as the ability to define new fields, objects, workflow, and approval processes, developers can also use the SOAP API to issue data manipulation commands such as delete(), update() or upsert(), from client-side programs.
The performance costs of making multiple round-trips to the Salesforce site to accomplish common business transactions
The cost and complexity of hosting server code, such as Java or .NET, in a secure and robust environment
To address these issues, and to revolutionize the way that developers create on-demand applications, Salesforce introduces Force.com Apex code, the first multitenant, on-demand programming language for developers interested in building the next generation of business applications.