New in 0.16.2

v0.16.4

Introduction

How To Extend Existing Applications With Infinitic

If you’re considering introducing Infinitic into your stack to leverage its orchestration pattern, event-driven architecture, and built-in observability, you might be wondering how to do it using your existing services and event systems.

Starting Workflows

You can trigger new workflow instances from any external source using the Infinitic client. Common integration points include:

  • Webhook endpoints
  • Application servers
  • Message broker consumers (Kafka, RabbitMQ, etc.)

Start Workflow

When starting workflows, you can attach tags (e.g., orderId:123) to identify and track workflow instances using your existing business identifiers. This allows you to later interact with specific workflows without needing to know their internal workflow IDs.

Interacting With Running Workflows

Infinitic provides two main ways to interact with running workflows from external systems:

  1. Parallel Methods - Start new concurrent execution branches
  2. Channels - Send signals that workflows can wait for and react to

Signal Workflow

You can target specific workflow instances using tags that match your business identifiers (e.g., orderId:123). This makes it easy to route events from your existing systems to the relevant workflow instances.

For example, if you have an order status update event from Kafka with orderId 123, you can use that orderId to send a signal to all workflows tagged with orderId:123.

Using Existing Services

You can easily incorporate your existing services (REST APIs, gRPC services, etc.) into Infinitic by calling them from within Infinitic Service implementation:

Using existing services

By wrapping your existing service calls within Infinitic services, you automatically gain:

Sending Workflow Events

Infinitic emits internal events that provide detailed insights into workflow and service execution. You can subscribe to these events and send them back to your existing databases or event brokers (Kafka, RabbitMQ, etc.) to reuse those events by your applications or your monitoring stack:

  • Track workflow progress and completion
  • Monitor service task execution and failures
  • Measure performance and SLA compliance
  • Build custom dashboards and audit trails
  • Integrate with existing monitoring systems

This functionality is available through Infinitic event listeners which can forward events to your monitoring stack.

Infinitic Event Listener

Summary

Infinitic provides multiple integration points to extend your existing applications:

  • Start New Workflows - Trigger workflows from any external source using the client API
  • Interact With Running Workflows - Send signals and start parallel methods using business identifiers
  • Use Existing Services - Wrap existing APIs and services with robust retry and error handling
  • Monitor Workflow Events - Subscribe to internal events for monitoring and auditing

This flexibility allows you to gradually adopt workflow orchestration while leveraging your existing systems and infrastructure.

Extending Existing Applications With Infinitic

Previous
Interfaces As Contract