Hi there,
In a lot of the Replication documentation it only refers to the merge agent operating in the context of a push or a pull configuration. i.e. if it is push then the merge agent is at the distributor but if it is a pull then the merge agent functions at the subscriber.
I recently joined a project which is configured as a push but it uses RMO for synchronisation. This RMO application is installed on a compeletely separate server. Initially I thought the RMO was just passing requests through to the publisher/distributor/subscriber but the distributor didn't seem to be doing any of the work. It therefore seems that the merging/synchronisation is being performed on this RMO application server and not the distributor or subscriber.
I therefore think it would be good (assuming I am correct of course) that the documentation reflects this caveat
As a general observation Replication programming seems to be quite detached from the rest of the replication documentation. Is this a deliberate decision