LittleHorse Documentation
website·Indexed 33 days ago
https://www.littlehorse.ioDocumentation for LittleHorse, a distributed programming model and workflow engine. Includes guides on server concepts, GRPC API, task worker development, and integrations such as Quarkus and Kafka Sink Connectors. Covers workflow specifications (WfSpec), User Tasks Bridge (UTB), and the littlehorse.io/v1 API schema across versions 0.16, 1.1, 1.2, 1.3, and Next.
What's inside LittleHorse
- User Tasks Bridge is a LittleHorse product that integrates an OIDC-compliant Identity Provider (IdP) with LittleHorse Kernel's User Tasks. Because the LittleHorse Kernel does not include native user-identity features, the Bridge provides a secure communication channel to manage human-in-the-loop tasks within LittleHorse Workflows using an organization's existing identity strategy.
Overview of LittleHorse and Business-as-Code
LittleHorse is a platform designed for application developers to define, version, and observe complex business processes across microservices as code. It implements a "Business-as-Code" approach, replacing manual Saga patterns, fragile microservice integrations, and YAML/drag-and-drop configurations with real, testable, and reviewable code that compiles into a living visual representation of the business process (such as order pipelines, onboarding flows, or AI agent orchestration).Overview of the User Tasks Bridge
The User Tasks Bridge is a proxy service that connects LittleHorse Server User Tasks with an OIDC-compliant Identity Provider (IdP). Because the open-source LittleHorse Server does not natively manage user identities or permissions, the Bridge fills this gap by ensuring only authorized users can access and complete tasks. It allows developers to assign User Tasks to specific authenticated users or user groups based on the identity mapping between the LittleHorse Server (which stores user IDs as strings) and the IdP.Overview of LittleHorse Type Adapters
Type Adapters allow the LittleHorse Java SDK to automatically convert between custom Java classes and LittleHorse's native typing system. This enables the use of domain-specific types (e.g., UUID, ZonedDateTime, custom Enums) directly in@LHTaskMethodsignatures and@LHStructDeffields without manual conversion to strings or primitives. Without an adapter, the SDK falls back to JSON serialization, which may produce unexpected results for certain types.Overview of User Tasks Bridge
User Tasks Bridge is a LittleHorse product that integrates an OIDC-compliant Identity Provider (IdP) with LittleHorse Kernel's User Tasks. Since the LittleHorse Kernel does not include native user-identity features, the Bridge provides a secure communication channel to manage human-in-the-loop tasks within LittleHorse Workflows using an organization's existing identity strategy and tools.Overview of LittleHorse GRPC API
The LittleHorse Server exposes a GRPC API (version 1.0) which serves as the backbone for all LittleHorse SDKs. EveryLHConfigobject provides a GRPC stub to access this API. While most users should use the Task Worker SDK, WfSpec SDK, or the general API guide for interacting withWfRuns, the raw GRPC API is available for advanced use cases.Overview of User Tasks Bridge
User Tasks Bridge is a component that connects LittleHorse User Tasks to an identity provider (IdP). While the open-source LittleHorse Kernel natively supports User Tasks, it does not handle user identity. User Tasks Bridge fills this gap, allowing users to be assigned and authorized to complete human-centric work within a workflow.Overview of the LittleHorse Kernel
The LittleHorse Kernel (formerly known as the LittleHorse Server) is an open-source distributed runtime used to define processes (known as
WfSpecs) and execute them (known asWfRuns). It is designed for several primary use cases:- Agentic Workflows: Providing a robust
WfSpecas a tool for LLMs to invoke for reliable execution of dynamic processes. - Microservice Composition: Managing observability, error handling, and schema evolution across independent microservices.
- Business Process Management: Composing long-running business workflows where code reflects business requirements.
- Legacy App Modernization: Connecting modern microservices and legacy monoliths into a single business process.
- SAGA Transactions: Using advanced Exception Handling to roll back transactions across multiple systems (e.g., canceling a shipment if payment fails).
- Agentic Workflows: Providing a robust
Overview of LittleHorse Business-as-Code philosophy
LittleHorse implements a 'Business-as-Code' approach that extends the concept of Durable Execution. While Durable Execution focuses on making code impervious to infrastructure failures (e.g., allowing a process to sleep for 30 days without losing state), Business-as-Code models and orchestrates end-to-end business flows across events, agents, and microservices. It provides the same durability guarantees as Durable Execution but adds business-level abstractions to align software with business intent.Overview of External Events in LittleHorse
External Events in LittleHorse act as callbacks or webhooks that allow a
WfRun(Workflow Run) to respond to inputs from the outside world. They are used to integrate with asynchronous third-party APIs, wait for human interaction (e.g., DocuSign), or wait for external system completions (e.g., GitHub builds).There are two primary API objects involved:
- ExternalEventDef: Metadata that defines a type of External Event.
- ExternalEvent: An actual instance of a callback or webhook occurrence.
Overview of the User Tasks Bridge Backend
The User Tasks Bridge Backend is a Java Spring Boot application designed to act as a bridge between an OIDC-compliant Identity Provider (IdP) and LittleHorse. It enables secure user task management by integrating identity providers with the LittleHorse platform.Overview of Saddle Command Center and LittleHorse Kernel
Saddle Command Center is a platform for orchestrating, streaming, connecting, and governing microservices, agents, and workflows using a 'Business-as-Code' approach. It is built around the open-source LittleHorse Server, Apache Kafka, and OIDC. The core engine, the LittleHorse Kernel, allows developers to define durable workflows in their preferred language, handling execution, retries, and state management across microservices.