When we think of developing modern applications on the Web, it's hard not to think of web services in some fashion.
Many websites today fall under the moniker of "Web 2.0". Web 2.0 means different things to different people, but one of the major features of Web 2.0 was the use of Asynchronous JavaScript and XML (AJAX). This basic design means that after a particular "page" was served up to a browser, portions of the page were requested and downloaded out-of-band with the rest of the page. This meant the browser would actually download content asynchronously, allowing the user to interact with the page while some of the content was being downloaded. This also means that interaction with a page did not require the entire page to be re-loaded when that interaction affected the look or content of the page.
While AJAX basically meant that snippets of JavaScript were downloaded and executed in the browser to update content or the look and feel of...