In the two-tier model, a Java application talks directly to the data source.
This requires a JDBC driver that can communicate with the particular data source being accessed.
The commands of a user are delivered to the database or other data source, and the results of those statements are sent back to the user.
The data source may be located on another machine to which the user is connected by means of a network.
This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the data source as the server.
The network can be an intranet, which connects employees within a corporation, or it can be the Internet.
In the three-tier model, commands are sent to a middle tier of services, which then sends the commands to the data source.
The data source processes the commands and sends the results back to the middle tier, which then sends them to the user.
Directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data.
Another advantage is that it simplifies the deployment of applications.
In addition, three-tier architecture can provide performance advantages