Software as a Service

Possibly this is one of the most interesting aspects of .NET. The key concept of software as a service is that software is no longer just a "thing" that you install and then sits statically on your computer. Rather, it becomes a subscription service, much like cable TV or your ISP is.

Example: word processor

The "classic" example of an application to benefit from the software as a service model is your everyday word processor. As word processors gain more and more features over time, they become bloated (witness Micrsoft Word's evolution). Many features are oftentimes added to satisfy the needs of a small section of the user base, and thus ensures their loyalty and also more appealing to a larger audience. However, the vast majority of the users don't need that added feature. It is just wasted space. And more importantly wasted money - added features drive up and keep up costs of the application.

By making the word processor a service, a user would choose what functionality they want. The user pays for the core features they want, and installs only those components. However, should they require a certain advanced function infrequently, they can, on demand, install/uninstall and pay for it when they actually use it. Thus, the user ends up pay much less for an application, gets exactly what they want, and only have to pay extra if they use extra.

Alternatively...

An alternative model is also possible. The described model has the software running on the user's machine. However, nothing stops the software from living on the Internet, possibly interacting with data on the user's machine or else with user data on the Internet. The user might only need a light-weight front-end that communicates with a high-power back-end. The web-service model ensures that the back-end could be upgraded without affecting the front-end.


References: F