22 research outputs found

    An Architectural Model for Component Groupware

    Get PDF
    This paper proposes an architectural model to facilitate the design of component-based groupware systems. This architectural model has been defined based on (1) three pre-defined component types, (2) a refinement strategy that relies on these component types, (3) the identification of layers of collaboration concerns, and (4) rules for the coupling and distribution of the components that implement these concerns. Our architectural model is beneficial for controlling the complexity of the development process, since it gives concrete guidance on the concerns to be considered and decomposition disciplines to be applied in each development step. The paper illustrates the application of this architectural model with an example of an electronic voting system

    Kooperative multimediale Anwendungen: Basis für virtuelle Arbeitsumgebungen

    Get PDF
    The article starts describing synchronous, document-based groupware applications as an important basis for virtual workspaces and internet-wide distributed collaborating teams working in areas such as media design, engineering and electronic banking. New communicative and collaborative software solutions are preconditions for such scenarios. The article points out deficits of existing application sharing technology used for collaboration, suggests supplementing this technology by synchronous documentbased groupware applications and lists requirements for these applications. It is described how general support for replication, synchronisation and concurrency control a development framework should provide. Furthermore the article discusses, how the parts of an interactive application should be distributed by using the MVC paradigm. An approach based on replication that combines message passing and state passing for synchronisation and a distributed optimistic concurrency control with rollback-able short transactions are outlined. For handling resulting differences in application development, an advanced observer pattem is proposed

    System Resource Sharing for Synchronous Collaboration

    Get PDF
    We describe problems associated with accessing data resources external to the application, which we term externalities, in replicated synchronous collaborative applications (e.g., a multiuser text editor). Accessing externalities such as les, databases, network connections, environment variables and the system clock is not as straightforward in replicated collaborative software as in single-user applications and centralized collaborative systems. We describe ad hoc solutions that have been used previously. Our primary objection to the ad hoc solutions is that the developer must program dierent behavior into the dierent replicas of a multi-user application, which increases the cost and complexity of development. We introduce a novel general approach to accessing externalities uniformly in a replicated collaborative system. The approach uses a semi-replicated architecture where the actual externality resides at a single location and is accessed via replicated proxies. The proxies multiplex input to and output from the single instance of the externality. This approach facilitates the creation of replicated synchronous groupware in two ways: (1) developers use the same mechanisms as in traditional single-user applications (2) developers program all replicas to execute the same behavior. We describe a general design for proxied access to read{only, write{only and read{write externalities. We discuss the tradeos of this semi- replicated approach over full, literal replication and the class of applications to which this approach can be successfully applied. We also describe details of a prototype implementation of this approach within a replicated collaboration-transparency system, called Flexible JAMM (Java Applets Made Multi-user)

    PROPUESTA ARQUITECTÓNICA PARA EL DESARROLLO DE APLICACIONES COLABORATIVAS DE CALIDAD

    Get PDF
    RESUMEN  Este artículo describe una propuesta arquitectónica basada en servicios web orientada al desarrollo de aplicaciones colaborativas de calidad. La arquitectura ha sido diseñada para abordar las carencias que presentan los modelos arquitectónicos y entornos existentes para el desarrollo de este tipo de aplicaciones. Estas limitaciones incluyen dependencias de plataformas, lenguajes y sistemas operativos, así como el hecho de que su funcionalidad, a menudo, está pensada para aplicaciones muy concretas. Nuestra propuesta, gracias a su diseño y a que está basada en servicios web, es capaz de proporcionar aplicaciones con atributos no funcionales (específicamente, atributos de calidad) como reusabilidad, portabilidad, interoperabilidad, ubicuidad y adaptabilidad, permitiendo reorganizar dinámicamente los componentes para adaptar la arquitectura a la forma en que se organiza el trabajo en grupo en cada momento. Dicha adaptación puede lograse, si es necesario, extendiendo la propuesta con nuevos servicios (que pueden ser aplicaciones, componentes o herramientas) cuando éstos se requieran, de manera consistente y sin necesidad de realizar modificaciones en los servicios existentes. Además, el grupo puede adaptarse a nuevas necesidades o estilos de trabajo,gracias a que nuestra arquitectura permite modificar las políticas de manejo de sesión en tiempo de ejecución. Nuestra propuesta también resuelve problemas significativos encontrados en los modelos y entornos existentes para el desarrollo de aplicaciones colaborativas, como el hecho de que no proporcionan sesiones flexibles y/o no suministran un modelo consistente para integrar componentes de terceros. PALABRAS CLAVE Arquitectura SoftwareAtributos de CalidadAplicaciones ColaborativasServiciosWebArquitectura Orientada a Servicios ABSTRACT This article describes a web service-based architectural proposal oriented to the development of quality collaborative applications. The architecture has been designed to overcome the lacks that existing architectural models and environments for developing this type of applications present. These limitations include platform, language and operative system dependencies, and also the fact that their functionality is often intended for very specific applications. Our proposal, thanks to its design and since it is based on web services, is able to provide applications with non functional attributes (specifically, quality attributes) such as reusability, portability, interoperability, ubiquity and adaptability, which allow to dynamically reorganize the components in order to adapt the architecture to the form in which groupwork is organized at each moment. This adaptation can be achieved, if necessary, extending the proposal with new services (which can be applications, components or tools) when these are required, in a consistent way and without necessity to modify existing services. Moreover, the group can adapt to different needsand work styles, thanks to our architecture allows to modify the session management policies in run time. Our proposal also solves significant problems found in the existing models and environments for the development of collaborative applications, as the fact that they do not provide flexible sessions and/or they do not provide a consistent model to integrate third-party components. KEYWORDSSoftware ArchitectureQuality AttributesCollaborative ApplicationsWeb ServicesService-Oriented Architecture (SOA)

    CVRetrieval: Separating Consistency Retrieval from Consistency Maintenance

    Get PDF
    In distributed online collaboration applications, such as digital white board and online gaming, it is important to guarantee the consistency among participants’ views to make collaboration meaningful. However, maintaining even a relaxed consistency in a distributed environment with a large number of geographically dispersed participants still involves formidable communication and management cost among them. In this paper, we propose CVRetrieval (Consistency View Retrieval) to solve this scalability problem. Based on the observation that not all participants are equally active or engaged in distributed online collaboration applications, CVRetrieval differentiates the notions of consistency maintenance and consistency retrieval. Here, consistency maintenance implies a protocol that periodically communicates with all participants to maintain a certain consistency level; and consistency retrieval means that passive participants (those with little updating activity) explicitly request a consistent view from the system when the need arises in stead of joining the expensive consistency maintenance protocol all the time. The rationale is that, if a participant does not have updating activities, it is much more cost-effective to satisfy his or her needs on-demand. The evaluation of CVRetrieval is done in two parts. First, we theoretically analyze the scalability of CVRetrieval and compare it to other consistency maintenance protocols. The analytical result shows that CVRetrieval can greatly reduce communication cost and hence make consistency control more scalable. Second, a prototype of CVRetrieval is developed and deployed on the Planet-Lab test-bed to evaluate its performance. The results show that the active participants experience a short response time at some expense of the passive participants that may encounter a longer response time depends on the system setting. Overall, the retrieval performance is still reasonably high

    CVRetrieval: Separating Consistency Retrieval from Consistency Maintenance

    Get PDF
    In distributed online collaboration applications, such as digital white board and online gaming, it is important to guarantee the consistency among participants’ views to make collaboration meaningful. However, maintaining even a relaxed consistency in a distributed environment with a large number of geographically dispersed participants still involves formidable communication and management cost among them. In this paper, we propose CVRetrieval (Consistency View Retrieval) to solve this scalability problem. Based on the observation that not all participants are equally active or engaged in distributed online collaboration applications, CVRetrieval differentiates the notions of consistency maintenance and consistency retrieval. Here, consistency maintenance implies a protocol that periodically communicates with all participants to maintain a certain consistency level; and consistency retrieval means that passive participants (those with little updating activity) explicitly request a consistent view from the system when the need arises in stead of joining the expensive consistency maintenance protocol all the time. The rationale is that, if a participant does not have updating activities, it is much more cost-effective to satisfy his or her needs on-demand. The evaluation of CVRetrieval is done in two parts. First, we theoretically analyze the scalability of CVRetrieval and compare it to other consistency maintenance protocols. The analytical result shows that CVRetrieval can greatly reduce communication cost and hence make consistency control more scalable. Second, a prototype of CVRetrieval is developed and deployed on the Planet-Lab test-bed to evaluate its performance. The results show that the active participants experience a short response time at some expense of the passive participants that may encounter a longer response time depends on the system setting. Overall, the retrieval performance is still reasonably high

    Data management issues and trade-offs in CSCW systems

    Full text link
    corecore