There are many ways to modularize a web application. In our case we’re talking about an application made up of several Across modules. Across modules can be both technical modules (like a module setting up Hibernate or Ehcache) and functional modules (like a module providing a domain model for working with orders).
An application is a combination of different modules put together. Modules can depend on other modules, but only ever in one direction (no cyclic dependencies).
Technical modules as described above are very common in the Java/Spring landscape, Across, however, aims to stimulate the creation of more functional modules. Although Across can be used perfectly well in a microservice landscape, its greatest value possibly lies in helping developers create “modular monoliths”, aka monolithic applications done in a better way.
Some background on the idea of modularizing monoliths: