Connectors¶
Framework de integracion de Camunda 8 que permite conectar workflows con sistemas externos. Ofrece un SDK con dos modelos: OutboundConnectorFunction (sincrono, basado en jobs) e InboundConnectorExecutable (asincrono, event-driven). El runtime opera como Zeebe job workers.
Contexto¶
Los Connectors resuelven el problema de integracion entre los workflows BPMN y los sistemas externos (APIs, messaging, bases de datos, servicios cloud). Sin connectors, cada integracion requeriria escribir un job worker custom. El framework estandariza este patron y provee ~40 conectores listos para usar.
SDK: dos modelos de connector¶
OutboundConnectorFunction (sincrono, job-based)¶
- Implementa la interfaz
OutboundConnectorFunctioncon un metodoexecute(OutboundConnectorContext) - Se activa cuando el broker asigna un job al worker — el modelo clasico poll-and-complete
- El connector recibe las variables del job, ejecuta la logica (llamada HTTP, publicar mensaje Kafka, etc.) y retorna el resultado
- Ejecucion sincrona: el job queda bloqueado hasta que el connector responde
- Ideal para: llamadas API, operaciones CRUD, transformaciones de datos
BPMN Service Task → Zeebe Job → Connector Runtime (poll) → OutboundConnectorFunction.execute() → resultado al broker
InboundConnectorExecutable (asincrono, event-driven)¶
- Implementa
InboundConnectorExecutablecon metodosactivate()ydeactivate() - No espera un job — se activa al deployar un proceso y permanece escuchando eventos externos
- Cuando un evento llega (webhook HTTP, mensaje Kafka, evento de Slack, etc.), el connector lo correlaciona con la instancia de proceso correcta via message correlation del broker
- Ejecucion asincrona y de larga duracion: el connector vive mientras el proceso este desplegado
- Ideal para: webhooks, suscripciones a colas, listeners de eventos
Evento externo → InboundConnectorExecutable → PublishMessage al broker → correlation con instancia esperando
Runtime como Zeebe job workers¶
El Connector Runtime es una aplicacion Spring Boot que:
- Se registra como job worker en el cluster Zeebe para los outbound connectors
- Cada tipo de connector declara su
type(ej:io.camunda:http-json:1) que matchea con el job type del service task BPMN - Para inbound connectors, el runtime gestiona el lifecycle de activacion/desactivacion
- Puede correr como proceso standalone o embebido en otros servicios
Conectores disponibles (~40)¶
El catalogo incluye conectores para multiples categorias:
| Categoria | Ejemplos |
|---|---|
| Cloud | AWS Lambda, AWS SQS, AWS SNS, Google Drive, Google Sheets |
| Messaging | Kafka, RabbitMQ, Amazon SQS |
| Comunicacion | Slack, Microsoft Teams, SendGrid, Twilio |
| HTTP | REST generico (JSON), GraphQL, SOAP |
| Bases de datos | SQL generico |
| Automation | GitHub, GitLab, Camunda (operate on processes) |
| AI | OpenAI, Amazon Bedrock |
Cada connector se configura desde el modelador BPMN — las propiedades del service task definen endpoint, credenciales (via secrets), payload, etc.
Inbound connectors y message correlation¶
Los inbound connectors usan el mecanismo de message correlation de Zeebe para vincular eventos externos con instancias de proceso:
- El connector publica un mensaje con un
messageNamey unacorrelationKey - El broker correlaciona el mensaje con instancias que tienen un message catch event con el mismo nombre y key
- Si no hay instancia esperando, el mensaje se puede almacenar temporalmente (TTL configurable)
- Este patron permite integraciones event-driven sin polling
Repositorio separado¶
Los connectors viven en un repositorio independiente: camunda/connectors
- Separado del monorepo principal (
camunda/camunda) - Tiene su propio ciclo de release
- El SDK y el runtime son las dependencias compartidas; cada connector es un modulo independiente
- Terceros pueden crear connectors custom usando el SDK
Relaciones¶
- Se ejecuta como worker de: entities/zeebe-broker
- Recibe jobs via: entities/zeebe-gateway
- Usa message correlation de: concepts/stream-processing
Abierto / gaps¶
- Modelo de gestion de secrets para credenciales de connectors en produccion
- Estrategia de retry y error handling para outbound connectors fallidos
- Performance de inbound connectors bajo alta concurrencia de eventos