👨💻Technology Stack
This page lists all the technologies used in building MOSIP. Free and open-source software with clear long-term support availability has been chosen. For a deployment, certain choices can be replaced with other free or commercial options.
Domain | Tools/Technologies | Version | Licence Type | Commercial | Production | Cost |
---|---|---|---|---|---|---|
Operating System | CentOS | 7.7 | MIT License | Yes | Yes | NA - Part of Azure |
Operating System | Ubuntu Server | 20.04 | Free | No | No | NA |
Infrastructure | Cloud - Azure/AWS | NA - Cloud tool | Commercial | Yes | Depends on Deployment Arch. | Depends on Deployment Arch. |
Development - Language Runtime | Java SE 11 | OpenJDK 11 | Oracle Binary Code License | No | Yes | NA |
Development - Expression language | mvel2 | 2.4.7.Final | ||||
Development - Scheduling | quartz | 2.2.1 | ||||
Development - File Server | tus-java-client | 0.4.3 | ||||
Development - Internalization | nv-i18n | 1.29 | ||||
Development - Cryptography | TPM | 2.0 | ||||
Development - UI Application framework | JavaFx | OpenJFX 11 | GPL v2 + Classpath | No | Yes | NA |
Development - Application Framework | Vert.x | 3.9.1 | Apache License 2.0 | No | Yes | NA |
Development - Application Framework | Spring | 5 | Apache License 2.0 | No | Yes | NA |
Development - Utilities | Apache commons(60+ to be considered) | Latest version | Apache License 2.0 | No | Yes | NA |
Development - Data Grid | Apache Ignite | 2.4.0 | Apache License 2.0 | No | Yes | NA |
Development - Object Mapper | Orika | 1.5.2 | Apache License 2.0 | No | Yes | NA |
Development - validator | Hibernate validator | 5.4.2 | Apache Software License 2.0 | No | Yes | NA |
Development - Encryption | BouncyCastle | 1.59 | Adaptation of MIT X11 License | No | Yes | NA |
Development - JSON marshal/unmarshal | Jackson | 2.9.5 | Apache License 2.0 | No | Yes | NA |
Development - Device Driver | RXTX | RXTX-2-2-20081207 | LGPL v 2.1 | No | Yes | NA |
Development - Unit Testing | Junit | 5.x and above | Common Public License - v 1.0 | No | No | NA |
Development - Unit Testing | Junit | 4.x and above | Common Public License - v 1.0 | No | No | NA |
Development - Log | logback | 1.2.3 | GNU Lesser GPL Version 2.1 | No | Yes | NA |
Development - Templating | velocity | 1.7 | Apache License 2.0 | No | Yes | NA |
Development - Tools | Open street view | NA - Cloud tool | Open Database License (ODbL) | No | Yes | NA |
Development - IDE | Eclipse Oxygen | 4.7.3 | Eclipse Public License Version 2.0 | No | No | NA |
Development - Unit Testing | Karma | 2.0.x | MIT License | No | No | NA |
Development - Unit Testing | Jasmine | 2.6.1 | MIT License | No | No | NA |
Development - API Documentation | Swagger | 3.13.2 | Apache License 2.0 | No | No | NA |
Development - Application Server | Tomcat server | 8 | Apache License 2.0 | No | Yes | NA |
Development - Orchestration | Apache Camel | 2.19.3 | Apache License 2.0 | No | Yes | NA |
Development - WebSub | Ballerina Websub | slbeta2 | Apache License 2.0 | No | Yes | NA |
Development - Database | H2 DB | 1.4.197 | No | Yes | NA | |
Development - Database | PostgreSQL | Server: 10 | Postgres License BSD 2-clause "Simplified License" | Yes | No | NA |
Development - Database | Derby DB | 10.13.1.1 | ||||
Development - Database Modeling tool | PG Data Modeler | 0.9.2 | Commercial | No | Yes | Nominal |
Development - Scanner library | 7 | Commercial | ||||
Development - Code quality | Sonar | 7.2 | Open Source License | No | No | NA |
Development - UI Designs | Pencil Project | 3.0.4 | GNU Public License version 2 | No | No | NA |
Development - TPM Java client | TSS.Java | 0.3.0 | ||||
Testing tools | Rest-assured | 3.0.0 and above | Apache License 2.0 | |||
Testing tools | WireMock or Citrus framework | 2.16.0 or respectively | Apache License 2.0 | No | No | NA |
Testing tools | JMeter | 5.3.x | Apache License 2.0 | No | No | NA |
Testing tools | Burp suite Professional + | 9.0.3.7 | PortSwigger - Burp suite Professional + / V1.7.33 | No | No | NA |
Testing tools | TestNG | 6.11 | Apache License 2.0 | No | No | NA |
Testing tools | awaitility | 4.0.3 | Apache License 2.0 | No | No | NA |
Testing tools | testfx | 4.0.16-alpha | EUPL1.1 | No | No | NA |
Testing tools | extentreports | 3.1.5 | Apache License 2.0 | No | No | NA |
Testing tools | selenium-java | 3.141.59 | Apache License 2.0 | No | No | NA |
DevOps tools | Jira | 6.4 and above | Not Open source | |||
Testing tools | 12.x | No | NA | 12.0.3 | Open Source License | |
DevOps tools | SonarLint | v3.5 | GNU GPL | |||
DevOps tools | GitHub | 2.7.x | Commercial - Github | |||
DevOps tools | SonarQube | 6.7.3 LTS | GNU GPL | |||
DevOps tools | Maven | 3.53.x | Apache License 2.0 | |||
DevOps tools | Docker | 18.03.x CE | Apache 2.0 | |||
DevOps tools | Ansible | 2.2 | GNU GPL v3.0 | |||
DevOps tools | Github actions | NA - Cloud tool | ||||
DevOps tools | Travis | NA - Cloud tool | MIT License | |||
DevOps tools | Glowroot | Apache License 2.0 | ||||
DevOps tools | Prometheus | Apache License 2.0 | ||||
DevOps tools | Grafana | Apache License 2.0 | ||||
DevOps tools | Python | 3.x | ||||
Messaging | ActiveMQ | Apache License 2.0 | ||||
Messaging | Apache Kafka | Apache License 2.0 | ||||
Caching | Hazelcast | Apache License 2.0 | ||||
Object Store | MinIO | GNU AGPL v3 | ||||
Secure Code Scanning | SonarQube with OWASP plugin will be used | |||||
Web Server/HTTP proxy server | Nginx | NA - Cloud tool | ||||
IAM | KeyCloak |
Last updated