Full HTML for

Basic foilset Component Architecture for building Web-based Synchronous Collaboration Systems

Given by Lukasz Beca at Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA on June 16-18, 1999. Foils prepared October 25 99
Outside Index Summary of Material


Motivation
Requirements for Collaborative Components
Tango Interactive™ Framework
Tango Beans
Conclusions
Future Work
Software Demonstration

Table of Contents for full HTML of Component Architecture for building Web-based Synchronous Collaboration Systems

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 Component Architecture for Building Web-based Synchronous Collaboration Systems
2 Contents
3 Motivation
4 Requirements for Collaborative Components
5 Requirements for Collaborative Components
6 Tango Interactive (TI)
7 Tango Interactive (TI)
8 Tango Beans
9 Tango Beans - TangoBean
10 Tango Beans - TangoBean
11 Tango Beans - TangoBean
12 Tango Beans - ObjectPipe
13 Tango Beans - Context Construction
14 Tango Beans - Context Construction
15 Tango Beans - Event Flow
16 Tango Beans - Event Flow
17 Tango Beans - Session State
18 Tango Beans - Development Process
19 Conclusions
20 Conclusions
21 Future Work

Outside Index Summary of Material



HTML version of Basic Foils prepared October 25 99

Foil 1 Component Architecture for Building Web-based Synchronous Collaboration Systems

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Lukasz Beca, Geoffrey C. Fox, Marek Podgorny
NPAC, Syracuse University, Syracuse, USA

HTML version of Basic Foils prepared October 25 99

Foil 2 Contents

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Motivation
Requirements for Collaborative Components
Tango Interactive™ Framework
Tango Beans
Conclusions
Future Work
Software Demonstration

HTML version of Basic Foils prepared October 25 99

Foil 3 Motivation

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Synchronous collaboration systems - complex, distributed, multi-user environments
Tango Interactive - framework for building Web-based synchronous collaboration systems
  • several types of APIs
  • wide array of collaboration tools
  • used in distance learning and general collaboration
Need for tools that would enable faster development of collaboration applications without giving up functionality
  • traditional APIs offer full functionality but implementation is difficult
  • tools that convert standalone applications to multiuser applications are fast and easy to use but obtained software has limited collaboration functionality
Proposed solution: software components that can be combined using visual programming tools with ordinary components to create collaborative applications

HTML version of Basic Foils prepared October 25 99

Foil 4 Requirements for Collaborative Components

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Web collaboration requirements:
Capture and propagation of application events: user actions in one application are reflected in other applications
Selection of relevant events: not all events need to be shared
Specification of event target components: each event must have the recipient component which knows how to interpret the event
Transfer of arbitrary data: enables information exchange among collaborative tools
Access to the collaboration session state: used to support collaboration awareness or assure synchronized access to the session resources
Integration with the Web environment: encapsulation of Web specific communication mechanisms enables creation of portable and generic applications

HTML version of Basic Foils prepared October 25 99

Foil 5 Requirements for Collaborative Components

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Software engineering requirements:
Implementation of generic interfaces that conform to widely accepted standards: enables combining with other software components and fast development of the applications
Implementation complexity hidden from the application developer: developer does not have to understand underlying communication mechanisms
Intuitive and flexible graphical interface: enables manipulation and composition with other components, disappears during application execution
Testing outside collaboration environment: errors not related to the collaboration functionality can be quickly identified and removed

HTML version of Basic Foils prepared October 25 99

Foil 6 Tango Interactive (TI)

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Generic framework for construction of synchronous collaboration systems for the Web
Accessed and started in the Web browser; extensively uses Web resources
Important concepts:
  • Application: collaborative tool used by system users to communicate
  • Session: set of applications of the same type that exchange information;
    • each instance of the application is operated by a different user
  • Participant: user operating an application that is a member of a session
Application programming interfaces available for Java applets, Java, JavaScript, C++ and LISP applications
Customized systems built by selecting appropriate set of tools
  • systems for distance learning and general collaboration are currently available

HTML version of Basic Foils prepared October 25 99

Foil 7 Tango Interactive (TI)

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Main components of Tango Interactive framework:
Collaborative Server
  • maintenance of dynamic state of collaboration system
  • distribution of notifications about state changes
  • channels of communication for reliable data and event distribution
  • system access control
Session Manager
  • user interface to the system
  • access to Tango Interactive communities supported by Collaborative Servers
  • session management
  • floor control management
  • launching, terminating, and control over collaboration tools

HTML version of Basic Foils prepared October 25 99

Foil 8 Tango Beans

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
A set of components that form an API for TI system: high level interface to collaboration services offered by TI framework
Components:
  • TangoBean: bridge between application and Tango Interactive environment
  • ObjectPipe: event gathering and distribution
Offer sufficient functionality to build advanced collaboration tools
Designed for use in integrated development environments
Developed as Java Beans - component model technology for Java
  • communicate with other components developed according to Java Beans specification
Implemented to operate in three modes:
  • collaborative: collaboration functionality provided, graphical interface hidden
  • testing: operation outside TI environment, graphical interface hidden
  • design: operation inside integrated development environment, graphical interface visible

HTML version of Basic Foils prepared October 25 99

Foil 9 Tango Beans - TangoBean

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
TangoBean turns an application into a multi-user tool
Integration of application with the TI system:
  • TangoBean assures exchange of data between the application and TI framework with help of ObjectPipe components
Control over the application from the Session Manager:
  • the application can be started and terminated from Session Manager
Sending and receiving collaboration events:
  • the application can communicate with other applications in the session by sending and receiving events and data
Access the session state information:
  • TangoBean provides access to the session state data and notifies about state changes

HTML version of Basic Foils prepared October 25 99

Foil 10 Tango Beans - TangoBean

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Event flow when the application with TangoBean is placed in Tango Interactive environment:

HTML version of Basic Foils prepared October 25 99

Foil 11 Tango Beans - TangoBean

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Event flow when the application with TangoBean is in testing mode (outside Tango Interactive framework):

HTML version of Basic Foils prepared October 25 99

Foil 12 Tango Beans - ObjectPipe

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
ObjectPipe supports communication between components located in different application instances:
Application events capture and distribution:
  • ObjectPipe distributes application events to other application instances in the collaborative session
Distribution of arbitrary data:
  • Java object serialization is used for transferring data of arbitrary type among applications

HTML version of Basic Foils prepared October 25 99

Foil 13 Tango Beans - Context Construction

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Connections between Tango Beans components and application components enable distribution of desired events and objects
Connection from a component to ObjectPipe indicates that the ObjectPipe will accept events generated by the object
Connection from ObjectPipe to a component indicates that the component will receive shared events from other application instances
Each ObjectPipe component in the application must be connected to TangoBean component
All application components that want to receive information about session state must be connected to TangoBean

HTML version of Basic Foils prepared October 25 99

Foil 14 Tango Beans - Context Construction

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Example connection setup between Tango Beans and application components:

HTML version of Basic Foils prepared October 25 99

Foil 15 Tango Beans - Event Flow

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Event flow between components placed in different application instances in the same session:

HTML version of Basic Foils prepared October 25 99

Foil 16 Tango Beans - Event Flow

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Description of the diagram:
  • ObjectPipe X intercepts event generated by component A in Mary's application
  • ObjectPipe X passes event to TangoBean in Mary's application.
    • ObjectPipe identifier is added to the passed data
  • TangoBean sends event to the TI system using low level API
    • TI system distributes event to all participants in the session except for the user that generated the event
  • TangoBean in John's application accepts the event from TI system
  • TangoBean passes the event to ObjectPipe X.
    • The proper ObjectPipe component is determined using identifier extracted from the encoded event
  • ObjectPipe X sends event to component B in John's application

HTML version of Basic Foils prepared October 25 99

Foil 17 Tango Beans - Session State

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Application components can access session state information using interface exposed by TangoBean
Two modes of data access are available:
  • synchronous access: method call
  • asynchronous notification: registration of listener object, provides access to information about session state changes
Synchronous access:
  • list of session participants
  • floor control status
  • name of the floor holder
  • name of the user
Asynchronous notification:
  • floor control state change
  • session participant joined/left

HTML version of Basic Foils prepared October 25 99

Foil 18 Tango Beans - Development Process

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Installation of Tango Beans components package in the integrated development environment
Development of collaborative application using ordinary and collaborative components by visual manipulation and traditional programming methods
Application testing outside collaboration environment
Generation of application distribution package signed digitally (required to operate in Web environment that implements security mechanisms)
Registration of the application in the Session Manager
Collaboration using developed application supported by Tango Interactive framework

HTML version of Basic Foils prepared October 25 99

Foil 19 Conclusions

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Significant advantages of component technology in construction of tools for synchronous collaboration
  • hidden complexity of collaboration functionality implementation
  • software reuse - possibility of combining collaboration components with other software components
  • ease of use - application building using visual manipulation tools
Tango Beans address specific needs of collaborative tools created for the Web
  • quick development of collaborative tools
  • rich interface that enables building applications with different functionality
  • testing outside and in the collaborative environment
  • integration with the Web environment

HTML version of Basic Foils prepared October 25 99

Foil 20 Conclusions

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Disadvantages of using component technology
  • inconsistent and incomplete support for component technology in integrated development environments
Limitations of Tango Beans
  • Java only - Tango Beans can be used to develop Java applets and applications only
  • the same code must be used to generate all applications taking part in the same session
  • inserting Tango Beans components is not enough to ensure proper communication with Tango Interactive framework - small fragments of code must be added to the application source code

HTML version of Basic Foils prepared October 25 99

Foil 21 Future Work

From Component Architecture for building Web-based Synchronous Collaboration Systems Workshop-Conference on "Enabling Technologies: Infrastructure for Enterprises (WET ICE)" at Stanford University in Palo Alto California, USA -- June 16-18, 1999. *
Full HTML Index
Overcoming current limitations of Tango Beans
  • development of components for other languages - ActiveX objects for C++
  • development of more flexible ObjectPipe components, which would enable using applications generated from different code in the same session
  • development of collaboration application templates, which would eliminate necessity of adding fragments of code to the automatically generated code
Extension of functionality depending on the further development of Tango Interactive framework

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Mon Oct 25 1999