It’s a fact: Web services have started to mature. Those emergent standards that once held so much promise are now actually starting to deliver useful implementations. With the basic Web services plumbing mastered, we’re starting to see more advanced infrastructure that enables these second-generation Web services to focus on complex interactions over the Internet. This article covers one such aspect of the second-generation infrastructure for Web services: transactions.