George Mason University
DEPARTMENT OF COMPUTER SCIENCE

CS 707 Distributed Software Systems

Spring 2000

Monday 4:30 - 7:10 pm, ENT 275

Prerequisites | Description | Readings | Syllabus | Grading | Lateness | Home Page

This page last updated on Jan 12, 2000



Professor Sanjeev Setia
703-993-4098
setia at cs.gmu.edu
(Please prefix the subject of your email with CS 707.)

Course office hours: To Be Announced
Sci &Tech II Room 347


PREREQUISITES :

CS 571 (Operating Systems) , CS 706 (Concurrent Software Systems)
and knowledge of C and/or C++ and/or Java.
NOTE: If you do not have these prerequisites, you need my permission to take
the class


DESCRIPTION :
The class focusses on the design and implementation of distributed applications using various middleware technologies such as TCP/IP sockets, RPC, and CORBA. Issues that arise in making distributed applications secure and reliable will be discussed.


READINGS:
Unfortunately there is no single textbook that covers all the material that will be discussed in this class. Here are some recommendations for books on specific topics. Class notes will also be provided as necessary.

Sockets

  1. D. Comer and S. Stevens, ``Inter-networking with TCP/IP Vol III: Client-Server Programming and Applications'', second edition, Prentice Hall, 1996.
  2. Merlin Hughes, Conrad Hughes, Michael Shoffner, Maria Winslow. ``Java Network Programming'', Manning Publications Co., 1997.
  3. Stevens, W. Richard, ``Unix network programming'', Prentice-Hall, 2nd Edition, 1998

The examples in books (1) and (3) above are in C, whereas book (2) focuses on Java. There are probably several other books available on Java network programming. You will be free to use either Java or C or C++ for the programming assignments in this class, so you should probably buy a book appropriately. Book (1) above is more like a textbook, whereas book (3) is a reference text with more information on sockets than any book ever written.

CORBA

  1. R. Orfali and D. Harkey, ``Client/Server Programming with Java and CORBA'', J. Wiley, 2nd Edition, 1998.
  2. M. Henning and S. Vinoski. ``Advanced CORBA Programming with C++'', Addison Wesley, 1999.

Book (2) above covers CORBA in much greater depth than book (1). The examples are in C++.

Designing Distributed Applications

Some of the material in these books is useful for this class

  1. G. Andrews, "Foundations of Multithreaded, Distributed, and Parallel Programming", Addison Wesley, 1999.
  2. K. Birman, "Building Secure and Reliable Network Applications", Manning, 1996.
  3. Coulouris, Dollimore, Kindberg, "Distributed Systems: Concepts and Design", Addison Wesley, 1996
  4. Andrew Tannenbaum. ``Distributed Operating Systems'', Prentice-Hall, 1998.
  5. Amjad Umar, ``Object-Oriented Client/Server Internet Environments'', Prentice Hall, 1997.

SYLLABUS:

The following topics will be covered:

  1. Distributed systems, computer networks, concurrent programming (Review)
  2. Design and Developing Client/Server applications
  3. Middleware technologies
    1. TCP/IP Sockets
    2. RPC
    3. CORBA
    4. (If time permits) JINI, Javaspaces, Javabeans
  4. Issues in the design of scalable, reliable distributed applications

GRADING:

There will be two or three programming assignments involving the development of a distributed application using various middleware technologies, e.g., sockets, CORBA/RMI, etc. In addition, there will be a project for which you will be free to use any middleware technology. The software required for these projects is available on the computers in the SITE Lab.

The class project will be relatively large and may be done in a group of two. Each member of a group is expected to contribute equally to the project in order to get the same grade. 70% of the course grade will be based on these projects. In addition, there will be a mid-term exam in March worth 15% of the grade. The final exam will account for the remaining 15% of the grade. (The final exam may be a take-home exam; this decision will be announced in April)


LATENESS:

The late submission policy is as follows: projects will be marked down 25% for each late day after the due date.


CLASS HOME PAGE:

Class notes, slides, handouts, etc. will be available at the class home page.

Back to the top.