NC State University
Department of Computer Science Colloquia Series 1998-99
Date: Thursday, April 29, 1999
Time: 3: 30 PM (refreshments), 4:00 PM (talk)
Place: Withers 402A, NCSU Historical Campus
for courtesy parking request)
Franc Brglez, Computer Science, NCSU
Class Experiences in Writing Collaborative
Client/Server Applications for the Internet
The class brought together a team of seven students, each with
some programming experience under UNIX, WindowsNT, and MacOS.
The class expectation was that each student will have the
opportunity to learn sufficiently about the rudiments of Tcl/Tk
programming during the first few weeks of the course so that the
remainder of the course could be devoted to a major joint class
project that will apply and extend the principles of
client/server programming under Tcl/Tk -- as now described in the
A specific definition of the collaborative project itself molded
An entity with distributed participants, distributed data
sets and libraries, distributed tool sets and libraries, and
objectives to be met by completing well-defined sequences of
tasks -- assigned by the the project leader, and subject to
collaborative project activity and reviews.
The benefits of making Tcl/Tk the rapid prototyping language of
choice for this class project cannot be overstated. Without it,
the scope of the class project would have been reduced
significantly. The major milestones are:
- proficiency in Tcl/Tk that allowed each student to manipulate
data and widgets, apply socket programming principles, and create
a progression of client/server applications, from simple textbook
cases to features that are unique to the class project.
- a unique client/server architecture prototype, partitioned
into an Asynchronous Group Server (AGS) and a Synchronizing
Group Server (SGS) -- driven by and matched to the stated
concept of a collaborative project.
- a universal AGS server that support any number of
user-configurable AGS clients (accessible through a Web-browser
from a Mac, Windows, or UNIX platforms) -- configured for
(1) collaborative document composition project, (2) collaborative
Tcl/Tk debugging and compilation environment, (3) collaborative
- experimental prototype of an SGS/AGS server and client
architecture, giving the participants the power to re-configure
the stand-alone client into a situation-specific collaborative
client -- obviating the need to re-write the stand-alone client
for a specific collaborative application.
See the home page.
Colloquia Home Page.