Guia de Implantação do RuoYi-Flowable: Configuração de Backend e Frontend

O ecossistema RuoYi-Flowable integra a arquitetura RuoYi-Vue com o motor de processos Flowable 6.7.2, fornecendo uma plataforma robusta para a automação de fluxos de trabalho corporativos (BPM). A implementação desta solução requer a orquestração de serviços Java baseados em Spring Boot e uma aplicação web construída com Vue.js. Este documento detalha o provisionamento do ambiente, a inicialização da base de dados e a execução dos serviços.

Requisitos de Infraestrutura

Para garantir a estabilidade do ambiente de desenvolvimento e produção, as seguintes dependências devem estar instaladas e configuradas nas variáveis de ambiente do sistema operacional:

  • Java: JDK 8 ou superior
  • Banco de Dados: MySQL 5.7 ou 8.0
  • Gerenciador de Pacotes Java: Apache Maven 3.6+
  • Ambiente Frontend: Node.js (versão LTS) e NPM

Execute os comandos abaixo no terminal para validar a disponibilidade das ferramentas:

# Validação das versões das ferramentas essenciais
java -version
mvn --version
node -v
npm -v

Provisionamento do Banco de Dados

O motor de workflow depende de uma estrutura relacional rigorosa para armazenar definições de processos, instâncias em execução e históricos de auditoria. Inicialize o banco de dados e aplique os scripts DDL/DML na ordem correta para evitar falhas de integridade referencial:

-- Criação do banco de dados com suporte a caracteres especiais
CREATE DATABASE workflow_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE workflow_db;

-- Sequência de importação dos scripts SQL:
-- 1. Tabelas de segurança, dicionários e estrutura base (ry_base_data.sql)
-- 2. Tabelas do agendador de tarefas assíncronas (quartz_scheduler.sql)
-- 3. Tabelas do motor de processos BPM (flowable_engine.sql)

Configuração do Backend (Spring Boot)

A arquitetura de backend é segmentada em múltiplos módulos Maven, incluindo o núcleo de autenticação, o gerenciador de sistema e a integração direta com a API do Flowable.

Após clonar o repositório, é necessário atualizar as credenciais do pool de conexões. Edite o arquivo application-druid.yml localizado no módulo principal da API (geralmente admin-api/src/main/resources/):

spring:
  datasource:
    druid:
      master:
        url: jdbc:mysql://127.0.0.1:3306/workflow_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
        username: sys_admin
        password: S3cur3P@ssw0rd!
        driver-class-name: com.mysql.cj.jdbc.Driver

Preparação da Interface do Usuário (Vue.js)

O cliente web é responsável por renderizar o modelador BPMN, os painéis de controle e as interfaces de aprovação. Navegue até o diretório de frontend e instale as dependências utilizando um gerenciador de pacotes:

cd client-web
# Instalação limpa das dependências (ignora conflitos menores de pares)
npm ci --legacy-peer-deps
# Compilação do ambiente de desenvolvimento
npm run build:dev

Gerenciamento de Fluxos e Permissões

A plataforma utiliza um modelo de Controle de Acesso Baseado em Funções (RBAC) que se integra diretamente às definições do BPMN 2.0:

  • Modelagem Visual: O designer de processos integrado permite o mapeamento de tarefas de usuário, gateways exclusivos, eventos de tempo e scripts de execução.
  • Filas de Aprovação: O sistema segmenta as atividades em caixas de entrada de tarefas pendentes (To-Do) e registros históricos de auditoria (Done).
  • Controle de Acesso: A matriz de permissões garante que apenas departamentos ou usuários com roles específicas possam iniciar, delegar ou rejeitar instânccias de processos.

Inicialização dos Serviços

Execute a API e o servidor de desenvolvimento web simultaneamente para validar a integração entre as camadas de apresentação e persistência:

# Subindo a aplicação Spring Boot
cd admin-api
mvn clean spring-boot:run -Dspring.profiles.active=dev

# Iniciando o servidor web (em uma nova janela de terminal)
cd client-web
npm run serve -- --port 8080

O painel administrativo estará acessível via protocool HTTP na porta 8080. Utilize as credenciais de superusuário padrão para realizar o primeiro login. Recomenda-se a imediata rotação das chaves de acesso e a configuração de políticas de senha.

Diagnóstico de Falhas de Implantação

  • Erro de Timezone no MySQL: Exceções de conversão de data (zeroDateTimeBehavior) exigem a configuração explícita do parâmetro serverTimezone=UTC na string de conexão JDBC.
  • Conflitos de Dependências Node: Utilize a flag --legacy-peer-deps caso o projeto apresente erros de resolução de dependências devido a versões desatualizadas de bibliotecas Vue incompatíveis com o NPM 7+.
  • Falhas de CORS na API: Verifique se o proxy de desenvolvimento (vue.config.js) está roteando as requisições com prefixo /prod-api/ corretamente para a porta local do servidor Tomcat embutido.

Tags: ruoyi Flowable Spring Boot Vue.js BPMN

Publicado em 7-15 00:46