Backend Dependencies
Backend Dependencies
CIB ins7ght backend uses the following third-party libraries and frameworks.
Core Framework
Spring Boot
- Version: 3.5.1
- License: Apache License 2.0
- Purpose: Core application framework, dependency injection, auto-configuration
Included Starters:
spring-boot-starter-web- Web application support with embedded Tomcatspring-boot-starter-data-jpa- Database access with JPA/Hibernatespring-boot-starter-jdbc- JDBC database connectivity
Java Runtime
- Java Version: 17
- License: GPL v2 with Classpath Exception
- Purpose: Programming language and runtime environment
Jakarta EE
Jakarta Servlet API
- Version: 6.0 (from Spring Boot 3.5.1)
- License: EPL 2.0
- Purpose: Servlet specification for web applications
- Scope: Provided (supplied by Tomcat)
Database
PostgreSQL JDBC Driver
- Version: Managed by Spring Boot 3.5.1
- License: BSD 2-Clause
- Purpose: PostgreSQL database connectivity
- Scope: Runtime
H2 Database
- Version: Managed by Spring Boot 3.5.1 (2.x)
- License: MPL 2.0 or EPL 1.0
- Purpose: In-memory and file-based database
- Scope: Runtime
Hibernate ORM
- Version: Managed by Spring Boot 3.5.1 (6.x)
- License: LGPL 2.1
- Purpose: Object-relational mapping, JPA implementation
- Included via: Spring Data JPA
HikariCP
- Version: Managed by Spring Boot 3.5.1
- License: Apache License 2.0
- Purpose: High-performance JDBC connection pool
- Included via: Spring Boot default
CIB Seven Integration
Camunda REST Client
- Version: 7.22.0
- License: Apache License 2.0
- Purpose: REST client for connecting to CIB seven (Camunda) engine
- Repository: https://github.com/camunda-community-hub/camunda-platform-7-rest-client-spring-boot
Utilities
Lombok
- Version: Managed by Spring Boot 3.5.1 (1.18.x)
- License: MIT License
- Purpose: Reduce boilerplate code (getters, setters, constructors, builders)
- Scope: Provided (compile-time only)
Web and API
Jackson
- Version: Managed by Spring Boot 3.5.1 (2.x)
- License: Apache License 2.0
- Purpose: JSON serialization and deserialization
- Included via: Spring Boot Starter Web
Apache Tomcat (Embedded)
- Version: 10+ (from Spring Boot 3.5.1)
- License: Apache License 2.0
- Purpose: Embedded servlet container
- Included via: Spring Boot Starter Web
Logging
SLF4J
- Version: 2.0.16
- License: MIT License
- Purpose: Logging facade API
- Included via: Spring Boot
Logback
- Version: Managed by Spring Boot 3.5.1 (1.5.x)
- License: EPL 1.0 / LGPL 2.1
- Purpose: Logging implementation
- Included via: Spring Boot
Build Tools
Maven
- Version: 3.6+
- License: Apache License 2.0
- Purpose: Build automation and dependency management
Frontend Maven Plugin
- Version: 1.15.1
- License: Apache License 2.0
- Purpose: Integrate Node.js and npm builds into Maven
Frontend Build Integration:
- Downloads and installs Node.js 22.14.0 and npm 10.9.2
- Runs
npm cito install frontend dependencies - Executes
npm run buildto build Vue frontend - Copies built frontend assets to WAR file
See Frontend Dependencies for complete frontend library documentation.
Complete Dependency Summary
| Library | Version | License | Purpose |
|---|---|---|---|
| Spring Boot | 3.5.1 | Apache 2.0 | Core framework |
| Java | 17 | GPL v2 + Classpath Exception | Runtime |
| Jakarta Servlet API | 6.0 | EPL 2.0 | Servlet specification |
| Spring Data JPA | (from Spring Boot) | Apache 2.0 | Data access |
| Hibernate | 6.x | LGPL 2.1 | ORM |
| PostgreSQL Driver | (from Spring Boot) | BSD 2-Clause | Database driver |
| H2 Database | 2.x | MPL 2.0 / EPL 1.0 | Database |
| HikariCP | (from Spring Boot) | Apache 2.0 | Connection pooling |
| Camunda REST Client | 7.22.0 | Apache 2.0 | CIB seven integration |
| Lombok | 1.18.x | MIT | Code generation |
| Jackson | 2.x | Apache 2.0 | JSON processing |
| Logback | 1.5.x | EPL 1.0 / LGPL 2.1 | Logging |
| SLF4J | 2.0.16 | MIT | Logging API |
License Types
All third-party libraries comply with open-source licenses:
- Apache License 2.0: Permissive, allows commercial use
- MIT License: Permissive, minimal restrictions
- BSD 2-Clause: Permissive, similar to MIT
- EPL (Eclipse Public License): Weak copyleft
- LGPL: Weak copyleft, allows dynamic linking
- MPL (Mozilla Public License): Weak copyleft
- GPL v2 with Classpath Exception: Allows commercial use with exception
Dependency Management
Dependencies are managed through Maven using the parent POM structure:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.5.1</version>
</parent>
Version management is handled by:
- Spring Boot BOM (Bill of Materials)
- Parent POM version properties
- Direct version specifications where needed
Support and Documentation
- Spring Boot: https://spring.io/projects/spring-boot
- Hibernate: https://hibernate.org/orm/documentation/
- PostgreSQL JDBC: https://jdbc.postgresql.org/
- H2 Database: https://www.h2database.com/
- Camunda REST Client: https://github.com/camunda-community-hub/camunda-platform-7-rest-client-spring-boot
- Lombok: https://projectlombok.org/