Almost every enterprise level system has a complex server in the back end. The front end that your users will interact with hides the complexity of the server operations that take place. This would be called a 2-tier architecture or client/server. A 3-tier architecture pulls out a database for a further level of modularization. In this case the setup is client/server/database..