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.)
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:
- Parallel Methods - Start new concurrent execution branches
- Channels - Send signals that workflows can wait for and react to
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:
By wrapping your existing service calls within Infinitic services, you automatically gain:
- Robust retry handling for failed calls
- Efficient batch processing capabilities
- Configurable timeout management
- Ability to handle errors gracefully using workflow error handling
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.
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.