Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Web application
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Structure== {{Primary sources|section|date=November 2022}} Traditional PC applications are typically single-tiered, residing solely on the client machine. In contrast, web applications inherently facilitate a multi-tiered architecture. Though many variations are possible, the most common structure is the [[Three-tier (computing)|three-tiered]] application. In its most common form, the three tiers are called ''presentation'', ''application'' and ''storage''. The first tier, presentation, refers to a web browser itself. The second tier refers to any engine using dynamic web content technology (such as [[Active Server Pages|ASP]], [[Common Gateway Interface|CGI]], [[ColdFusion]], [[Dart (programming language)|Dart]], [[Java Servlet|JSP/Java]], [[Node.js]], [[PHP]], [[Python (programming language)|Python]] or [[Ruby on Rails]]). The third tier refers to a database that stores data and determines the structure of a user interface. Essentially, when using the three-tiered system, the web browser sends requests to the engine, which then services them by making queries and updates against the database and generates a user interface. The 3-tier solution may fall short when dealing with more complex applications, and may need to be replaced with the n-tiered approach; the greatest benefit of which is how [[business logic]] (which resides on the application tier) is broken down into a more fine-grained model.<ref name="ntiered" /> Another benefit would be to add an integration tier, which separates the data tier and provides an easy-to-use interface to access the data.<ref name="ntiered" /> For example, the client data would be accessed by calling a "list_clients()" function instead of making an [[SQL]] query directly against the client table on the database. This allows the underlying database to be replaced without making any change to the other tiers.<ref name="ntiered" /> There are some who view a web application as a two-tier architecture. This can be a "smart" client that performs all the work and queries a "dumb" server, or a "dumb" client that relies on a "smart" server.<ref name="ntiered" /> The client would handle the presentation tier, the server would have the database (storage tier), and the business logic (application tier) would be on one of them or on both.<ref name="ntiered" /> While this increases the scalability of the applications and separates the display and the database, it still does not allow for true specialization of layers, so most applications will outgrow this model.<ref name="ntiered" />
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)