5.1.2. Application Modules
A module is the smallest structural part of CUBA application. It is a single module of an application project and the corresponding JAR file with executable code.
Standard modules:
-  
global – includes entity classes, service interfaces, and other classes common for all tiers. It is used in all application blocks.
 -  
core – implements services and all other components of the middle tier. It is used only in Middleware.
 -  
gui – common components of the generic user interface. It is used in Web Client and Desktop Client.
 -  
web – the implementation of the generic user interface based on Vaadin and other specific web client classes. It is used in Web Client block.
 -  
desktop – an optional module – implementation of generic user interface based on Java Swing, as well as other specific desktop client classes. It is used in Desktop Client block.
 -  
portal – an optional module – implementation of Web portal based on Spring MVC.
 -  
polymer-client – an optional module – implementation of Polymer User Interface in JavaScript.