My first article is dedicated to clarifying the differences between platform and application. As I’ve been gathering information and researching about software as a service, I’ve been raising questions about what the companies promoting the idea or trend and those who point to the cart and add terminology, label the software as a service and the platform as a service.
For example, Salesforce is an on-demand CRM, and in many articles or blogs, salesforce is mentioned as the most used on-demand platform in the world. But isn’t salesforce a CRM? and therefore, isn’t salesforce an application and can it be considered software as a service? If we want to mess up the situation a bit more, it turns out that Salesforce has just launched the force.com platform that allows Salesforce users to use other applications developed by third parties, either service companies or independent developers (although salesforce has actually been offering operational applications other than its CRM since 2006). Therefore and always under my personal opinion:
What is a Platform?
It is all hardware and/or software support that the applications use in and for their execution.
What kind of platforms can we have?
Computing. It is one or more machines with operating system that offer processing for the execution of applications.
Storage. These platforms are usually used by applications in their execution and there can be two types of related storage (Database) or unrelated (Disk for file storage).
Execution of applications. They are necessary platforms for the execution of one or several applications.
Of course, we can have the combination of some or all and generally is what usually happens. A clear example is the platforms resulting from the known and used MVC model where we have platforms for computing, storage and execution of applications to support the architecture.
What is an Application?
An application is a type of computer program designed to facilitate the user the accomplishment of a certain type of work. And in our case, in addition the applications use the platforms in and for their execution.
Once the terms and concepts have been defined, we put our feet on the ground and I wonder: Is the word platform really used to refer to a single, or the combination of several or all at once? Well, at least I don’t and I’m referring to the platform for the most outstanding service it offers me. For example: When we talk about databases we can refer to a storage platform although in reality we know that behind we have a computing platform or when we talk about an application server, we can refer to a platform for the execution of applications when in reality we know that behind we have a computing and storage platform.
But I am sure that even so we will have problems to classify applications and platforms depending on the service they offer and we will see, learn and correct as we go into the world of applications and platforms as a service.