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 |