WebProj -- A Web-Based Project Management Application

written by Francis Chan


Introduction

The Internet and World Wide Web has evolved into more than just a communications medium or static publishing. With a broad user base and the maturity of Internet and networking technologies, it is emerging as the platform for wide-area collaboration. However, many challenges and obstacles factor in into the viability of such a platform. These include a rich set of applications, a "secure" transaction and storage data model, efficient communications protocols and supporting infrastructure applications.

The development of WebProj system contributes to a number of the aforementioned aspects. WebProj is a Java-based project management application that helps manage the flow, collaboration and administration of projects, with an emphasis on electronic design, that are performed by people over the Internet. In the application aspect, besides facilitating project management, WebProj also provides a common working environment which facilitates wide-area collaboration. In the client/server aspect, it acts as an active driver of requirements and capabilities in both the Java client object management and data server ends.

Functional Description

Functional description of the different components of the system.

Users can access the WebProj system either as a Java application or as an applet running through a Java-enabled network browser. A registered or new user can log on to the application environment via a Profile window. After filling in the fields of the Profile window, a password window will prompt the user for a password. The password is compared with the corresponding Member object in the back-end data server. (If it is a new user, the information will be used to create a new Mmeber object.) After the verification process, the profile is saved and a e-mail is sent to the administrator indicating that a login has occurred. The main window of the application will then appear, allowing the user to create new projects, updating existing projects, etc.. Through a database dialog window, the user can access desired additional information (i.e. members, projects, etc.) as allowed by his/her permissions.

Technical Description

The development of this application involves taking advantage of the many features and library provided by Java. These include the AWT classes for the graphical user interfaces, networking technologies for the messaging system and the PersistentObject package for object manipulation and communication with the data server.

High-level module interaction and organization.

User Interface Components

Pert Chart Editor

The Pert Chart metaphor was chosen for project representation because it is intuitive and it can be understood and manipulated easily. It is also a good model for future extension to workflow.

  • The user can edit (add, delete, move) different entities (Task and Path) in the PertPanel. Coloring and other visualization schemes can be applied to offer more information to the user.
  • The user can represent the workflow and time requirements of the project in the form of a PERT chart.
  • More advanced feature such as critical path analysis maybe implemented.
  • A messaging system can be incorporated to inform users of events in the workflow with electronic mail. It can also be used in other areas, such as login, audit trail, scheduling, etc..
  • Profile Window

    Profiles can be viewed as a web-based time-cards. A new version of a user's profile is saved every time the user logs on to the system. The information that the profile contains can be used by project managers and members to track project progress and member information.

    Password Window

    Prompts the user for the password corresponding to the login id. It handles user session administration by first connecting to the backend server and performing the verification process. It then uses the login id to set up the context (which may contain permissions, views, etc.) for future operations.

    Main Window

    Main workspace of the user. He/she can create and edit new projects as well as browse through and search for projects and profiles that he/she have the permission to access.

    Project/Task Window

    It allows users to enter project attributes of the project.

    DB Browser

    Dialog box which allow users to traverse the data server directory structure.

    WebProj Application Snapshot.

    Data Components

    The (Persistent) Objects that are used in the WebProj system include, Member, Project, Profile, Task and Path. A description of their uses and contents/fields are as follows:

    Persistent Object Package Usage

    This application uses extensively the features provided by the PersistentObject package. A table that pinpoints the demonstrated infrastructural capabilities is followed.

    Activity

    Infrastructure Capability Displayed

    Loading from WWW-CAD.eecs.berkeley.edu
    (web server theseus)
    with data server at
    yoyodyne.eecs.berkeley.edu
    Proxy Server
    Password Verification Loading Objects
    Query
    Saving Profile (during log in) Saving Object
    E-mail Notification (during log in) Messaging through e-mail
    Opening Project Database Browser
    Directory Structure Traversal
    Attachment Traversal

    Future Extensions

    The workflow system, which currently comprise mainly of a report/messaging system can be extended to a CAD-oriented workflow manager with the development of file/object transfer format, server-to-server communications protocols, and an increase in the number of applications supported by the WELD group. A standard API should also be developed to enable Java tools as well as legacy tools to be invoked by and linked into the system.

    With the extension of Java client object versioning capabilities, a software configuration management system can be built. This is especially important in managing the files or data, especially those that are frequently updated of have versions scattered across the net in different data servers.

    Policies and visualization techniques that allow dependencies among data and members in the environment to be easily traced and managed could be developed to enhance the wide-area collaboration aspect of this application.

    Data transfer and network communications protocols (possibly following closely to the JavaClient-OODBServer protocol used in the PersistentObject package) will also be developed to support the messaging and workflow management system.

    Database capabilities such as indexing, storing, table look-up, queries will be used for user profile operations. Inherent database features, such as replication, for distributed data management will also be explored.

    Scheduling functionality can be incorporated into personal profiles by integrating with other Java packages. These may include calendar and personal organizer functionality as well as meeting proposals.

    References

    The Mythical Man-Month p156

    MS Project (May be too elaborate/powerful. A web-based application should seek a balance between useful features and complexity.)


    Modified: January 5, 1997
    Feedback: (fchan@eecs.berkeley.edu)