Adding the phrase “as a service” to your offering seems to provide an instant credibility boost nowadays: software as a service (SaaS), security as a service, service as a service () and so on. So it’s easy to be cynical when encountering Salesforce.com’s development as a service (DaaS) offering. But in truth, their “Force.com” DaaS offering is much more than just marketing spin, and could represent a significant innovation in software development techniques.
Salesforce.com is of course one of the pioneers of SaaS - they changed the landscape of ERP and severely disrupted Siebel by delivering the first significant hosted CRM application in 1999.
Salesforce.com has enabled customers to host customized applications on the same platform that hosts their CRM application - which they describe as “platform as a service” (PaaS). More recently, they have extended their platform to allow for true DaaS capabilities. While PaaS provides application developers with a host platform, DaaS allows developers to build, test and deploy these applications using tools provided within the platform.
The Force.com platform excels at quickly developing relatively straightforward data-driven applications. The application developer typically defines the database schema first. Force.com then generates default data entry and query screens based on that schema. The user can customize these screens by editing the generated HTML - which includes Force.com-specific tags that provide access to the rich capabilities provided in the platform.
When the HTML approach runs out of steam, or for complex business logic, developers can implement logic in the APEX scripting language. When the Web interface becomes insufficient for complex code editing, the developer can move to the Eclipse-based Force.IDE.
The development experience is reminiscent of the highly productive Ruby on Rails environment: initial “scaffolding” data entry reens appear rapidly and the underlying application conforms to the model-view-controller (MVC) pattern. I’m sure Ruby evangelists could highlight many technical advantages of Rails, but Force.com has the killer advantage in that almost all of the effort involved in deploying the application to a production platform is eliminated.
Version control, test environments and collaboration tools are provided. Additionally, applications deployed in Force.com are “multi-tenant”: multiple users can simultaneously run copies of the application in complete isolation if required.
There’s a lot to be said for the Force.com approach. Anyone who has tried to develop even a simple Web-based application knows that the application development challenges can be minor when compared to deployment and production considerations. Force.com provides a productive application development environment, but the real value is in the elimination of almost all the setup, deployment and production support overhead.
In the 1990s, a vibrant community of small Independent software developers - now commonly referred to as micro-ISVs - made a living providing utilities and packages based on Visual Basic and similar graphical development environments. In today’s world, the demand has shifted to Web-based solutions and consequently the types of applications that were traditionally provided by the micro-ISV are now the domain of platform vendors such as Google. It’s simply too hard as a small company to provide a viable software as a service offering. If a Force.com-style offering was available to developers of consumer-oriented software, it might result in a renaissance of the micro-ISV.
About the Author
Guy Harrison is a chief architect for database solutions at Quest Software, and is a recognized expert with over 15 years of experience in application and database administration, development, performance tuning and project management. Harrison is the author of Oracle SQL High Performance Tuning (Prentice Hall) and MySQL Stored Procedure Programming (O’Reilly), and is a regular speaker at trade shows and events More about Quest Software can be found at www.quest.com.