idempotence

How can I prevent database being written to again when the browser does a reload/back?

Hi there, I'm putting together a small web app that writes to a database (Perl CGI & MySQL). The CGI script takes some info from a form and writes it to a database. I notice, however, that if I hit 'Reload' or 'Back' on the web browser, it'll write the data to the database again. I don't want this. What is the best way to protect ag...

Terminology for a deterministic function with no side-effects?

I need the proper terminology for a specific type of function. Suppose you write a function in your SQL database, whose inputs and outputs are contained within the scope of a database transaction. That is, if you call this function in the scope of a database transaction, all the data used by the function is available within the same ...

How to ensure message idempotency with multiple competing consumers?

I have multiple distributed competing consumers each pulling messages off the same (transactional) queue. I want to implement each consumer as an Idempotent Receiver so I never process the same message more than once (across all consumers) even if a duplicate arrives. How can I accomplish this with multiple consumers? My first thought i...

RESTful idempotence

I'm designing a RESTful web service utilizing ROA(Resource oriented architecture). I'm trying to work out an efficient way to guarantee idempotence for PUT requests that create new resources in cases that the server designates the resource key. From my understanding, the traditional approach is to create a type of transaction resource ...