Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/boomerang-io/flow.service.workflow
The backend for front-end microservice for Boomerang Flow, a no-code, cloud-native workflow automation tool. Built in Java using Sprint Boot
https://github.com/boomerang-io/flow.service.workflow
automation boomerang dag java spring-boot workflow
Last synced: about 7 hours ago
JSON representation
The backend for front-end microservice for Boomerang Flow, a no-code, cloud-native workflow automation tool. Built in Java using Sprint Boot
- Host: GitHub
- URL: https://github.com/boomerang-io/flow.service.workflow
- Owner: boomerang-io
- License: apache-2.0
- Created: 2020-07-24T15:25:03.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-08-17T05:03:36.000Z (3 months ago)
- Last Synced: 2024-08-17T06:20:41.223Z (3 months ago)
- Topics: automation, boomerang, dag, java, spring-boot, workflow
- Language: Java
- Homepage: https://useboomerang.io
- Size: 3.84 MB
- Stars: 7
- Watchers: 10
- Forks: 8
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Flow Workflow Service
The Boomerang Flow Workflow service provides the CRUD backing the front-end web tier, as well as the APIs for direct consumption, and the executor for the workflow tasks.
## v2 APIs
Flow service provides APIs for:
- User & Team Management
- Creating / Updating workflows
- Executing workflows as Directed acyclic graph (DAG)## Prerequisites
1. Java 11
2. Spring Boot 2.3
3. Maven## Testing Locally
## Dependencies
### CloudEvents
This service listen and consumes CloudEvents.
### Quartz
The Java Quartz library is used for running scheduled jobs via mongoDB and underpins the Schedule trigger.
The following links will help provide guidance in development
- http://www.quartz-scheduler.org/documentation/quartz-2.2.2/tutorials/tutorial-lesson-04.html
- http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/cookbook/UpdateTrigger.html
- https://github.com/StackAbuse/spring-boot-quartz/blob/master/src/main/java/com/stackabuse/service/SchedulerJobService.java
- https://stackabuse.com/guide-to-quartz-with-spring-boot-job-scheduling-and-automation/## Security
Security is enabled / disabled through the `flow.authorization.enabled` flag in the application.properties
The following classes are conditionally loaded based on this flag
| Class | Condition |
| AuthenticationFilter | true |
| InterceptorConfig (and by association SecurityInterceptor) | true |
| SecurityConfiguration | true |
| SecurityDisabledConfiguration | false |