Client - Server ModelA Lesson by Edgar A Stonehill
A Summary of the Client - Server Model and how it applies to a writer's revisions
In general the Client - Server Model is a model for sharing information between 2 or more computers. The model applies to several applications, including the entire world wide web.
The wikipedia article can be viewed here.
Personally, I draw parallels between people and banks. The client goes to the bank (the server) to make a transaction, and returns the results of that transaction back to his home.
A more accurate parallel, would be if you considered yourself a client of your linen closet, and your linen closet's sole purpose is to serve you (linens). So when you are sitting on your couch reading uncomfortably because you are cold, you go to the closet, get a blanket and return to the couch.
Applying this to websurfing: you click on a link in your web browser (the client) and a request is sent to another computer running a program called a "web server". The server then sends the client the information requested.
Hopefully you get the idea how the model generally works. If anyone else would like to contribute analogies, please leave comments.
The next step is to apply this model to version control.
In essence, the server stores the documents and all changes to them in a repository. When edits are needed the client requests the most current copy of a file or folder in a process called checking out. These files are revised as needed and the changes are committed to the repository.
When changes are committed the writer has the option to leave comments about the changes made. The changes can be reviewed by reading a corresponding log that can be generated for every file in the repository.
Additionally files can be tagged with a name. Which means that a group of files can be checked out by requesting the tag name. This would be useful if you have a book that has chapters distributed across several files. After each revision of the entire book the author can tag the chapters.
When files are checked out, there are usually administrative files that the client uses to store information that will be shared with the server. Exporting only the files used by the writer is an alternative to checking out. Consequently, none of the features of version control software can be used on the files that have been exported.
In a repository that has multiple authors, the client can request that the local file be updated with any changes that have been committed to the repository by other authors. There is also the option to lock files that have been checked out.
One of the beautiful advantages of the client-server model is the ease of backing up. Since all the work is consolidated to a repository, you can easily create a zip file of the repository. Additionally, since only the changes are increasing the file size it makes the content smaller and faster to back up.
For the purposes of this course I will assume that there will only be one author. Additionally, I will assume that the client and the software will be installed on the same computer.
There are several types of version control servers. The two most popular ones that are available for free are 1) CVS and 2) Subversion. Both will be briefly reviewed in the following lessons.
Added on February 11, 2010
Last Updated on February 20, 2010
Edgar A Stonehill
AboutMy work is self published in booklets . Each week a new piece appears on my website http://edgarastonehill.com If you are interested in obtaining a copy of one of these booklets please send me a m..