WebProj

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.

A user may access the system running WebProj as either a Java application, or as an applet through a Java-enabled network browser. A registered or new user can log on to the application environment via a Profile window, which is the starting point of the application. A password window will then prompt the user for a password, which will be used for verification with the corresponding information stored in the Member object in the backend data server. After the verification process, the main window will appear, which gives the user access to the information (members, projects, etc.) that he/she has permission to as well as the capabilities of creating a new Project, updating existing project, etc..Data Components.

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.

    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:

    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

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


    Modified: December 10, 1996
    Feedback: (fchan@eecs.berkeley.edu)