1. A transaction processing system including: a transaction manager running in a first process and responsive to transaction requests from at least one application; a service provider layer including a set of service provider modules, each service provider module being adapted to relay transaction requests passed from said transaction manager to an associated hardware module and to relay transaction responses from said hardware module to said transaction manager or the at least one application; and at least one filter module adapted to intercept transaction requests from said transaction manager to said service provider layer and to process said requests, the at least one filter module being further adapted to intercept transaction responses from said service provider layer to said transaction manager and the at least one application and to process said responses; wherein the at least one filter module, said transaction manager and the at least one application has an associated identifier and wherein the at least one application is adapted to include the identifier of the application or the transaction manager to which transaction responses are to be relayed by the service provider layer in a transaction request, the at least one filter module being adapted to replace said identifier in at least some transaction requests with the identifier of the filter module so that responses to said requests from said service provider layer are relayed to said filter module.