For years, most software applications were built as a single package. The user interface, business logic and database all lived together in one tightly coupled application. That approach worked well when software was primarily accessed through a web browser.