Network Programming Test #2 - Network Service Design

Internet Based Shared Drawing Program

Due Date: December 9th.

This take-home test includes 2 parts, your answer to each part should take no more than 1 page.


Groupware: The term "groupware" is typically used to describe software that is designed to support some type of collaborative activity. Early forms of groupware (although not known at that time as groupware) included systems that supported project management for large software projects and for scheduling resources such as computers and conference rooms. Today "groupware" supports a variety of activies including:

Groupware 'R' Us: Your team at the software giant Groupware 'R' Us has been given the task of designing a new groupware product to support a group of architects working on a collaborative design. All of the architects have computers and are connected to the Internet. The primary tool they need is a shared drawing program that will support brainstormng sessions as well as to provide a formal system through which all changes to documents (drawings) can be tracked.


Part 1: Since you are the network expert on your team - your job includes the design of the network software on which this system will operate. You need to create a 1 page report that outlines your strategy for deploying this software and addresses the following issues:

  1. high-level list of the functions or services that need to be provided.
  2. overall architecture for the system (Client/Server vs. Peer-to-Peer vs ?).
  3. what type(s) of transport layer should be used .
  4. develop the structure of application level protocols that will support the service.
  5. provide an overview of any implementation issues that are important (for example - should a server be concurrent or iterative?).

NOTE: Make sure you consider that this service will operate over the Internet, not over a LAN.


Part 2: After you have painstakingly developed the report for part1 and submitted it to your boss, you have been told that the Vice President of BuzzWords (VPBW) has proclaimed that all new software development must be based on CORBA. You must now create an additional proposal to reflect this new policy. Prepare a 1 page addendum to your original proposal that discusses the following issues:

  1. how using CORBA will change your overall design.
  2. software required by the first proposal that would no longer need to be developed (if any).
  3. addtional software (if any) that is required only for the CORBA version.
  4. specific CORBA features and services that will improve/diminish the quality of the product.
  5. a high-level plan for using this CORBA based software as the basis for other groupware products, for example to support corporate communication or workflow routing.

NOTE: Yes, make sure you use as many buzz words as possible, but keep in mind that the VPBW has a technical assistant (Roddy 'Corba Collins) who is in charge of detecting BWA (buzz word abuse).