Skip to Main Content
Services orchestration is typically supported with the traditional centralized workflow technology. The central engine becomes an intensive resource when the number of services to be orchestrated becomes large. Existing decentralized approaches, being primarily based on static process partitioning, exhibit some other shortcomings such as in resource utilization and fault handling. We present an approach to decentralized services orchestration that does not have these shortcomings and scales well for a large number of services. The approach is based on a new messaging scheme, continuation-passing messaging, where continuations, or the reminder of executions, are passed along with messages for services orchestration. The approach also supports services recovery, by automatically generating recovery plans into a second continuation called failure continuation. Our experimental results show that the new approach provides much better scalability than traditional centralized ones.