An architecture that allows target service interactions to be
realistically simulated in a development environment. The architecture
includes a proxy service, an interaction recorder, an interaction store
and an emulator service. The proxy service delegates service requests
received from a client component to a target service. If it is in
"record" mode, the proxy service routes any interaction data
corresponding to the interaction (between the target service and the
client component) to the interaction recorder. Upon receipt, the
interaction recorder records the interaction data in the interaction
store. Later, the proxy service can be placed in "replay" mode so that a
subsequent service request for the target service is delegated to the
emulator service. Upon receipt, the emulator service retrieves the
corresponding interaction data from the data store and replays the same
to emulate/simulate the target service.