1. A data processing system for propagation of filter expressions across multi-layered systems, comprising: a bus; a storage device connected to the bus, wherein the storage device contains computer usable code; a communications unit connected to the bus; and a processing unit connected to the bus, wherein the processing unit executes the computer usable code to receive, at a first data processing engine, a data request from an application: transmit the data request with a portion of a specified selection criteria expression that is compatible with a set of selection criteria expressions of a second data processing engine to the second data processing engine, wherein the second data processing engine determines whether a message received at the second data processing engine matches the portion of the specified selection criteria expression that is compatible with the set of selection criteria expressions of the second data processing engine, and, if the message received at the second data processing engine matches the portion of the specified selection criteria expression that is compatible with the set of selection criteria expressions of the second data processing engine, transmits the message to the first data processing engine; determine whether the message matches a portion of the specified selection criteria expression that is incompatible with the set of selection criteria expressions of the second data processing engine; and if the message matches a portion of the specified selection criteria expression that is incompatible with the set of selection criteria expressions of the second data processing engine, transmit the message to the application.