Scientific applications keep getting more complex, resulting in the need for more computational resources than may be available to scientists locally. As a result, for many scientists utilization of remote and heterogeneous computational resources has become a standard practice. However, effective utilization of these resources, especially for large-scale workflow applications, necessitates the employment of software tools that are efficient and adaptive. In this study, we propose a generic framework for the decentralization and run-time adaptation for the execution of large-scale workflow applications that span across diverse and heterogeneous resource domains. By exploiting the recurring DAG patterns, we come up with corresponding decentralization and adaptation patterns to be employed by peer workflow orchestration tools to cope with various resource-based challenges in the execution environment. Our framework adopts separation of concerns and consequently does not alter the business logic of the application. We provide a prototype implementation of our framework on a standard workflow orchestration tool. But, our framework is generic enough and can be easily incorporated by other orchestration tools.