A protocol transaction containing application state.
Both client and publisher define transactions that may take a while to complete and require multiple steps, e.g. connection establishment, data marshaling etc. These maintain necessary application state for the duration.
Note that transactions, even though they are made public for access reasons, are really only used in the context of the protocol engine and are not part of the public interface to WDM in any significant sense.