Ho letto in questo articolo sull'architettura dei microservizi di M. Fowler:
Another consequence of using services as components is a more explicit component interface. Most languages do not have a good mechanism for defining an explicit Published Interface. Often it's only documentation and discipline that prevents clients breaking a component's encapsulation, leading to overly-tight coupling between components. Services make it easier to avoid this by using explicit remote call mechanisms.
Non sono nemmeno sicuro di come chiedere. In che modo i microservizi sono migliori delle librerie nel far rispettare un contratto di interfaccia? In che modo un endpoint REST è migliore di una funzione Java? Qualcuno può elaborare, magari dare un esempio?