1. A computer-implemented method of adapting interfaces comprising: receiving an adapter specification; receiving a plurality of communication actions from a first software component; transforming one or more of the communication actions in accordance with predefined interface operations; and sending transformed communication actions to a second software component, wherein the adapter specification specifies one or more predefined interface operations to be used in transforming one or more corresponding communication actions.