0

Database System Concepts says

Database applications are usually partitioned into two or three parts, as in Figure 1.6. In a two-tier architecture, the application resides at the client machine, where it invokes database system functionality at the server machine through query language statements. Application program interface standards like ODBC and JDBC are used for interaction between the client and the server.

In contrast, in a three-tier architecture, the client machine acts as merely a front end and does not contain any direct database calls. Instead, the client end communicates with an application server, usually through a forms interface. The application server in turn communicates with a database system to access data. The business logic of the application, which says what actions to carry out under what conditions, is embedded in the application server, instead of being distributed across multiple clients. Three-tier applications are more appropriate for large applications, and for applications that run on the World Wide Web.

enter image description here

What does "application client" mean?

Is it correct that an application server is to execute server side program of a web application?

Is an application client to execute client side program of a web application? Is client side program of a web application is usually written in JavaScript? So is an application client usually a JavaScript interpreter?

What are some examples of application clients?

Thanks.

  • Your web browser that you used to post this question is an example of an http application client - albeit a very generalised one, but within the context of this site, once you load it into the browser, the browser is now acting as an application client for the application hosted on softwareengineering.stackexchange.com. – Stephen Byrne Dec 12 '19 at 16:37
3

An application client is essentially anything used by a user. It could be a web page/app, phone app, desktop application, GPS tracker, smart toaster, etc..

An application server would execute server side code for a web application, or any other type of application actually. The application server exists for two main purposes. To abstract and control database access from a user perspective, which can prevent a user obtaining direct database access. It also provides a trusted environment to run code on to ensure your database is only sent safe and valid data.

It depends on the client, but yes some client applications rely heavily on JavaScript. Web based applications are extremely popular based on their ease of creation and use, but that doesn't mean that those are the only client applications, though they are the most popular. Thinking of a client application as a JavaScript interpreter is a bit too low level for the purposes outlined, but if it helps you to think of a browser or JavaScript interpreter it's not exactly wrong, just overly detailed for the purpose of explaining 3 tier applications.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.