We just launched LittleHorse Server 1.0: an open-source workflow engine for Business-as-Code (SDKs in Java, Python, C#, and GoLang), built for microservices, event-driven systems, and long-running processses.
Business-as-Code lets you write code that orchestrates your business process at a high level, while handling low-level integration for you. Similar idea to Infrastructure-as-Code but for your business process logic rather than infra configuration.
LH also has a two-way integrations with Kafka: our Kafka Connectors signal waiting workflows or trigger new ones, and the Output Topic produces a CDC-style stream of workflow events into Kafka.
Would love feedback if you're dealing with stuff like retries / DLQ's / SAGA / Outbox Pattern, etc.
You may be under-selling LittleHorse a bit (here and even in the README). Few things I find cool about it:
- How easy it makes writing human-in-loop workflows (or these days, agent-in-loop). Everyone wants human-in-loop, but very few workflow frameworks make it simple.
- Using LittleHorse to introduce stateful guardrails to agentic flows. This helps with context compaction and other safety issues.
- The new (experimental?) generation of workflows from JSON. This simplifies things quite a bit.
Generating workflows from JSON is actually not new but rather old...the first versions only had that and we added the DSL in Java (and other languages) after that. Under the hood everything in our system is protobuf and it's trivial to translate from JSON to proto and such
Gotta agree with Gwen. I've been using LittleHorse for some AI projects and it does an amazing job. I'm processing thousands of workflows simultaneously and it adapts to the changes in my environment quite well.
Temporal is durable execution...it lets you restart code where it left off. LittleHorse workflows are at a higher level and the server actually understands the process rather than memoizing side effects for later attempts.
You get much better e2e observability + debugging this way. Also can more easily model higher-level processes and handle concurrently-running versions of workflows.
Side note: we also have durable execution within a Task Worker via `context.executeAndCheckpoint(...)`
We just launched LittleHorse Server 1.0: an open-source workflow engine for Business-as-Code (SDKs in Java, Python, C#, and GoLang), built for microservices, event-driven systems, and long-running processses.
Business-as-Code lets you write code that orchestrates your business process at a high level, while handling low-level integration for you. Similar idea to Infrastructure-as-Code but for your business process logic rather than infra configuration.
LH also has a two-way integrations with Kafka: our Kafka Connectors signal waiting workflows or trigger new ones, and the Output Topic produces a CDC-style stream of workflow events into Kafka.
Would love feedback if you're dealing with stuff like retries / DLQ's / SAGA / Outbox Pattern, etc.
Congrats on the launch!
You may be under-selling LittleHorse a bit (here and even in the README). Few things I find cool about it:
- How easy it makes writing human-in-loop workflows (or these days, agent-in-loop). Everyone wants human-in-loop, but very few workflow frameworks make it simple.
- Using LittleHorse to introduce stateful guardrails to agentic flows. This helps with context compaction and other safety issues.
- The new (experimental?) generation of workflows from JSON. This simplifies things quite a bit.
Generating workflows from JSON is actually not new but rather old...the first versions only had that and we added the DSL in Java (and other languages) after that. Under the hood everything in our system is protobuf and it's trivial to translate from JSON to proto and such
Gotta agree with Gwen. I've been using LittleHorse for some AI projects and it does an amazing job. I'm processing thousands of workflows simultaneously and it adapts to the changes in my environment quite well.
This is interesting. How does it compare with Temporal or other orchestrators?
Does this let you take business SOPs and convert it into workflows?
Temporal is durable execution...it lets you restart code where it left off. LittleHorse workflows are at a higher level and the server actually understands the process rather than memoizing side effects for later attempts.
You get much better e2e observability + debugging this way. Also can more easily model higher-level processes and handle concurrently-running versions of workflows.
Side note: we also have durable execution within a Task Worker via `context.executeAndCheckpoint(...)`
Good stuff. I'm excited to look into deeper / experiment with this project.
[dead]