Frameworks & Libraries

Work in Progress

Orange is under consideration

Blank cells are unknown

N/A cells are known to not be addressed


Authentication/SSOSpring Security: B. Auth & OAuth2 Auth & OpenID  
Community - LicenseGNU Affero General Public License Version 3MPL v2   GPL V3
Community - Organization/SupportCommittees    
Community - Sustainability     
Deployment Packaging

Services built as WARs in JARs (Spring Boot)

Services published as Images to DockerHub

Service Images composed and deployed with Docker Compose

WAR + Custom module (Maven)WARWARPython Django
Continuous Delivery approachJenkins builds&publishes to DockerHub, Jenkins deployment script to cloudBamboo builds and deploys to UAT servers   
Continuous Integration approach

Jenkins builds PR, GitHub integration shows test status

Sonar analysis on dev branch

Bamboo builds committed code,
deploys to integration test server,
and runs functional tests.

Jenkins builds PR, GitHub integration shows test status  
SCM Tool (branching strategy)Git, GitFlow, Feature branches and Pull Requests off of develop branchGit, Feature branches and Pull RequestsGit, Feature branches and Pull RequestsBzrGit
Database - Access     
Database - Data MigrationFlywayLiquibaseFlyway  
Database - ORMJPA w/ HibernateHibernate Hibernate, JDBC 
Database - Spatial SupportPostgreSQL + PostGIS  PostGIS 
Documentation - APISwaggerSwagger UI, Javadoc   
Documentation - Framework(s)  Sphinx  
Documentation - Publishing ReadTheDocs.orgREST  
Extra Data -- extending entitiesJSON column, maybe NoSQL w/ UUIDThin TablesMoTech Data ServicesThin Tables 
Localization and il8nJava Resource Bundle, TransifexJava Resource Bundle, Transifex   
LoggingSLF4J to Syslogd w/ Docker EngineSLF4J   
NotificationsSpring Integration Channels:  SMTP, Kannel    
ReportingJasper Engine, BI Integration (Tableau)Custom Reporting module against transactional DB   
Scheduling/TasksQuartzJDK Timer   
Test CoverageCoberturaSonar (not used much)   
Static AnalysisSTYLE-GUIDE, CheckStyle, SonarSonar (not used much)   
TestingJUnit, Mockito, PowerMock, WireMockJUnit, Mockito, PowerMock JUnit 
UI - FrameworkAngularJS 1Legacy: JSP, current: GSP + Angular 1   
UI - ModularityocLazyLoader?  Angular2?  RequireJS?independent "apps" from home screen   
UI - SeparationRESTful API    
UI - TestingJasmine, KarmaJasmine, WebDriver   
UI - Test CoverageKarma Coverage    
UI - Static AnalysisJsHint, LESSLint    
Web Security     

OpenLMIS: the global initiative for powerful LMIS software