Working together on the Web is easy. Simply start editing a document using Office 2000, then save it to a previously created Web Folder using the File, Save dialog box, every Office 2000 application has a button for Web Folders in the lower left-hand corner of all file dialog boxes. Click on Web Folders, select the Web Folder for the specific collaboration, and then enter a name for the document. A few seconds later, the document will be saved to the Web Folder. Next, close the application, then contact your collaborator and give him or her the URL of the Web Folder. The collaborator should create a Web Folder on his or her local machine, and then open the document from this Web Folder. Locking on the server prevents you from overwriting each other's changes.
Under the hood, Web Folders employ a programming interface called the OLE DB Provider for Internet Publishing (for information, visit msdn.microsoft.com/library/sdkdoc/ipubsdk/ipub01_8kf6.htm), which maps requests made via the user interface into network protocol requests. Web Folders use either the IETF standard WebDAV protocol or the Microsoft FrontPage protocol to send Web Folder requests across the network to a remote server. When a Web Folder first contacts a Web server, it goes through a discovery process to select which protocol to use.
The first step in the protocol discovery is sending an HTTP OPTIONS request, the standard feature-discovery mechanism for HTTP. If the response contains the MS-Author-Via header (a nonstandard header) with the value MS-FP/4.0, it will use the FrontPage protocol; if it has the value DAV, it will use the WebDAV protocol. If the MS-Author-Via header is not present, Web Folders loads the FrontPage protocol driver (called the Web Extender Client, or WEC), and asks it if it can talk to the server. It does this by sending a GET /_vti_inf.html, followed by a POST /_vti_bin/shtml.exe/_vti_rpc (the _vti is a leftover from FrontPage's early development by a startup called Vermeer Technology). If the server responds incorrectly (such as with a 404 Not Found message), Web Folders next checks for WebDAV support by sending a second OPTIONS request. This time, if the DAV (a header all WebDAV servers must implement) is present, Web Folders will begin using WebDAV.
When you load a file from a Web Folder using Office 2000 against a WebDAV server, Office will send out the following protocol requests. First, it sends a WebDAV LOCK method request to lock the remote resource, asking for a short-duration, two-minute exclusive write lock. Next, Office requests the contents of the file using GET. Web Folders uses HTTP caching, so if the contents haven't changed on the remote server since the last time the document was requested, Web Folders will use the cached copy. Office makes a local, temporary copy of the downloaded resource, and then allows editing to begin. Automatic saves go to the local copy, but hitting the save button causes the document to be saved back to the Web server, using the PUT method. When File, Close is selected, the document is PUT back to the server, and the lock is then released using the WebDAV UNLOCK method.
Office 2000 refreshes its locks every two minutes by sending a LOCK request. While this short-duration lock strategy ensures that resources won't be tied up if the locking application dies, it does prevent disconnected editing, and adds to server load. If the resource is already locked when the first lock request is made, Word and Excel will give the option to open a document as read-only, and receive a notification when the document is unlocked. Since WebDAV doesn't provide an asynchronous notification mechanism, Office checks the lock status by polling the resource with LOCK requests. When the lock request finally succeeds, it notifies the waiting user.
Dig deeper into Rational software on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Experiment with new directions in software development.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.