Launches Apex Code Preview Program - World's First On-Demand Programming Language Now Accessible to Developers Globally

Apex Code will enable any developer to write applications and components that run automatically on's multi-tenant service

Company to provide comprehensive developer resources, including new Apex Toolkit for Eclipse, and new AJAX Toolkit

SAN FRANCISCO — January 16, 2007 — [NYSE: CRM], the market and technology leader in on-demand business services, today announced the availability of Apex Code, the world's first on-demand programming language. The preview release of the Apex programming language will enable developers to learn the capabilities of the Apex language, write code and create applications, and provide feedback on Apex's design and capabilities. The developer preview release is currently scheduled to be followed later this year with a beta for customers. Apex Code will dramatically expand the reach, scope, and depth of applications available on the AppExchange and will enable any type of enterprise application to be delivered on demand. Developers may sign up for the Apex Code preview program at

" has now cracked the code of enabling unlimited innovation on demand," said Marc Benioff, chairman and CEO, "All components and applications created with Apex Code and the Apex on-demand platform will be able to be shared via's AppExchange directory, enabling all the innovation that Apex unleashes to benefit the entire on-demand community. With Apex applications available through the AppExchange, customers will benefit from unprecedented choice and freedom of on-demand applications for The Business Web. Customers will be thrilled and amazed as the community demonstrates what is truly possible on demand."

The Apex On-Demand Platform and Apex Code
Delivered with Salesforce Winter' 07, the Apex on-demand platform provides a complete feature set for building business applications, including data models and objects to manage data, a workflow engine for managing collaboration of data between users, a user interface model to handle forms and other interactions, and a Web services API for programmatic access and integration. The Apex Web services API is one of the world's most widely used enterprise Web services, handling more than fifty percent of's 3.7 billion services transactions in's Q307.

New to the Apex on-demand platform is Apex Code, the world's first on-demand programming language. Apex Code extends the powerful and proven success of the Apex platform by introducing the ability to write code that runs on's servers. This makes possible the development of a new class of applications and features deployed entirely on demand. Apex Code also makes it possible to infuse intelligence into existing Salesforce apps by capturing business logic and rules such as data validation. Code created, run and stored with Apex will be 100 percent multi-tenant and encapsulated to protect customer implementations against faulty code, and automatically upgraded in conjunction with the service. Apex Code enables entirely new kinds of apps to be built on demand-such as complex inventory checking and order fulfillment.

Developers can use Apex Code to do everything from creating custom components, customizing and modifying existing code, and creating triggers and stored procedures, all the way to building and executing complex business logic, run entirely on's multi-tenant service. Apex Code is a Java-like development language that is secure, easy and fast, and will be immediately familiar to any Java programmer. Anything built using Apex Code can be made available as a Web service and is accessible via SOAP and XML standards. Features and capabilities of Apex Code include:

  • Apex Code and event model - Apex Code can be tied to the execution of the platform, enabling developers to exert fine-grained control over an application. Developers can use Apex to customize the core features and functionality of their Salesforce deployments for their unique business needs. Apex Code also delivers the power to reprogram any component of Salesforce, such as Campaigns, Cases or Opportunities, or build entirely new components completely from scratch.
  • Transaction control - Because Apex Code is closely bound to Salesforce data, developers can readily add transactional features to their applications. For example, if one user is referencing a field while somebody else is trying to delete it, the system is aware of the conflict. Apex Code also features data commits and rollbacks, which are especially important when working across multiple objects.
  • Packaging, re-use and Web services. Apex Code uses a packaging model similar to that of Java, in which reusable packages of code can be invoked from each other or from within triggers. Significantly, any method defined in a package can optionally be automatically exposed as a Web service, and thus can be invoked via the Web services API or directly through the AJAX toolkit.
  • Performance, scalability and upgrades. Because Apex Code runs on demand, developers enjoy the benefits of the scalability, reliability and availability of's industry-leading service. Applications potentially run faster because a single query can obtain information from multiple objects. When newer versions of Salesforce and the Apex code itself are introduced, code is never rendered obsolete. ensures backward compatibility so that code continues to operate without modification.
  • Apex Code and the AppExchange. Apex Code can be packaged alongside custom objects, S-controls and other platform features, allowing developers to redistribute their Apex Code-enhanced apps via the AppExchange directory.
"We are excited that continues to help Eclipse developers embrace the ease and flexibility of the on-demand model," said Mike Milinkovich, executive director of the Eclipse Foundation. "Bringing together the sophistication of Eclipse with the power of's popular Apex Web services API and on-demand platform is a win-win for developers."

New Apex Toolkits and Resources at Apex Developer Network
To spur development with Apex, also is providing comprehensive developer resources, including new Apex developer toolkits for AJAX and Eclipse and a new Wiki-based developer site, the Apex Developer Network (ADN) at ADN provides the community, tools and resources to let developers use the Apex programming language to build new applications for the AppExchange. Now any developer in the world - with access to just a Web browser and Internet connection - can harness the power of the world's most popular multi-tenant platform to create new applications and mashups from scratch. With toolkits and resources for most popular development languages, including AJAX, Java, .NET and PHP, developers can also combine those applications with other Web services to create new business mashups, allowing developers, ISVs and IT organizations to easily leverage The Business Web in their projects and offerings.
  • New Apex Toolkit for Eclipse
    Built on the popular Eclipse development platform framework, the new Toolkit extends Eclipse beyond traditional software development and provides developers with a robust development and debugging environment to create Apex Code. In addition, with the toolkit, developers can directly access and explore the Apex data model and objects, extend Apex's native Web presentation capabilities, and build and debug applications and mashups that use the popular Apex AJAX toolkit.
  • New AJAX Toolkit
    The popular AJAX Toolkit for creating business mashups between Salesforce and other systems, like Google Maps or Skype's VoIP service, has been updated to support the new Apex API capabilities, integrate with other AJAX frameworks and provide greater speed and responsiveness.
  • New Developer Apex Wiki
    As part of the Apex Developer Network, a new developer Wiki with documentation, demos, sample code and tools is available at The Wiki allows any member of the ADN community to get the resources they need to build apps using Apex Code, and contribute back their samples and examples.
  • "Creating On-Demand Applications for the AppExchange" Book Now Available
    Written by's engineering and development teams, this book walks through the process of creating an application, to demonstrate how quickly a developer can be productive with the on-demand development model. The book also provides an introduction to the Apex Web Services API and how it can be used to create composite applications or mash-ups. It also provides a code samples and an introduction to the Apex programming language. To get a copy, please visit:
  • Free Developer Edition
    Developers interested in using the toolkits and the Apex on-demand platform can sign up for a free Developer Edition at
The AppExchange Directory
More than 185,000 test drives and more than 20,000 application installs at more than 7,500 customers have taken place of the more than 500 applications that are now available on the AppExchange, the world's first on-demand directory, found at

The Apex on-demand platform is generally available today. The Apex programming language is available today for developer preview, and is currently scheduled to be available in beta to customers later in 2007.

About is the world’s largest provider of customer relationship management (CRM) software. For more information about (NYSE: CRM), visit:

Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase applications should make their purchase decisions based upon features that are currently available. has headquarters in San Francisco, with offices in Europe and Asia, and trades on the New York Stock Exchange under the ticker symbol “CRM.” For more information please visit, or call 1-800-NO-SOFTWARE.