This paper presents a JavaBeans framework that supports real-time synchronous collaborative applications. We contribute a generic collaboration bus as an enabling virtual "channel" that spans network fabrics and integrates collaborating clients. The bus provides a component-based plug-and-play environment that enables collaboration with applications that may or may not be collaboration aware. Any (including single-user) applications can be plugged in as is and made collaborative with no modifications to the application or to the collaboration bus. One of the activities supported by the framework is multi-user visual programming using JavaBeans: the users at geographically separate locations can collaboratively compose complex applications using component Beans. The framework has been implemented and tested on a variety of applications.