Chapter 2. Technologies 19
The key is to break monolithic applications into independent modules and to add a good
public interface to them. Usually the existing, private interfaces can remain intact, which
allows the existing application to utilize the functionality of the module without much change.
Because the newly created module is now also being used as a public service, additional
parameter validation has to take place to ensure the correct behavior. Prior to exposing the
module externally, parameter validation was not necessarily required because it was safe to
assume that the proper validation had already taken place elsewhere in the application.
Another item that has to be verified is concurrency. It is quite possible, if not lik