README.md

Обработка кредитных заявок

Приложение Spring Boot со встроенным движком Camunda 7 BPM для автоматизации рабочих процессов кредитных заявок.


📌 Обзор

Этот проект реализует процесс одобрения кредитной заявки с использованием Camunda 7. Рабочий процесс включает:

  • Валидацию заявки
  • Оценка кредитоспособности клиента
  • Маршрутизацию решений (одобрение/отказ)

Ключевые технологии:

  • Spring Boot 3.x
  • Camunda 7 BPM Engine
  • H2 Database (встроенная, для разработки)

🚀 Возможности

  • BPMN 2.0 Workflow: Визуальное проектирование процессов с помощью Camunda Modeler.
  • Оценка кредитоспособности клиента: Имитация интеграции с тестовыми сервисами кредитного рейтинга.
  • OpenBPM Control: Мониторинг бизнес-процессов.

⚙️ Требования

  • Java 21+
  • Gradle
  • OpenBPM Studio

🛠️ Установка

  1. Клонировать репозиторий:

    git clone https://github.com/openbpm-platform/openbpm-spring-boot-sample.git
    cd openbpm-spring-boot-sample
    
  2. Собрать и запустить приложение:

    ./gradle bootRun
    
  3. Запустить OpenBPM Control:

    cd docker
    docker compose up -d
    
  4. Доступ:

    Приложение: http://localhost:8080

    OpenBPM Control: http://localhost:8081

    H2 Console: http://localhost:8080/h2-console (JDBC URL: jdbc:h2:mem:camunda)


🔧 Конфигурация

Файл src/main/resources/application.properties:

spring.application.name=openbpm-spring-boot-sample

# Настройки H2
spring.datasource.url: jdbc:h2:file:./h2/camunda-h2-database

spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

# Camunda 7 - встроенная конфигурация
camunda.bpm.admin.user-id=admin
camunda.bpm.admin-user.password=admin

camunda.bpm.auto-deployment-enabled=true
camunda.bpm.deployment-resource-pattern=classpath*:processes/*.bpmn, classpath*:process-forms/*.form

server.port=8080

📂 Определение процесса

В проект добавлен тестовый бизнес-процесс для запроса одобрения кредита.

Файл BPMN: src/main/resources/processes/approval-process.bpmn

Логика процесса:

  1. Заполнение случайными данными (Service Task):

    Автоматическая генерация тестовых данных (имя, фамилия, телефон, email) для имитации заявки.

  2. Валидация данных (Service Task):

    Проверка полноты данных.

  3. Проверка данных (Service Task):

    Логика принятия решения: ➔ Кредитный рейтинг ≥70 → одобрение.
    ➔ Кредитный рейтинг <70 → отказ.

  4. Уведомление об одобрении (Service Task):

    Автоматическая отправка уведомления об одобрении в лог приложения.

  5. Уведомление об отказе (Service Gateway):

    Автоматическая отправка уведомления об отказе в лог приложения.


🛠 Быстрый старт

Вход в систему

Чтобы войти в приложение, выполните следующие шаги:

  1. Перейдите по адресу http://localhost:8081.
  2. Введите данные:
    • Логин: admin
    • Пароль: admin

Подключение к BPM-движкам

Чтобы добавить подключение к запущенному BPM-движку:

  1. Нажмите Add.
  2. В форме New BPM engine укажите:
    • Имя: Localhost
    • Base URL: http://host.docker.internal:8080/engine-rest
    • Authentication: false
  3. Нажмите OK для сохранения подключения.

add-bpm-engine.png

Запуск процесса

Чтобы запустить тестовый бизнес-процесс:

  1. Перейдите в меню Processes.
  2. Нажмите кнопку Start.

view-processes.png

start-process.png

Управление экземплярами процессов

После запуска процесса перейдите на экран Process Instances.
Здесь отображаются все активные бизнес-процессы.

view-process-instances.png

Затем нажмите View, чтобы открыть экран с подробным статусом процесса.

view-process-instance.png

Подробное описание OpenBPM Control можно найти здесь.


📊 Мониторинг

OpenBPM Control:

URL: http://localhost:8081/

Анализ метрик процессов и отладка выполнения.

Описание
Конвейеры
0 успешных
0 с ошибкой
Разработчики