Salesforce.com to Debut New SAAS Development PlatformBy Renee Boucher Ferguson | Print
Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame
The goal, according to the company, is to build a Java-like community around its Apex language.
It aint AppExchange 2.0. It's Apex 1.0.
And it very much has the potential to change the way on-demand applications are built and deployed.
Salesforce.com will announce Apex, a new Java-based application development language and platform on Oct. 9 at its annual Dreamforce conference in San Francisco.
The company has essentially taken its internal development environmentJava, PL/SQLused to build Salesforce.com's suite of on-demand CRM (customer relationship management) applications, and unleashed it on the world as a multi-tenant programming language.
The intent: To build an ecosystem of literally millions of developers who utilize Apex to build all different types of Software as a Service-based applicationsall utilizing Salesforce tools and environment.
"This will be the Java of on demand in what it's going to enable in scope, reach and depth," said Kendall Collins, vice president of product marketing at Salesforce.com, in San Francisco.
"People can create all sorts of complex logic, new modules and application procedures. They can build ERP [enterprise resource planning] and e-commerce applications, or highly intelligent applications like yield management that are optimized with algorithms."
Salesforce.com already offers a development environment as part of its AppExchange platform. That includes development tools and a sandbox for testing components.
What changes with the advent of Apex is two-fold: First, some characteristics of AppExchange's customization capabilities are expanded. Developers can use Apex to create custom components, customize and modify existing Salesforce.com code, create triggers and write stored procedures.
They can also build and execute complex logic, officials said. Second, Apex becomes the development platform for users, while AppExchange clearly becomes the (Salesforce sponsored) application marketplace it is intended to be.
And while the actual technical details of the Apex programming language are still somewhat sketchythey'll be fully unveiled during DreamforceMike West, an analyst with Saugatuck Research and a former developer, believes that Apex probably executes using a Java virtual machine that's been purposed directly toward creating objects that are compatible to Salesforce's multi-tenant architecture.
The Apex platform itself includes a new workflow engine. Real time messaging and integration allows other applications, including middleware, to be notified of business events, with the bottom line being that processes spanning systems can be executed with no latency, officials said.
A new data relationships API makes it possible to access and manage complex data relationshipsinformation about an account, products, contactsthat's analogous to a database's JOIN functionality.
An AJAX toolkit that's already part of AppExchange is updated with Apex to support the API upgrade.
For cross-over capabilities, Salesforce is adding the ability to package any object or Apex code and publish it to AppExchange.
The way Apex works from a user interface perspective is this: On the Salesforce.com menu for developers will be a new function for writing custom code. Developers can either utilize Salesforce's IDE (integrated development environment) to write code, or use standard Eclipse with a plug in.
The code is then checked into Apex, which will automatically compile it and run it on Salesforce.com's servers. The code can be associated with any object.
"We've opened up a whole other level of access to our database, our logic, our servers," said Collins, in San Francisco. "Instead of accessing [code] from our API, you're doing it right from our servers."
Next Page: Growing beyond CRM.
The point is not a small one to Salesforce's way of thinking. The company is "absolutely" going down the path of eliminating infrastructure needs for developers.
Collins explains it this way: to develop a simple expense management application, for example, a developer needs to utilize a database, an application server, an operating system and a development environmentand all the pieces on the software and hardware side of the equation need to be brought together.
"With Apex, this is not another SQL Server," said Collins. "This is a SQL service, and an on-demand operating system. So all the components that are key pieces of infrastructure that enable custom application development, we have delivered on demand."
That means users actually leverage Oracle's database, which Salesforce's development environment sits on, and Salesforce's application server, Web server and development environment. The goal, it would seem, is to grow Salesforce beyond its CRM roots.
"They don't want to be isolated," said Saugatuck's West. "They want to be Salesforce plus ERP, with all that capability based around their architecture. They want to be the platform of the futurethe Internet platform for the future. It's a grandiose vision but they have a fairly good chance of getting there."
The key for Salesforceor any software company introducing a new platformis to build an ecosystem that actually utilizes the language and development environment.
To the end, Salesforce also plans to announce Oct. 9 its AppEchange Incubators, centers designed to help developers who rent cube space for $20,000 a pop create ERP components on the Apex platform, which can be sold on the AppExchange marketplace.
The first center will be in Silicon Valley, in the old Siebel building. Others will follow in different locations around the world.
"We have 20,000 developers now," said Collins. "We envision millions."
Developers will have to wait just a bit before jumping on board. The Apex platform will be available as part of Salesforce.com's Winter Release; the Apex language will be available in 2007.
Some customers, like Jay Contreras, president of Crimson Worldwide, a company that uses both Salesforce.com and its AppExchange partner Intaact's software, stands behind the Apex effort.
"What they have done is allow the user and their customers to take [Salesforce] beyond the CRM perspective," said Contreras, in Scottsdale, Ariz.
"They're allowing users to go in and customize, to build databases that are customized for their company."
Kory Kimball, vice president of client services at WebTrend and a Salesforce.com customer, is a bit less enthusiastic about the concept of a new development language from Salesforce.
"What is the purpose? I am a big fan of the company, but we have been successful building extensions to Salesforce applications using Java and .Net technology," said Kimball, in Portland, Ore.
"You already can develop on-demand applications. I would have to understand it better before I train my people on something new."
Saugatuck's West, however, believes Salesforce is on to something with Apex.
"If it's based on Java and it's simple, you have the appeal of all those objects on AppExchange," he said.
"Programming doesn't mean you have to start from scratch. You can leverage the work of other people. It's like the Wiki approach to development; you'll have all these different patternscertain things to express four or five ideaswith people taking different directions to do different things."
Check out eWEEK.com's for the latest news, reviews and analysis about productivity and business solutions.