Microsoft SharePoint Portal Server: Building Knowledge-Sharing Applications

Writing Web Parts that integrate information from workspaces or, indeed, writing stand alone applications that exploit the store requires a sound understanding of programmatic data access.
There are multiple components in the data access model, and many factors will influence the ones you use. In this chapter we take a close look at the various components, highlighting the differences between them and suggesting the environments in which they can best be used.
The method you use to access data will depend upon many factors, including where the data is located within the store, what you intend to do with the data, what type of data you are accessing, the clients that will consume the data, and where the application code will run in relation to the physical location of the data. In addition, available skill sets and code maintainability will also influence your decision. Whatever you do, you should always use the documented object models to access data in the store as this ensures forwards compatibility.
Although you can basically achieve the same ends with most of the access methods, some are more suited to particular requirements than others. For example, if your goal is to access data that is subsequently displayed to a client via a browser, then the best method would be WebDAV via the XMLHTTP object...