Programming framework supporting the rapid application development of highly-interactive, collaborative applications

Business team collaboration in the future will increasingly take place in an environment where everything is potentially distributed. Traditional group support systems have been LAN-based and have not ported easily to distributed, Internet-based products. Rather, distributed group support systems...

Full description

Bibliographic Details
Main Author: Albrecht, Conan Carl
Other Authors: Nunamaker, Jay F.
Language:en_US
Published: The University of Arizona. 2000
Online Access:http://hdl.handle.net/10150/558708
Description
Summary:Business team collaboration in the future will increasingly take place in an environment where everything is potentially distributed. Traditional group support systems have been LAN-based and have not ported easily to distributed, Internet-based products. Rather, distributed group support systems require new architectures if they are to support the same type of real-time, high-collaboration environments that traditional systems have. This dissertation describes the development of a server architecture and programming model to support the rapid application development of real-time, distributed, and collaborative applications. Since the efficiency, robustness, and scalability of these applications are handled by the server, complex applications can be developed in very short production cycles. Background literature presented in the dissertation includes a taxonomy of distributed networking and data sharing methods, models of dialog independence, and messaging methods. Many different prototype and real systems are presented, analyzed, and compared with the Collaborative Server in this dissertation. The Systems Development methodology is applied to this research domain. A prototype system-the “Collaborative Server”-is developed, including a unique data persistence and replication scheme based upon a central Property object. Properties are created in hierarchical trees to form the “scaffolding” for collaborative applications. Each Property governs a single value, or datum, and controls the access, replication, security, viewing, locking, and persistence of its value. Properties are layered with predefined or custom child indices. A new systems development methodology, based upon the Waterfall method but tailored for the Collaborative Server, is presented. The efficiency and effectiveness of this methodology is analyzed using a simulated example and two case studies. The research contribution of this dissertation is the Collaborative Server. The basis of this server is the Property concept, including the methodology changes it effects, the efficiencies and application stability it produces, and the specialized messaging system it allows. Required programmer knowledge is significantly reduced when applications are built upon the Collaborative Server. In addition, the presented examples and case studies show significant decreases in code size and in time-to-market for their respective applications.