LogoLogo
Home
Core Platform
Core Platform
  • Introduction
    • Overview
    • Use Cases
    • Architecture
    • Built with ML & AI
    • Quick Start
  • Examples
    • Training Examples
      • API Flow Examples
      • Microservice Examples
      • UI Example
      • Exercise: Hello World API
      • Exercise: Test State
      • Exercise: Test UI
    • Exercise: To-do List
      • To-do List Runner
      • To-do List Gateway
      • To-do List UI
      • To-do List Query
  • Troubleshooting
    • Rierino Packages
    • Release Notes
    • Useful Checks
    • Error Codes
  • Devops
    • Overview
    • API Flows
      • Using the Saga Screen
      • Defining a Saga
      • Configuring Saga Steps
        • Event Step
        • Transform Step
          • Transform Classes
        • Condition Step
          • Condition Classes
        • Step Link
      • Injecting Variables
    • Microservices
      • Runners
        • Using the Runner Screen
        • Defining a Runner
        • Managing Runner Settings
        • Adding Runner Elements
        • Deploying Runners
          • Spring Runners
          • Samza Runners
          • Camel Runners
      • Elements
        • Systems
        • State Managers
          • Typical Use Cases
          • State Data Structure
          • Local States
            • In-Memory Map
            • Caffeine Cache
            • Samza Based
            • Lucene Based
            • Single File
            • Multiple Files
            • Selected IDs Map
            • Indexed Map
          • Shared States
            • MongoDB Collection
            • Jooq (SQL) Table
            • Redis Map
            • Couchbase Collection
            • Elasticsearch Index
            • Elasticsearch Joined
            • Etcd Namespace
          • Specialized States
            • CRUD Service
            • Odata Service
          • State Coordinators
            • Lazy Cache Coordinator
            • Event Store Coordinator
            • Write thru Coordinator
          • Loading Strategies
          • ID Generators
        • Listeners
        • Query Managers
          • MongoDB
          • Elasticsearch
          • Lucene
          • SQL Based
          • Odata Service
        • Handlers
          • Core Handlers
            • Write Data
            • Read Data
            • Query Data
            • Apply Rules
            • Call Rest API
            • Generate Text/Html
            • Parse Html
            • Generate Secrets
            • Orchestrate User Task
            • Perform File Operation
            • Run Shell Command
            • Send/Receive Emails
          • Custom Code Handlers
            • Run Scripts
            • Run Java Code
            • Run Java Package
          • Flow Handlers
            • Orchestrate Saga
            • Loop Each Entry
            • Run Multiple Steps
            • Buffer Payloads
            • Merge Parallel Steps
            • Log Event
            • Send Event
            • Validate Event
            • Transform Event
            • Perform DB Transaction
            • Trigger Runner Command
            • Do Nothing
            • Modify Role Data
            • Enrich Role Data
            • Convert Pulse to Journal
          • Gateway Handlers
            • Authenticate
              • No Authentication
              • State Based
              • Keycloak Based
            • Sessionize
          • Specialized Handlers
            • Apply Advanced Rules
            • Calculate Real-time Metrics
            • Score ML Models
            • Score LangChain Models
            • Service MCP Requests
            • Service A2A Requests
            • Consume Web of Things
            • Perform Text Embedding
            • Run Python Procedure
            • Generate Excel
            • Generate PDF
            • Call SOAP API
            • Integrate with Camel
        • Actions
        • Streams
          • Kafka Topic
          • CDC Feed
          • Camel Component
        • Roles
        • Generic Settings
        • Global Settings
      • Deployments
        • Defining a Deployment
        • Alternative Loaders
    • Gateway & Security
      • Gateway Servers
        • Gateway Systems
        • Gateway Channels
        • Gateway Services
        • Gateway Tokens
      • APIs
        • OpenAPI Specification
        • Response Formats
    • Administration
      • Managing Deployments
      • Sending Commands
      • Streaming Messages
      • Migrating Assets
    • Batch Tasks
      • Python Processes
      • Python Iterators
      • Python Processors
    • Pro-Code
      • Custom Handlers
      • Custom State Managers
      • Custom Query Managers
      • Custom CDC Managers
  • Design
    • Overview
    • User Interface
      • Apps
      • UIs
        • Listers
        • Widgets
          • Value Widgets
          • Array Widgets
          • Object Widgets
          • Indirect Widgets
          • Atom Widgets
        • Menus
          • Lister Menu Actions
          • Selection Menu Actions
          • Editor Menu Actions
          • Widget Menu Actions
          • Custom Menu Actions
          • RAI Menu Actions
        • Extended Scope
          • Conditional Display
          • Data Context
          • Extra Data
          • Default Item
          • Extra Events
      • Options
      • Translations
      • Icons
      • Styles
      • Components
    • API Mapping
    • Data Schema
      • Common Data
  • Configuration
    • Overview
    • Queries
      • Query Types
      • Query Platforms
        • MongoDB Queries
        • Odata Queries
        • SQL Queries
        • Elasticsearch Queries
        • Lucene Queries
        • Siddhi Queries
    • Business Rules
      • Drools Rules
    • Dynamic Handlers
  • Data Science
    • Overview
    • ML Models
      • Scheduler Platforms
        • Airflow Scheduler
    • GenAI Models
    • MCP Servers
    • Complex Event Processing
      • Siddhi Data Flows
    • Data Visualizations
    • Customizations
  • EXTENSIONS
    • JMESPath
    • Handlebars
Powered by GitBook

© Rierino Software Inc. 2025. All rights reserved.

On this page
  1. Devops
  2. API Flows

Using the Saga Screen

PreviousAPI FlowsNextDefining a Saga

Last updated 1 year ago

Opening the Saga screen from Devops app menu or navigation bar, you will come across a visual graph editor, allowing design of flows step by step.

Sagas are listed on the left side of this screen, grouped by their domain and path information. It is possible to assign multiple saga flows to the same path (i.e. URL endpoint), under the following conditions:

  • Either only 1 saga has active status - typically used when older or alternate versions are kept for reference or disaster recovery

  • More than 1 sagas are active, but they are allowed on different streams - typically used for allowing same endpoint with different flows between development, test and production environments

  • If more than 1 saga is set to active on the same stream, only the first record is used

The saga screen has similar functionalities as any other UI screen, such as save, delete, duplicate, item import and export actions and menus. Saga flow designed on this screen is stored in JSON format, the same as any other data source.

On top of this screen, you will notice that the saga ID is editable, this allows you to assign a meaningful unique ID to each saga for your reference. Since these IDs will be recorded within event logs, this approach makes them more manageable than assigning random or sequential IDs.

Below the ID field, you can find the icon bar, which allows construction of a saga flow as well as changing its layout.

If you click on the edit icon on the left of this bar, you will see the pop-up editor for defining saga details.

At the center of the icon bar, you can see different types of saga steps, which you can and drop on to the grid to add new steps to the saga flow.

Each saga must have a single Start step, but can have multiple Fail or Success steps if that makes your flow easier to follow. Between these steps, you can add any number of steps or conditional logic to build your API flow.

At the right side, you can see the icons for changing the layout of saga flow after you've added its steps, such as automatically aligning steps, hiding / displaying the grid as well as changing its size.

Once you create a new saga or update an existing one, it is automatically updated on the respective runners - as long as the change data capture is not disabled. This update changes API flow for the saga's URL endpoint in real-time. This change can affect still ongoing requests to this URL endpoint (e.g. requests started just milliseconds before you save your saga) as follows:

  • If they are running on another saga record (i.e. with a different id), they continue and finish using that previous saga flow, regardless of whether their saga is set to inactive status or not, effectively having no impact on these requests

  • If you've updated the design of the currently active saga, they start using this new saga flow for completion. If you've done drastic changes on the saga flow, such as removing some steps, this can cause some of these requests to fail. In such cases, we recommend creating a new version of the saga or switching to a back-up saga flow for a few seconds to make sure there are no active requests on your saga.

Icon Bar