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 Tomcat
  • spring-boot-starter-data-jpa - Database access with JPA/Hibernate
  • spring-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


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 ci to install frontend dependencies
  • Executes npm run build to 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

On this Page: