The ServerDocument object model was primarily designed to enable server-side code to edit the contents of the data island before serving up a document, but it does much more. You can use it to read or write the data island, and to add customization assemblies to uncustomized documents. However, the latter requires ServerDocument to start up Word or Excel, so it is a bad idea to do this on a server. Chapter 20 examines another use for the ServerDocument: editing the deployment information inside a customized document.
The ServerDocument object model provides fine-grained control over the information stored in a document, and assumes that you know what you're doing. Be very careful, and test your scenarios thoroughly when using the ServerDocument object model.