A key aspect in groupware applications is to provide support for quality collaboration in workgroups. Consequently, some non-functional requirements that are traditionally associated with single-user applications are also becoming demanded for this kind of software. Due to the use of a wide range of ad-hoc methods and development techniques, as well as differences in underlying communication technologies and conceptualization of the applications themselves, there are some important pitfalls in terms of applying methods and techniques to systematically handle non-functional requirements in groupware applications. In this paper, we present an analysis of non functional requirements and specific functional requirements for groupware applications, and propose a framework that serves as a basis for the satisfaction of relevant non-functional requirements in groupware applications: interoperability, integration, usability, extensibility and reusability. The framework consists of a set of mechanisms to support group awareness about the manipulation of multi-user interfaces, a communication and coordination middleware, and a shared workspace encompassing first class concepts present in the system (users, roles, applications, documents, etc.), and their relationships. A case study shows how several groupware applications may be integrated and may interoperate under this approach.