Salesforce.com describes the language as a Java-like development code enabling users to write applications that run directly on salesforce.com servers. It supports the multi-tenant virtual paradigm of the Apex platform, an application model where users and applications share a common infrastructure and code base.
According to salesforce.com, programmers can use Apex Code to create new business-logic applications, and customize or build new components to augment or replace those being used in salesforce.com implementations, among other things. Salesforce.com CEO Marc Benioff goes as far as to say that his company has cracked the code of enabling unlimited innovation on demand.
Customers will benefit from unprecedented choice and freedom of on-demand applications for the Business Web, Benioff adds. Customers will be thrilled and amazed as the salesforce.com community demonstrates what is truly possible on demand.
But is a brand new programming language that is proprietary to salesforce.com and runs only on salesforce.com servers really necessary?
According to Peter Kastner, vice president of enterprise integration at research firm Aberdeen Group, clients of his are scratching their heads at the way salesforce.com is going about its Apex Code push.
A Little Bit More Control
Unlike traditional scripting languages, Apex Code limits itself to developing applications that focus on data management and business logic. Dont expect to build an updated version of Grand Theft Auto or Second Life modules with this language. But if you need to integrate a second or third database that needs to parse out unique strings of data from your core salesforce.com database, Apex Code not only can help you realize this objective, its multi-tenant capabilities are able to isolate any faulty code threatening to jam up your system.
Sandy Rogers, program director, SOA, Web Services and integration at IDC, says that the introduction of the Apex Code is the first wave of what salesforce.com is doing to help enable its partners to gain control and extend the capabilities of the whole salesforce.com model to fit their businesses.
Through Apex, salesforce is offering visibility into what is needed to customize a little bit more, and I believe that that is really one of the first things that they're trying to achieve with what they're announcing, Rogers says.
In addition, salesforce.com is taking a traditional database-centric sort of approach, Rogers explains.
One of the keys for any [salesforce.com] partner would be to extend the data model, she says. The purpose: So that what eventually could be hosted by salesforce and utilized consistently across from a data semantics point of view with any joint type of composite application or solution, or even an integrated solution, would be having a little more flexibility around that.