Sunday, March 29, 2009

Force.com thoughts, 2nd part

This is a short follow up to a previous post about Salesforce.com (SFDC) development platform. The more I work with this platform the more impressed I become: SFDC is fantastic. I have talked about their documentation and support in the past. Well, their technology is quite impressive as well.

The force.com platform has been built on a very consistent and predictable multi-tenant architecture. A highly efficient one by the way. Reports indicate that all of SFDC runs on 1000 mirrored servers, that is a total of only 500! This is quite remarkable.

Their development environment has all the features an enterprise developer can ask from a cloud provider. SFDC uses Visualforce Pages to render GUIs. These pages use a proprietary markup language that is quite similar to other frameworks like Django. By using this framework they enable/enforce a mainstream and efficient Model View Controller design pattern.

In addition to the Visualforce pages, SFDC recently added APEX, a Java based scripting language for data manipulation operations such as triggers or traditional stored procedures in relational databases. Java developers should feel right at home with APEX, it is strongly typed and the syntax appears identical to Java. APEX supports inheritance, unit testing and access to web services. Some other operations are restricted for security reasons; very similar to Google's approach with the AppEngine and Python's libraries.

Finally, the integration and customization features of SFDC are very useful and easy to use. Objects can be extended with new attributes, users can have different security profiles that apply specific privileges to different applications, custom applications can be packaged, managed and published with just a few clicks and their security requirements should put any corporation at ease. A winner all in all. What I find most impressive is how easy it is to see how all of these features are really customer driven.

Salesforce.com is definitely a role model for any other aspiring Cloud company.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.