Applications can be broken into three logical parts — presentation, logic and data. These are areas in which the program can be separated to facilitate execution of each logical piece on a different machine. Each segment is known as a partition. For example, the thin-client Web model requires that interface presentation be handled by the browser, application logic by the Web server and other application servers, and data by a database server. Developers are responsible for determining where the separation occurs.