I'm tackling a similar issue in http://code.google.com/p/grassyknoll/ Though for me, the issue is less one of transactions than optimization. The backend (PyLucene) performs much better when passed requests in batches. So a request like (pardon the pseudocode):
PUTMANY(doc1, doc2, doc3, doc4)
is much zippier than doing:
interestingly, this is true for GET as well...
Doing this in an intermediary wouldn't really help then, as it would make the controller unaware of the other requests happening at the same time. Hmm... too bad that. Though in that case you wouldn't have to use a standard intermediary like I propose, you could have a custom one, and presumably client-side support can develop separately without having to pay attention to it one way or the other.# Ian Bicking