A monolithic system appears first as a simple and high-performance solution in comparison of a distributed SOA landscape.

If however such a system grows increasingly, it will cause problems due to the inner complexity. A modular decomposition  – such as OSGI bundles – might help, but at some point it’s no longer to look through.

Micro services are currently in vogue. Here, a system will be decomposed into many smaller independent services that are easier to handle. RestFul HTTP web services will fit all these parts together.

see an explanation of micro services at Martin Fowler:

see the great introduction in micrsevices uusing Sping Boot by Eberhard Wolff:

and a humorous look at Adam Bien: