Third-Party Libraries
This section covers third party libraries and their use in Camunda. For each component of Camunda, the third party libraries are listed. For each library, it is explained whether the library is a required dependency or an optional dependency.
Required dependencies are libraries Camunda depends on to provide core functionality. In the list below marked as (Required Dependency).
Optional dependencies are libraries Camunda can be integrated with. In the list below marked as (Optional Dependency).
Process Engine
The process engine depends on the following third-party libraries:
- MyBatis mapping framework (Required Dependency), (Apache License 2.0) for object-relational mapping.
- Joda Time (Required Dependency), (Apache License 2.0) for parsing date formats.
- Java Uuid Generator (JUG), (Optional Dependency), (Apache License 2.0) Id Generator. See the documentation on Id-Generators
- SLF4J, (Required Dependency), (MIT) Logging Facade
Additionally, the process engine can be integrated with:
- Apache Commons Email (Optional Dependency), (Apache License 2.0) for mail task support.
- Spring Framework Spring-Beans (Optional Dependency), (Apache License 2.0) for configuration using camunda.cfg.xml.
- Spring Framework Spring-Core (Optional Dependency), (Apache License 2.0) for configuration using camunda.cfg.xml.
- Spring Framework Spring-ASM (Optional Dependency), (Apache License 2.0) for configuration using camunda.cfg.xml.
- Groovy (Optional Dependency), (Apache License 2.0) for groovy script task support.
- Jython (Optional Dependency), (Python License) for Python script task support.
- JRuby (Optional Dependency), (Ruby License or GPL) for Ruby script task support.
- Freemarker (Optional Dependency), (Apache License 2.0) for freemarker template engine support.
- Apache Velocity (Optional Dependency), (Apache License 2.0) for apache velocity template engine support.
- SAXON (Optional Dependency), (Mozilla Public License 1.0) for XSLT and XQuery template engine support.
REST API
The REST API depends on the following third-party libraries:
- Jackson JAX-RS (Required Dependency), (Apache License 2.0) provider for JSON content type
- Apache Commons FileUpload (Required Dependency), (Apache License 2.0)
Additionally, when using Apache Tomcat:
- RESTEasy (Required Dependency), (Apache License 2.0)
Spring Support
The Spring support can be integrated with the following third-party libraries:
- Apache Commons DBCP (Optional Dependency), (Apache License 2.0)
- Apache Commons Lang (Optional Dependency), (Apache License 2.0)
- Spring Framework Spring-Beans (Optional Dependency), (Apache License 2.0)
- Spring Framework Spring-Core (Optional Dependency), (Apache License 2.0)
- Spring Framework Spring-ASM (Optional Dependency), (Apache License 2.0)
- Spring Framework Spring-Context (Optional Dependency), (Apache License 2.0)
- Spring Framework Spring-JDBC (Optional Dependency), (Apache License 2.0)
- Spring Framework Spring-ORM (Optional Dependency), (Apache License 2.0)
- Spring Framework Spring-TX (Optional Dependency), (Apache License 2.0)
Camunda Spin
Camunda Spin depends on the following third-party libraries:
- Jackson Json (Required Dependency), (Apache License 2.0) for Json Dataformat Support
Additionally, Camunda Spin can be integrated with the following libraries:
- Jayway Json Path (Optional Dependency) (Apache License 2.0) for Json Path Support
Camunda Connect
Camunda Connect depends on the following third-party libraries:
- Apache Http Components (Required Dependency), (Apache License 2.0) for REST and SOAP support.
Camunda Webapp
The Camunda Webapp (Cockpit, Tasklist, Admin) includes the following third-party libraries:
- AngularJS (Required Dependency), (MIT)
- AngularUI (Required Dependency), (MIT)
- bpmn-js (Required Dependency), (Custom license)
- domReady (Required Dependency), (MIT or new BSD)
- heatmap.js (Required Dependency), (MIT)
- Placeholder.js (Required Dependency), (MIT)
- prism.js (Required Dependency), (MIT)
- jQuery (Required Dependency), (MIT)
- jQuery UI (Required Dependency), (MIT)
- RequireJS (Required Dependency), (MIT)
- Snap.svg (Required Dependency), (Apache License 2.0)
- Twitter Bootstrap (Required Dependency), (Apache License 2.0)
- Mousetrap (Required Dependency), (Apache License 2.0)
Most of these libraries are used in the Camunda commons UI library which is aimed at easing development of browser based user interfaces.
Camunda Javascript SDK
The Camunda Javascript SDK (including the Forms SDK) integrates with the following third-party libraries:
- Super Agent (Required Dependency), (MIT)
- jQuery (Required Dependency), (MIT)
- AngularJS (Required Dependency), (MIT)
- AngularUI (Required Dependency), (MIT)
Camunda Modeler
The Camunda Modeler includes the following third-party libraries:
- Electron (Required Dependency), (MIT)
- Chromium (Required Dependency), (License Details)
- Node.js (Required Dependency), (License Details)
- CodeMirror (Required Dependency), (MIT)
- Twitter Bootstrap (Required Dependency), (MIT)
- virtual-dom (Required Dependency), (MIT)
Camunda Cycle Web Application
The Camunda Cycle web application includes the following third-party libraries:
Javascript dependencies:
- AngularJS (Required Dependency), (MIT)
- Twitter Bootstrap (Required Dependency), (Apache License 2.0)
- Dojo (Required Dependency), (Academic Free License 2.1)
Java dependencies:
- Hibernate (Required Dependency), (GNU Lesser General Public License)
- Apache Commons Codec (Required Dependency), (Apache License 2.0)
- NekoHTML (Required Dependency), (Apache License 2.0)
- SAXON (Required Dependency), (Mozilla Public License 1.0)
- Apache Commons Virtual File System (Required Dependency), (Apache License 2.0)
- AspectJ runtime (Required Dependency), (Eclipse Public License 1.0)
- AspectJ weaver (Required Dependency), (Eclipse Public License 1.0)
- Jasypt (Required Dependency), (Apache License 2.0)
- SLF4J JCL (Required Dependency), (MIT)
- Spring Framework Spring-AOP (Required Dependency), (Apache License 2.0)
- Spring Framework Spring-ORM (Required Dependency), (Apache License 2.0)
- Spring Framework Spring-Web (Required Dependency), (Apache License 2.0)
- Thymeleaf (Required Dependency), (Apache License 2.0)
- Thymeleaf-Spring3 (Required Dependency), (Apache License 2.0)
- Tigris SVN Client Adapter (Required Dependency), (Apache License 2.0)
- SVNKit (Required Dependency), (TMate Open Source License)
- SVNKit JavaHL (Required Dependency), (TMate Open Source License)
- Gettext Commons (Required Dependency), (Apache License 2.0)