Recently, the idea of web services has been extended with the concept of software as a service (SaaS, also known as Software plus Services, or S+S), which involves accessing applications directly on the Internet. Rather than use a large application installed on a PC, with SaaS you use a smaller application, or thin client, and subscribe to functionality on the Internet, usually for a subscription fee rather than a one-time charge. There are a number of advantages to this, not the least of which is that functionality can be kept up-to-date without users ever having to install patches or updates. Of course, this also requires an Internet connection, so the model is not perfect yet, as connections can still be intermittent — especially for mobile devices.

With cloud computing, the applications you use, along with the data consumed by those applications and any functionality that links those applications to other applications, is all accessed remotely. You can even save your data to remote file stores rather than to local storage hardware. The advantage here is that there is a reduced dependency on the device being used. In some cases, such as when using a web browser as a client, there might be very little dependency on device hardware.

In practice, cloud computing is still a work in progress, although it's developing fast with systems such as Microsoft Azure arriving to assemble cloud applications. However, one of the most well-defined parts of cloud computing ...

Get Beginning Windows® Phone 7 Application Development: Building Windows® Phone Applications Using Silverlight® and XNA® now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.