A complete example demonstrating how to integrate and run the Orqueio Platform within a Spring Boot application. This project provides a ready-to-use setup for business process automation with BPMN workflows.
Orqueio Platform is a powerful business process management (BPM) engine that enables you to design, deploy, and execute BPMN workflows. This starter project includes:
- Embedded Orqueio Engine (v2.0.2)
- Spring Boot 4.0.2 integration
- Enterprise webapps for process management
- REST API for programmatic access
- Example BPMN process (Loan Approval)
- Pre-configured development environment
- Java: 17 or 21
- Spring Boot: 4.0.2
- Maven: 3.6 or higher
- IDE: (Optional) IntelliJ IDEA, Eclipse, or VS Code
git clone <repository-url>
cd Orqueio-get-started-spring-boot
mvn clean installOption A: Using Maven
mvn spring-boot:runOption B: Using Java
java -jar target/orqueio-springboot-*.jarOnce started, access the following endpoints:
-
Orqueio Webapps: http://localhost:8080/
- Username:
demo - Password:
demo
- Username:
-
REST API: http://localhost:8080/engine-rest
Add the following to your pom.xml:
<properties>
<spring-boot.version>4.0.2</spring-boot.version>
<orqueio.version>2.0.2</orqueio.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.orqueio.bpm</groupId>
<artifactId>orqueio-bom</artifactId>
<version>${orqueio.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.orqueio.bpm.springboot</groupId>
<artifactId>orqueio-bpm-spring-boot-starter-webapp</artifactId>
</dependency>
<dependency>
<groupId>io.orqueio.bpm.springboot</groupId>
<artifactId>orqueio-bpm-spring-boot-starter-rest</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>4.0.3</version>
</dependency>
</dependencies>Create your main application class with process application support:
@SpringBootApplication
@EnableProcessApplication
public class WebappExampleProcessApplication {
@Autowired
private RuntimeService runtimeService;
public static void main(String... args) {
SpringApplication.run(WebappExampleProcessApplication.class, args);
}
@EventListener
public void processPostDeploy(PostDeployEvent event) {
runtimeService.startProcessInstanceByKey("loanApproval");
}
}Required Files:
- Add an empty
processes.xmlfile tosrc/main/resources/META-INF/ - This enables automatic process discovery and deployment
Configure database and security settings in src/main/resources/application.yaml:
orqueio.bpm:
admin-user:
id: demo
password: demo
firstName: Demo
filter:
create: All tasksConfiguration Notes:
- Default configuration uses an embedded H2 database
- Default admin credentials: demo/demo
- Customize database, admin credentials, and other settings as needed
src/
├── main/
│ ├── java/
│ │ └── io/orqueio/bpm/getstarted/loanapproval/
│ │ └── WebappExampleProcessApplication.java
│ └── resources/
│ ├── META-INF/
│ │ └── processes.xml
│ ├── loanApproval.bpmn # BPMN process definition
│ └── application.yaml
Place your .bpmn files anywhere on the classpath (e.g., src/main/resources/). They will be automatically:
- Discovered during application startup
- Deployed to the Orqueio Engine
- Registered with the process application
Example: The included loanApproval.bpmn in src/main/resources/ demonstrates a simple loan approval workflow.
Add HTML forms in src/main/resources/static/forms/ (create the directory if needed):
- Forms are automatically linked to user tasks in your BPMN processes
- Use embedded forms or external task forms
Add .dmn files to the classpath (e.g., src/main/resources/) for business rule automation alongside your BPMN processes.
- Process Engine: Full BPMN 2.0 execution engine
- Webapps: Tasklist, Cockpit, and Admin applications
- REST API: Complete process automation API
- Auto-deployment: Automatic discovery and deployment of process definitions
- Embedded Database: H2 database for quick start (production-ready databases supported)
Web Application Login:
- Username:
demo - Password:
demo
Change these credentials in application.yaml for production use.
- Explore the Orqueio Webapps at http://localhost:8080/
- Design your own BPMN processes using the Orqueio Modeler
- Deploy additional processes by adding them to the
resourcesdirectory - Customize the configuration for your environment
- Integrate with your existing Spring Boot services
For more information about Orqueio Platform:
Check the project license file for usage terms and conditions.