9

I have used Spring state machine with some basic Spring MVC application. I have to admit, it is pretty easy to configure and use.

But it has many limitations as well, mainly because of it being in very early stages of development.

I also came across some workflow engines like Activiti which is an open-source workflow engine written in Java and stateless4j which is a Lightweight Java State Machine. They look much more polished and sophisticated.

I wanted to know what is the difference between these and Spring State Machine (Advantages or disadvantages).

Gajendra Kumar
  • 908
  • 2
  • 12
  • 28
ddanuj
  • 117
  • 2
  • 4
  • 1
    Don't no much about Spring State Machine but Activiti is really good tool for workflow modeling, you can try activiti Explorer (Web APP) to know more about it's features. – Gajendra Kumar Jan 22 '16 at 07:01
  • Activiti is a workflow engine so it's kinda different beast. If you say that stateless4j is more sophisticated, could you give an example what it can do what spring statemachine cannot do? – Janne Valkealahti Jan 22 '16 at 08:10
  • sorry @JanneValkealahti I was talking about Activiti .. where do we use Workflow Engine and where do we use simple state machines then ? – ddanuj Jan 25 '16 at 04:20
  • 1
    Not really required but most likely a state machine is a building block for a workflow engine. It really is an application which have a lot of bells and whistles(integration components) around its own workflow states and business processes. Think https://en.wikipedia.org/wiki/Workflow_engine explains it rather well. – Janne Valkealahti Jan 25 '16 at 13:36
  • @JanneValkealahti Thanks :) – ddanuj Jan 27 '16 at 04:00
  • It depresses me that this obviously off topic question has 4 up votes. – Raedwald Feb 02 '16 at 09:16

1 Answers1

1

I would say so a Workflow Engine is a subset of State Machine. With a State Machine you can do much more things and you can think a Workflow Engine like a library for a State Machine, with use cases that are pre-configured but when you want something out of ordinary then you have to make your hands dirty again with a State Machine.