Automating the composition of transactional Web services