Most non-programmers think of transactions as associated with buying and
selling, credit-card authorizations, and the like. But in the jargon of
computer science, the word transaction has a very specific meaning: the
interaction and managed outcome of a well-defined set of tasks. If that
definition still sounds rather vague or abstract, it's because the scope of
what's considered a transaction has expanded over the past two decades, and
the older simpler definitions are no longer adequate. Computer systems have
been connected via networks, and applications are more distributed in nature.
The theories and practices of transactions have been repeatedly stretched to
their limits, re-evaluated, and extended. Now, because of web services, we're
once again expanding that defi... (more)