Data binding offers some interesting advantages to both the Web developer and the end user. One of these advantages is reduced reliance on remote servers for data updates and manipulation. To understand this, let's look at an example of a Web site that lists herbs and their uses to examine how data was processed and accessed by the Web user before the advent of data binding.
Since Web sites built around databases are becoming common, let's assume that all of your herb information is stored in a database. If a user wants to see all the herbs on your site sorted by their common names, the user makes the request, usually through an HTML form. The server then retrieves the requested information from the database, processes it using some sort of server-side technology such as Microsoft Active Server Pages (ASP), Common Gateway Interface (CGI), or Internet Server API (ISAPI) scripts, creates a Web page out of the information, and sends the newly created file back to the user's browser.
Generally, any additional user requests require more trips back to the server. If, for example, the user wants to see the same herbs sorted by their botanical names, he or she would have to submit another request and the whole unwieldy process would start over again. This time-consuming and inefficient procedure not only burdens the server with hundreds or thousands of requests at one time (depending on how popular the Web sites it serves are), it also adds to the already heavy Internet traffic.
Data binding significantly alleviates this congestion by sending the necessary underlying data directly to the user the first time a request is made and manipulating it in response to subsequent requests by using a DSO on the Web page. Another advantage of this process is that the Web developer can give the user as much, or as little, control over the downloaded data as desired. For example, the developer can allow the user to sort, filter, or otherwise change the view of the original data without returning to the server (unless a completely different set of data is needed). You might expect that this initial downloading of large amounts of data would take a great deal of time. However, because Internet Explorer loads the data asynchronously—that is, it starts to display and render the page as soon as there is enough data to do so—the user can interact with the Web page before all the data is available.