As developers become more familiar with the Apex code, there are fundamental questions that need answering.
Salesforce.com is building momentum around its Apex on-demand programming language and development platform, hiring seasoned staff to evangelize the technology and holding packed-to-the-rafters seminars and webinars to familiarize developers with the Apex code.
Its still very early days for Apex. The programming language code, in beta now, was released in January, and it wont be fully available until later this year.
But developers who have had an early look at the Apex code are building a list of fundamental questions they want to see answered before fully embracing the technology. Mainly, theyre waiting to see what pricing structure Salesforce will release around infrastructure and other services through AppExchange
and its AppStore that will sell the applications developers build using Apex.
And developers are waiting to see if the tools Salesforce develops are rich enough to compete with the likes of .Net and J2EE (Java Platform, Enterprise Edition) for on-demand development.
"I think of a development environment providing three things: database, middle tier and GUI. In all three areas, Salesforce needs to evolve the power of their platform," said Glen Weinstein, founder of integration and development consultancy Appirio, and a former Borland Software developer. "For example, they do provide a database, but the query capabilities and update capabilities in Salesforce are limited. In middleware, they need workflow to trigger more events. The same is true with the GUIthey need more types of buttons and wizards."
The Apex platform itself (which enables users to build multi-tenant or shared-infrastructure applications) offers a feature set for building all sorts of different application components: data models and objects to manage data; a workflow engine for managing data collaboration; and a user interface model.
More importantly, according to Salesforce.com officials, Apex can be used to build complex applications like ERP (enterprise resource planning) as well as intelligent applications such as yield management.
Using Apex, developers can also customize their Salesforce.com apps, or reprogram any component of Salesforce.coms CRM (customer relationship management) applications.
"The arrival of Apex heralds a new era in which all application categories will be available on demand," said Marc Benioff, Salesforce.coms CEO, during a Jan. 16 keynote address introducing the companys Winter 07 release, which includes the Apex platform. "By making the Apex platform and programming language available, Salesforce.com is enabling the ecosystem to lead the way for the next level of innovation in on demand."
The Apex technology will, if it takes hold, propel Salesforce from an on-demand CRM supplier into the realm of platform provider.
Appirios Weinstein believes that what Salesforce has today is "very appropriate" for developers. "Its a matter of more and more incremental capabilities," he said. But the cost of those services is still in questionand its a key point for ISVs [independent software vendors] looking to build a business around Salesforces platform.
"We are looking for the business model," said Bill Emerson, an officer with ForceAmp LLC, a Salesforce.com partner that develops add-on tools for CRM applications. "We like the innovation and technology
were part of the [Apex] beta. Now we need to see the other elements of the business to see if its viable: the per user infrastructure cost and what we can add on top of that to sell to customers."
Emerson said he is anxious to evolve his business with a line of applications that may or may not tap Salesforce.coms CRM data.
"The key thing is going to be the cost of infrastructure," said Emerson, in Denver. "If we want to sell something at $65 per month per user, what do we have to pay Salesforce? If we have to pay $60 to Salesforce, then it doesnt work."
Partners have said they expect pricing from Salesforce by this summer.
Lou Fox, chief architect at BlueWolf Group, an enterprise consulting company and Salesforce implementation partner, said he has a number of customers looking to Apex as a general development environment, beyond CRM (practically a mission statement for Salesforce). He said he believes its not a far stretch that Salesforce will compete with .Net or J2EE in the future, but there is a limitation the company needs to address, namely its branding.
"[Apex] is not white labeled. Its going to say Salesforce on it when it creates [an application]," said Fox, in New York. "Who ever uses it is going to have a license fee when they use it. And Salesforce is going to keep branding and charging for the brand."
Fox explained that when a Web site is built using .Net or J2EE nowhere on the site does it say, made by Microsoft, or made by Sun. Nor are users charged every time they click on that site. As it stands now, thats not the case with Salesforce development. "That matters to our clients," said Fox.
As one of Salesforces largest system integrators with a mainline into customers who may also consider Apex as a development platform beyond CRM, Fox said he is looking for Apex to have the same level of development tools that he would find with Java. "Theyre starting to build that out, but its not as rich as I would like it to be," he said.
One challenge for Salesforce is going to be educating users that Apex can be used for development beyond CRMparticularly given that its name is nearly synonymous with CRM as a service. But the company has added some new functionality with the Apex codetransactional control that will make its story more viable amongst developers, according to ForceAmps Emerson.
"Until they introduced the ability to have this transactional code on their server, I didnt think their story was a very good story," he said. "The applications we would be interested in developing need that basic ability."
While there have also been some questions among developers about the proprietary nature of Apexsuch as, "Does the world need another proprietary language?"there are those that believe it doesnt matter at this point, given the dearth of competing on-demand multi-tenant development environment.
"Salesforce doesnt have to build a better language, there are already nine or ten sitting out there," said Narinder Singh, co-founder of Appirio, in San Francisco. "If youre at SAP and you have to write ABAP [Advanced Business Application Programming], youre going to have to write that for every single customer. Salesforce gets a lot of free rides [from multi-tenancy]
others are stuck in one customer at a time."
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.