The PAWS (Processes with Adaptive Web Services) framework facilitates flexible and adaptive execution of managed Web-service-based business processes. The framework coherently integrates several service-adaptation modules and uniquely couples design-time and runtime mechanisms for process specification and global framework execution. During design, PAWS achieves flexibility through a number of mechanisms: it identifies a set candidate services for each process task, negotiates QoS, specifies quality constraints, and then identifies mapping rules for invoking services with different interfaces. At runtime, PAWS exploits the design-time mechanisms to support adaptation during process execution: it selects the best set of services to execute the process, reacts to service failures, and preserves execution when a context change occurs. PAWS has been applied in several case studies in various domains; results show that it can reduce design-time efforts to create a flexible process, while ensuring a good trade-off between user and provider requirements. This article is part of a special issue on service-centric software systems.