top | item 19733741

(no title)

wetpaste | 6 years ago

Thank you. I feel kind of silly about this but I feel like I've had a hard time understanding when an org should, or could use something like this. I have seen them mentioned but every time it's explained it's explained with more abstract language on top of it that confuses me. I keep hearing "it manages business processes" but then it fails to mention if this means like, a human being's process within an org, or something coupled with an application of some sort that has business processes in the application? Does this type of thing replace sort of what Jira does, make a ticket and then pass it off to the next team or whatever? Do you ship it with the app for on-premise deployments of a software product? I have a hard time seeing the big picture with things like this sometimes. Then I hear workflow orchestrator and I think, oh okay so like ansible, but for, work...flows? But what is a workflow really exactly?

discuss

order

mfateev|6 years ago

My personal opinion is that the workflow is any business logic that goes beyond a single request reply. Examples of workflows:

* Service deployment.

* Uber trip

* Media processing (download file, transcode, upload result)

* Order processing

* Customer support ticket processing

* Customer incentive program management

* Data pipeline processing

* ML Training

* Distributed CRON

* Customer signup flow

and many others.

raxxorrax|6 years ago

This could also be used to kill off systems like SharePoint in many businesses and that would be great.

Seriously, its workflow engine has race conditions, randomly fails and has no transaction management. But there are few alternatives. I don't know why there hasn't been any real contender. You would need a full suite to challange it though.

Angostura|6 years ago

Speaking as someone who has just implemented a complex business multi-step business process workflow in Sharepoint 2016 - I concur.

redact207|6 years ago

I can relate, it didn't make sense to me either in the beginning but eventually the penny dropped after working with it in a past company.

Rather than give a half cooked explanation here and risk more confusion, I'll update the readme with some examples and ping you if you're interested.

nij4uyr|6 years ago

redact207, could you please tell me if I understood it correct?

Say, I have two services deployed individually working in their own domains.

UserService and EmailService

When the task is a simple user signup & welcome email

1. Workflow requests UserService.signupUser

2. UserService.signupUser creates User, then dispatches UserCreated event.

From my understanding, this is where it's different between having Workflow and not having it.

3. Workflow receives UserCreated event, then requests EmailService.sendEmail

IF I did not have Workflow in my design, then EmailService will be listening to UserCreated event from UserService directly.

It sounds almost same as having an orchestration service called UserSignup Service, and do the same thing what Workflow does.

Can you say my understanding correct? Thanks!