I was interested in today’s announcement of a new Force.com for Google App Engine. App Engine lets you build Python or, since April 7th this year, Java application and run them on Google’s servers. Salesforce.com already offered Python libraries for its Force.com platform, but these have now been joined by Java libraries which are more complete:
The Java toolkit supports the complete Partner WSDL of the Force.com Web Services API. All operations and objects are included in the library and documentation. If you are a Java developer, you can also leverage the Java resources found here.
whereas the Python toolkit only supports “many of the key Force.com Web Services API calls”. I suspect the Java toolkit will have more impact, because it is the language and platform many Enterprises already use for application development.
On the other side, there is also a Google Data API Toolkit for Force.com.
Why is Salesforce.com cosying up to Google? The way I see it, there is an emerging cloud stack and vendors need to be part of that stack or be marginalized.
What’s a cloud stack? You can interpret what the expression means in various ways. Sam Johnston has a go at it here, identifying 6 layers:
There isn’t a single cloud stack, and all parts of it are available from multiple vendors as well as from open source. It is a major shift in the industry though, and there is no reason to think that the same vendors who currently succeed in the on-premise stack will also succeed in the cloud stack, rather the contrary. You could describe the RIA wars (Adobe Flash vs browser vs Silverlight) as a battle for share of the client stack, for example, and one in which Microsoft is unlikely to win as much share as it has enjoyed with Windows.
By positioning itself as a platform that integrates well with Google App Engine, Salesforce.com is betting that Google will continue to be an important player, and that it will pay to be perceived as complementary to its platform.
A factor which holds back Force.com adoption is that it is expensive. Developers can experiment for free, but rolling out a live application means subscriptions for all your users. Getting started with App Engine, on the other hand, is free, with fees kicking in only after you have succeeded sufficiently that you are generating substantial traffic (and hopefully making or saving some money).