There are some good BPM software: jBPM, Bonita BPM, Camunda BPM, Activity and so on.
Most of them supports some API to integrate with them, for example jBPM provide KieServicesClient interface and implementations to work with it. It works, but can work only with jBPM. And same thing with others.
I want possibility for my application to switch between concrete bpm engines. Is there a standard for it? Abstraction level for processes, tasks and other thing that used in bpm engines? One interface for all of them.