Service oriented architectures (SOAs) provide an architectural paradigm to develop and evolve enterprise information systems. A key feature of SOAs is compensability of services. Such service assemblies require high coordination efforts to reliably produce a valid result. Transactional processing concepts are widely used to tackle coordination requirements in tightly-coupled distributed systems like J2EE or CORBA. However, in loosely-coupled systems like SOAs, the use of transaction processing systems is uncommon, although proposals for doing transaction processing in Web services systems (an implementation option for SOAs) exist. In this paper, general aspects of a transaction processing system are introduced that can be reasonably used for the coordination of services in SOAs. We present an approach and a corresponding implementation of a transaction processing system for service oriented architectures that adheres to the above-mentioned characteristics.