In this paper, we propose an approach that provides the benefits of isolation in service-oriented applications where it is not feasible to use the traditional locking mechanisms used to support ACID transactions. Our technique, called ‘Promises’, provides a uniform mechanism that clients can use to ensure that they can rely on the values of information resources remaining unchanged in the course of long-running operations. The Promises approach covers a wide range of implementation techniques on the service side, all allowing the client to first check a condition and then rely on that condition still holding when performing subsequent actions. Categories and Subject Descriptors D.2.12 [Software engineering]: Interoperability; D.2.11 [Software Engineering]: Software Architectures. General Terms Design, Reliability, Standardization. Keywords Isolation, concurrency, reservation, promise, precondition, service interface.