Requirements for Collaborative Components
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