Salesforce.com Previews On-Demand Programming Language and Platform
- By John K. Waters
Salesforce.com is set to preview a new programming language and platform at its annual Dreamforce 06 Conference, underway this week in San Francisco (Oct 9-11). Dubbed Apex, it's designed to allow developers to write intelligent transactional applications that run entirely on the Salesforce service with no additional infrastructure requirements.
In other words, applications built with Apex code will be supported completely by the salesforce multi-tenant environment, eliminating the need for operating systems, databases, app and Web servers, data centers, or other infrastructure software, the company says.
Salesforce.com is billing Apex, which is syntactically similar to Java, as "the world's first on-demand programming language." It's based on the company's own internal development tools, which were used to build the salesforce CRM product.
"We're essentially allowing developers to build logic into our service and database," explains Ariel Kelman, salesforce.com's director of AppExchange product marketing. "We're letting them have a fine-grained control over application behavior and the ability to support complex business processes and transactions, but we're doing it in a way that frees them from having to spend any money on hardware or software infrastructure. And every time we upgrade our service, everything they've built using Apex will be upgraded automatically and seamlessly without any effort on the part of the customer or developer."
The company's occasionally hyperbolic CEO, Marc Benioff, is already comparing the as yet unreleased Apex with one of the IT industry's most popular programming languages. "Just as Java enabled the creation of millions of compelling Internet applications," Benioff said in a statement, "Apex will transform on-demand computing.... Now that anything can be built on demand, no corner of enterprise software is safe."
Kelman insists that Benioff isn't far off: "When Java first came out, Sun told all the C++ developers, We're letting you focus on the interesting stuff, on building applications. You no longer have to deal with all the plumbing—the garbage collection and memory allocation. We're taking that to the next level. We're saying, Here is the key enabling technology to let you build any application on-demand. From a developer perspective, we're saying that you now can focus on building the application, and then outsource all the low-level infrastructure and non-value added technology to us."
As a platform, Apex is designed to support development as a service. The company says that it will provide capabilities for embedded mashups, Apex analytics, and automatic upgrades and approval workflow. The platform will include:
- A data relationship API, which will make it possible to access and manage complex data relationships in a single request. This capability, analogous to database JOIN functionality, enhances both the speed and simplicity of integrations, and is unique to the Apex API, the company says.
- Real-time messaging and integration, which will allow other applications (including a middleware system, message bus or software application) to be notified immediately of business events in salesforce--the creation of a new customer, for example, or the closing of a sales opportunity.
- An AJAX toolkit for creating business mashups between salesforce and other systems, such as Google Maps and Skype’s VoIP service. The toolkit will be updated to support the new API capabilities, integrate with other Ajax frameworks, and provide greater speed and responsiveness, the company says.
"All the code that you build in Apex can be packaged up and made into an external Web service that any application, programming language, or development environment can access through our Web services API," Kelman adds.
Apex apps are also shareable on the AppExchange directory, salesforce.com's Web-based applications marketplace. This may be no small side benefit: The company reports more than 150,000 test drives and 14,000 customer installations of the 400-plus applications now available on the AppExchange.
"Apex will enable CIOs and IT departments to focus on innovation, not infrastructure,” observes AMR analyst Bruce Richardson. “Companies today are spending too much of their time and budget on servers and other infrastructure just to keep the lights on. Apex will make on-demand application development available to everyone, allowing businesses to outsource infrastructure and focus on driving business value with their IT investment."
Salesforce.com is planning to make the Apex platform available at its Salesforce Winter ’07 conference, and the Apex language is scheduled for availability in the first half of 2007. The company is planning to introduce the language through a public beta program early next year.
Salesforce.com is scheduled to demo Apex at the Dreamforce 06 Conference this week at San Francisco's Moscone Center. Among the event's featured speakers is former Secretary of State Colin Powell, who will be presenting on the topic "Leadership in an On-Demand World."
John K. Waters is a freelance writer based in Silicon Valley. He can be reached