registrovany123 když o tom přestaneš přemýšlet jako o stavovém stroji a začneš to vnímat jako to, co to je tj. procesní engine, tak sám vymyslíš 1000+1 paralelních procesů s praktickým využitím.
Ale tak, když už:
nástup nového zaměstnance - paralelně zajistíš přístupy a pracovní vybavení
zakázková výroba nábytku - objednáš velkou krabici pro odeslání židle a zároveň ji začneš vyrábět
apod.
Jinak k tématu, Camunda není jen BPM orchestrátor, ale součástí je i DMN. V kombinaci to pak může dávat zajímavé možnosti, kdy chování procesu lze upravovat přes podmínky rozhodovacích matic. Lze to však využívat i samostatně.
Nám třeba řeší problém, kdy hlavní proces má několik podprocesů, trvá několik týdnů a obsluhuje ho řada mikroservices. Když aplikuješ Camundu jako orchestrátora takového procesu, máš kompletní grafický pohled na chování distribuovaného systému a to včetně historie, vyhledávání konkrétních instancí apod. Do DMN dáš kritéria, které systém používá pro úpravu svého chování a např. po jejich změně pak necháš některé instance reprocesovat (ok to už není úplně triviální, ale jde to).
Třeba to není úplně typický use case, ale je to dost praktické.
Výhody jsou, že spoustu věcí podporuje Camunda nativně nebo přes pluginy. Např. SSO, HA, škálovatelnost, různé typy storages, Rest api, různé integrace a nemusí se to programovat, jen se to konfiguruje. Lze ji použít samostatně nebo třeba jako embeded do Spring Bootu a pořešit si tak třeba nějaké obskurní integrace nebo funkcionality.
A v neposlední řadě, že to hlavní je vyjádřeno graficky. Zlepšuje to nejen komunikaci mezi rolemi projektu, ale je pak i velmi snadná dekompozice funkcionalit jednotlivých aktivit.