Given a set of external apps (app1.exe, app2.exe, ... ). Invoking one app will change something. Sometimes the result needs to be analyzed, sometimes is just a prerequisite for other apps. If one fails, abort process.
All apps need to be invoked, in a specific order, and they must succeed in order to finalize without errors.
Is there any design pattern for such a scenario?