<p>Incompatibility of component interaction styles is identified as a major obstacle to interoperability when using off-the-shelf components or dealing with legacy software in compositional development. It is argued that a language for defining abstract interfaces — AID — can serve as a basis for accommodating heterogeneous interaction styles. AID is independent of any concrete style, such as invocation, pipe-and-filter, event-based or others. An AID text just specifies elementary input and output events which happen at the boundary of a component. Code that mediates between different styles can then be generated automatically from an abstract interface description.</p> <p>The focus of this paper is on mediating between dataflow and invocation interaction. The design of the mediation code for invocation-based interaction with mismatching push/pull modes is described in some detail. How to accommodate event-based interaction is shown in the context of the CORBA Notification Service. Enterprise Java Beans are taken as an example of a complex component model, and the problems of accommodating the message-driven beans of EJB 2.0 are analyzed.</p>