Instalação e Setup
O projeto do Início Rápido já vem com todos esses starters configurados pelo
Initializr do Craft. Esta página é a referência para quando você precisa montar o pom.xml à mão —
integrar o Kikwiflow a uma aplicação Spring Boot que já existe, ou entender o que cada starter traz.
Pré-requisitos
- JDK 21 — o Kikwiflow é construído sobre recursos modernos de Java (records, sealed interfaces, threads virtuais) e não suporta versões anteriores.
- Maven — não há wrapper (
mvnw) no próprio Kikwiflow; use uma instalação demvnno seu ambiente ou o wrapper do seu próprio projeto. - Spring Boot — os módulos
*-spring-boot-starterassumem uma aplicação Spring Boot já configurada.
Todos os artefatos do Kikwiflow são publicados no Maven Central, sob o namespace
io.kikwiflow. O código-fonte está em
github.com/atoxfy/kikwiflow.
Escolhendo a persistência
O Kikwiflow separa o motor de execução da forma como o estado é persistido. Duas opções prontas:
| Starter | Uso recomendado |
|---|---|
kikwi-in-memory-spring-boot-starter | Prototipagem local, testes de integração, demos — nenhum dado sobrevive a um restart da aplicação. |
kikwi-runtime-persistence-mongodb-spring-boot-starter | Produção — persistência real em MongoDB, com commitWork transacional. |
Ambos expõem o mesmo contrato (KikwiEngineRepository) — trocar de um para o outro depois é uma troca de
dependência, não uma reescrita de handlers ou de definições de processo.
Setup mínimo (in-memory, para começar rápido)
<dependency>
<groupId>io.kikwiflow</groupId>
<artifactId>kikwi-spring-boot-starter</artifactId>
<version>${kikwiflow.version}</version>
</dependency>
<dependency>
<groupId>io.kikwiflow</groupId>
<artifactId>kikwi-in-memory-spring-boot-starter</artifactId>
<version>${kikwiflow.version}</version>
</dependency>
Isso é suficiente para subir a aplicação sem precisar de infraestrutura externa.
Setup de produção (MongoDB)
<dependency>
<groupId>io.kikwiflow</groupId>
<artifactId>kikwi-spring-boot-starter</artifactId>
<version>${kikwiflow.version}</version>
</dependency>
<dependency>
<groupId>io.kikwiflow</groupId>
<artifactId>kikwi-runtime-persistence-mongodb-spring-boot-starter</artifactId>
<version>${kikwiflow.version}</version>
</dependency>
Configure a conexão com o Mongo normalmente, via spring.data.mongodb.* (propriedades padrão do Spring Boot). É
essa a combinação que o Início Rápido usa, com o Mongo subindo local via
docker-compose.
API REST de gestão (opcional)
Se você quer expor os endpoints de consulta e operação (buscar instâncias, completar tarefas externas, retry de incidentes) descritos em Operando via REST, adicione também:
<dependency>
<groupId>io.kikwiflow</groupId>
<artifactId>kikwi-management-rest-spring-boot-starter</artifactId>
<version>${kikwiflow.version}</version>
</dependency>
<dependency>
<groupId>io.kikwiflow</groupId>
<artifactId>kikwi-runtime-query-spring-boot-starter</artifactId>
<version>${kikwiflow.version}</version>
</dependency>
Monitor embarcado (opcional)
Com a API REST de gestão no ar, você pode servir a interface do Kikwiflow Monitor
pelo próprio processo da aplicação, em /monitor-ui/, adicionando:
<dependency>
<groupId>io.kikwiflow</groupId>
<artifactId>kikwi-monitor-spring-boot-starter</artifactId>
<version>${kikwiflow.version}</version>
</dependency>
Configuração e ressalvas em
kikwiflow.monitor-ui.*.
application.yml mínimo
spring:
application:
name: minha-aplicacao
kikwiflow:
process-definition:
auto-deploy:
enabled: true
path: "classpath*:processes/**/*.kikwi" # default
security:
deploy-enabled: true # default: false — SEM isto, nenhum processo é implantado
process-definition.auto-deploy.path já vem com esse valor como default — só declare explicitamente se quiser
um caminho diferente. security.deploy-enabled precisa ser true para qualquer deploy acontecer (o
auto-deploy do classpath incluído); o default é false, de propósito. Veja
Configuração Essencial para as demais propriedades relevantes no dia a
dia.
Modelando com o Craft
Você não precisa escrever o JSON de um processo à mão. O Kikwiflow Craft,
disponível em craft.kikwiflow.io, é o editor visual onde o processo é desenhado
como um fluxo e exportado como um arquivo .kikwi (JSON) pronto para colocar em
src/main/resources/processes/. O Craft também gera, pelo Initializr do Hub de Exportação, um projeto
Spring Boot completo já com esses starters, docker-compose.yml e os stubs de bean — é por aí que o
Início Rápido começa.
Próximo passo
Se você ainda não montou um processo do zero, o Início Rápido faz isso do desenho no
Craft até visível no Monitor. Se o projeto já está de pé, siga para Anatomia de um
Processo — o formato do arquivo .kikwi e o catálogo de tipos de nó.