danielgerlag / workflow-core

Lightweight workflow engine for .NET Standard
MIT License
5.23k stars 1.17k forks source link

architectural guidance #182

Closed sheldonjoanie closed 5 years ago

sheldonjoanie commented 5 years ago

Can someone guide me on where workflow-core fits in an architectural pattern to build a system where requirements are the following

  1. End users to be able to define a workflow themselves using a UI
  2. Being able to show running and past workflows to users in their dashboard
  3. "micro-service" based architecture
  4. "fault tolerant" and distributed architecture

From what I have read here, workflow-core seems to be addressing 3 and 4 , with 1 being on the roadmap. Is my understanding correct?

In addition, what are the key differences between "workflow-core" and other .net projects namely "massTransit" , Brighter and "akka.net"

Thanks in advance for your guidance.

peterkozak commented 5 years ago

Hi Sheldon, we've achieving 1&2 by having written our own UI for the creation. We store the wf's in JSON format and register them on the fly with workflow-core. The whole solution is running on ServiceFabric therefore we achieve as well 3&4.

Cheers, Peter

workflow
sheldonjoanie commented 5 years ago

Hi Sheldon, we've achieving 1&2 by having written our own UI for the creation. We store the wf's in JSON format and register them on the fly with workflow-core. The whole solution is running on ServiceFabric therefore we achieve as well 3&4.

Cheers, Peter

workflow

Hi Peter, thanks a lot for the response. Any thoughts on my second question about workflow-core vs other libraries? Did you happen to do any evaluation? Would love to get your perspective.

Also, the UI looks good. Is that part of this project or your own work?

germandb commented 5 years ago

Hi Sheldon,

I don't know the massTransit project so I can't say anything regarding that.

From your question I thing that maybe you are confused with what is a Workflow system and what are the architectural needs of a robust Workflow Microservice application. I recommend you to read this book .Net Microservices

joshbartley commented 5 years ago

@peterkozak is there a particular UI library you used to help in creating the workflow creation or was it all from scratch?

Miggleness commented 5 years ago

@peterkozak That's nice. Are you going to open source that? If not, can you give tips on what you used and how much effort it took (duration, man power)? I'm building something similar but much simpler.

@sheldonjoanie Hope you are satisfied with answer to your question. There's definitely effort involved in getting 1&2.

3 - your architecture/IT team can answer this question better. What are your bounded context?

4 - WF Core does support being deployed in a distributed manner. Fault tolerance is more of a responsibility of the queue, persistence and lock providers.

rajenderkundhuri commented 5 years ago

may be this can help in building the UI

https://github.com/satpalsorout/workFlow-UI

AlbertoBN commented 5 years ago

MassTransit is more of a wrapper for a message bus than a workflow engine. I fact MassTransit is just that. It is my understanding (and my upcoming POC) that workflow-core will facilitate you in gluing together (work)flows through your own microservices architecture.

AlbertoBN commented 5 years ago

may be this can help in building the UI

https://github.com/satpalsorout/workFlow-UI

How does that connect to workflow-core?