The widespread replacement of centralized mainframe computers by decentralized client-server systems, the massive trend towards object-oriented systems and the resulting efforts to standardize (business) objects or objects services (e.g. ODMG), the rapidly increasing interest in workflow technology, the recently emerging field of Distributed Artificial Intelligence (DAI) are all examples of the current trend towards lean and reusable software components. Future informations systems are no longer monolithic monsters that provide all kinds of services but can never be adapted to new or changing requirements. Instead, they consist of highly tuned specialist that can cover the problems they are designed for in a relatively optimal way. More complex problems have to be treated by a cooperation and interaction of relevant software systems. This calls for systems that, on the one hand, are able to support all facets of cooperative synergistic work and, on the other hand, guarantee the consistency of its data/information and provide its users a consistent view on their data space. Concurrent access to shared resources has already been intensively studied in the area of database management systems, mainly by strictly isolating concurrently running tasks. However, the above partly even contrary requirements make high demands on the concurrency control component of such a system. This paper will show one of the toughest, however, most popular, effektive and efficient guardian of isolation, namely locking, can be tamed to even support a controlled style of cooperative work. Moreover, it will be shown how a recovery component in such an dynamic and cooperative environment can look like that is capable to selectively roll back erroneous work while keeping other work.