Examples for workflows based on systems instead of humans?
In all of the BPMN documentation and examples, the focus is on processes that require manual tasks.
In our case the workflows are 90% systems working together.
I am looking for examples of BPMN being used for system processes. At the moment: only for the modeling part of it, not for running the actual workflow.
The example I give below is for the media market, but any market is fine.
E.g. when a file arrives in a watchfolder, the system waits until the file is complete. It then lets the central database know that it is going to start processing that file. It sees that the file is of a non-standard format so it sends it to the transcoder, which turns the file into the house format. After conversion, a web service call is made to the central database to inform it is ready, and another web service call to the editing system, to create the right project folder. At some point in time the user will edit and after submitting the result, the central database updates the status and informs the playout system. Throughout the processes, each system reports to the central database what the status is of each task, before and after, but also during the task (50% complete, ready in 20 minutes, etc.). This is just a very small subset of the process, but it shows that it is about mostly automated activities.
Has anyone created BPMN processes for media (or other system oriented) workflows?
I am very much interested in best practices.
How do I use swim lanes? The users are in different departments, but the systems are not. But, I have "editing" systems, "playout" systems, "archiving" systems, etc. Should I use separate swim lanes for each system? If so, so the activity block be placed in the swim lane that is triggering the task, or in the swim lane that is executing the task (e.g. "check status" is triggered by the editing system, but executed by the central database).
At what level of detail should you stop? I can imagine that this is a grey area. "check status" could be multiple smaller activities. I could create a subprocess for that, but it would still never capture all details, and if it did it would be overwhelming and not useful anymore. Where to draw the line?