When we started writing software for large financial corporations in the early 1990s, we wrote programs in C++ that ran on PCs (the clients). These programs connected to server systems that supplied the PCs with data they had obtained from a mainframe. This was the next step from when workstations connected to the mainframe and host emulations were used to access host applications directly.
The PC programs were what would today be called thick clients, providing both a rich user interface and decentralized business logic. The servers were mainly used to route the data from the mainframe to the client. They contained little or no logic themselves.
During the 1990s, more and more logic was transferred from the mainframe ...