Knowledge

Web application

Source 📝

748: 243: 655: 79: 470: 181: 38: 303: 626:
For more complex applications, a 3-tier solution may fall short, and it may be beneficial to use an n-tiered approach, where the greatest benefit is breaking the business logic, which resides on the application tier, into a more fine-grained model. Another benefit may be adding an integration tier
707:
Security breaches on these kinds of applications are a major concern because it can involve both enterprise information and private customer data. Protecting these assets is an important part of any web application and there are some key operational areas that must be included in the development
634:
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. The client would handle the presentation tier, the server would have the database (storage
635:
tier), and the business logic (application tier) would be on one of them or on both. 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.
416:
to the user interface that ran on the client side. So instead of sending data to the server in order to generate an entire web page, the embedded scripts of the downloaded page can perform various tasks such as input validation or showing/hiding parts of the page.
364:
In earlier computing models like client-server, the processing load for the application was shared between code on the server and code installed on each client locally. In other words, an application had its own pre-compiled client program which served as its
455:
engineer Alex Russell in 2015, refers to apps taking advantage of new features supported by modern browsers, which initially run inside a web browser tab but later can run completely offline and can be launched without entering the app URL in the browser.
566:
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
623:) is the middle tier (application logic), and a database is the third tier (storage). The web browser sends requests to the middle tier, which services them by making queries and updates against the database and generates a user interface. 443:
started to make their client sides more and more interactive since early 2000s. A web page script is able to contact the server for storing/retrieving data without downloading an entire web page. The practice became known as Ajax in 2005.
708:
process. This includes processes for authentication, authorization, asset handling, input, and logging and auditing. Building security into the applications from the beginning can be more effective and less disruptive in the long run.
724:
by allowing a development team to focus on the parts of their application which are unique to their goals without having to resolve common development issues such as user management. Many of the frameworks in use are
627:
that separates the data tier from the rest of tiers by providing an easy-to-use interface to access the data. For example, the client data would be accessed by calling a "list_clients()" function instead of making an
863: 991: 373:. An upgrade to the server-side code of the application would typically also require an upgrade to the client-side code installed on each user workstation, adding to the 1232: 1222: 947: 1013: 631:
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.
420:
In 1999, the "web application" concept was introduced in the Java language in the Servlet Specification version 2.2. . At that time both JavaScript and
1214: 1118: 853: 828: 1269: 921: 1870: 694: 553: 289: 224: 162: 65: 1199: 987: 672: 96: 51: 885: 1743: 1184: 1039: 534: 143: 1855: 1398: 676: 491: 484: 191: 100: 506: 115: 943: 1537: 721: 616: 840:
A web application is a computer program that utilizes web browsers and web technology to perform tasks over the Internet.
1264: 1111: 1017: 771: 513: 122: 1418: 1274: 1254: 600: 381:. In addition, both the client and server components of the application were usually tightly bound to a particular 1600: 1294: 1289: 717: 1860: 1817: 1587: 1500: 1394: 733: 520: 255: 129: 1865: 1179: 592: 206: 1822: 1620: 1104: 665: 502: 480: 337: 202: 111: 89: 1306: 1144: 568: 1542: 1495: 1425: 1194: 766: 405: 382: 747: 1615: 1483: 1478: 1314: 726: 323: 264: 57: 820: 1827: 1610: 1448: 1237: 588: 448: 341: 1725: 1547: 1413: 1227: 425: 393:
them to others was often prohibitively expensive for all but the largest applications (Nowadays,
353: 1070: 917: 1738: 1369: 1090: 644: 374: 370: 527: 136: 1807: 1788: 1753: 1729: 1699: 1689: 1284: 891: 386: 307: 1783: 1242: 781: 753: 349: 242: 1605: 1577: 1532: 429: 366: 331: 854:"JavaScript creator Eich: My take on 20 years of the world's top programming language" 1849: 1834: 1795: 1773: 1660: 1562: 1247: 895: 620: 452: 1733: 1389: 1259: 604: 413: 378: 1630: 1567: 1439: 1385: 1135: 1073:, changes to HTML and related APIs to ease authoring of web-based applications. 1047: 796: 791: 654: 584: 469: 327: 78: 583:. A web browser is the first tier (presentation), an engine using some dynamic 1572: 1552: 1527: 1354: 1334: 801: 743: 736:, although currently there are not many viable platforms that fit this model. 596: 409: 394: 397:
for mobile devices are also hobbled by some or all of the foregoing issues).
1595: 1557: 1349: 1204: 302: 1778: 1635: 1403: 1364: 1359: 1339: 1329: 1324: 401: 1086: 1748: 1694: 1510: 1490: 1408: 1189: 1127: 887:
Java Servlet Specification ("Specification") Version: 2.2 Final Release
786: 776: 732:
In addition, there is potential for the development of applications on
679: in this section. Unsourced material may be challenged and removed. 608: 433: 390: 345: 17: 432:
object had only been recently introduced on Internet Explorer 5 as an
1705: 1645: 1640: 1519: 1319: 1172: 1162: 1157: 209:. Statements consisting only of original research should be removed. 1673: 1668: 1650: 1473: 1466: 1461: 1456: 1167: 1076: 858: 761: 440: 301: 1096: 571:
application. In its most common form, the three tiers are called
1800: 1279: 1152: 1100: 1625: 1344: 988:"Benefits of using the n-tiered approach for web applications" 648: 628: 612: 463: 421: 236: 174: 72: 31: 944:"Progressive Web Apps: Escaping Tabs Without Losing Our Soul" 716:
Writing web applications is simplified with the use of
260: 198: 1080: 884:
Davidson, James Duncan; Coward, Danny (1999-12-17).
451:", the term coined by designer Frances Berriman and 1766: 1718: 1682: 1659: 1586: 1518: 1509: 1447: 1438: 1378: 1305: 1213: 1143: 1134: 103:. Unsourced material may be challenged and removed. 369:and had to be separately installed on each user's 29:Application that uses a web browser as a client 1112: 310:, a groupware and open-source web application 8: 334:to users with an active network connection. 66:Learn how and when to remove these messages 1515: 1444: 1140: 1119: 1105: 1097: 981: 979: 977: 975: 973: 971: 969: 967: 965: 695:Learn how and when to remove this message 554:Learn how and when to remove this message 290:Learn how and when to remove this message 225:Learn how and when to remove this message 163:Learn how and when to remove this message 330:. Web applications are delivered on the 812: 490:Please improve this section by adding 428:had still not yet been coined and the 1014:"Top Tips for Secure App Development" 986:Petersen, Jeremy (4 September 2008). 7: 994:from the original on 1 December 2017 677:adding citations to reliable sources 101:adding citations to reliable sources 950:from the original on March 24, 2021 412:, allowing programmers to add some 25: 47:This article has multiple issues. 918:"What Does AJAX Even Stand For?" 894:. pp. 43–46. Archived from 746: 653: 468: 424:had already been developed, but 241: 179: 77: 36: 924:from the original on 2021-10-18 866:from the original on 2023-09-26 831:from the original on 2022-08-15 664:needs additional citations for 88:needs additional citations for 55:or discuss these issues on the 1077:Web Applications Working Group 720:. These frameworks facilitate 1: 722:rapid application development 492:secondary or tertiary sources 821:"What Is A Web Application?" 772:Mobile development framework 767:Software as a service (SaaS) 1040:"Web application framework" 916:Jay Hoffmann (2019-03-04). 254:to comply with Knowledge's 205:the claims made and adding 1887: 1071:HTML5 Draft recommendation 1016:. Dell.com. Archived from 734:Internet operating systems 718:web application frameworks 642: 1871:User interface techniques 1081:World Wide Web Consortium 344:are two approaches for a 326:that is accessed using a 852:Liam Tung (2020-06-15). 306:Screenshot from 2007 of 267:may contain suggestions. 252:may need to be rewritten 479:relies excessively on 311: 1856:Software architecture 406:client-side scripting 383:computer architecture 305: 727:open-source software 673:improve this article 587:technology (such as 449:Progressive web apps 377:cost and decreasing 324:application software 97:improve this article 1414:Application server 439:Applications like 312: 190:possibly contains 1843: 1842: 1762: 1761: 1739:Browser extension 1714: 1713: 1434: 1433: 1370:Phusion Passenger 1091:Google Developers 1038:Multiple (wiki). 705: 704: 697: 645:Internet security 564: 563: 556: 538: 503:"Web application" 371:personal computer 300: 299: 292: 282: 281: 256:quality standards 235: 234: 227: 192:original research 173: 172: 165: 147: 112:"Web application" 70: 16:(Redirected from 1878: 1861:Web applications 1808:Web API security 1730:Remote scripting 1700:Web SQL Database 1516: 1445: 1141: 1121: 1114: 1107: 1098: 1059: 1058: 1056: 1055: 1046:. Archived from 1035: 1029: 1028: 1026: 1025: 1010: 1004: 1003: 1001: 999: 983: 960: 959: 957: 955: 939: 933: 932: 930: 929: 913: 907: 906: 904: 903: 892:Sun Microsystems 881: 875: 874: 872: 871: 849: 843: 842: 837: 836: 817: 756: 751: 750: 700: 693: 689: 686: 680: 657: 649: 559: 552: 548: 545: 539: 537: 496: 472: 464: 414:dynamic elements 408:language called 387:operating system 295: 288: 277: 274: 268: 245: 237: 230: 223: 219: 216: 210: 207:inline citations 183: 182: 175: 168: 161: 157: 154: 148: 146: 105: 81: 73: 62: 40: 39: 32: 21: 1886: 1885: 1881: 1880: 1879: 1877: 1876: 1875: 1866:Web development 1846: 1845: 1844: 1839: 1813:Web application 1758: 1710: 1678: 1655: 1582: 1505: 1430: 1374: 1301: 1280:JavaScript JSGI 1260:ASP.NET Handler 1243:Jakarta Servlet 1209: 1130: 1125: 1087:PWAs on Web.dev 1067: 1062: 1053: 1051: 1037: 1036: 1032: 1023: 1021: 1012: 1011: 1007: 997: 995: 985: 984: 963: 953: 951: 942:Russell, Alex. 941: 940: 936: 927: 925: 915: 914: 910: 901: 899: 883: 882: 878: 869: 867: 851: 850: 846: 834: 832: 819: 818: 814: 810: 782:Web engineering 754:Internet portal 752: 745: 742: 714: 701: 690: 684: 681: 670: 658: 647: 641: 560: 549: 543: 540: 497: 495: 489: 485:primary sources 473: 462: 362: 316:web application 296: 285: 284: 283: 278: 272: 269: 259: 246: 231: 220: 214: 211: 196: 184: 180: 169: 158: 152: 149: 106: 104: 94: 82: 41: 37: 30: 23: 22: 15: 12: 11: 5: 1884: 1882: 1874: 1873: 1868: 1863: 1858: 1848: 1847: 1841: 1840: 1838: 1837: 1832: 1831: 1830: 1825: 1820: 1810: 1805: 1804: 1803: 1793: 1792: 1791: 1786: 1776: 1770: 1768: 1764: 1763: 1760: 1759: 1757: 1756: 1751: 1746: 1741: 1736: 1722: 1720: 1716: 1715: 1712: 1711: 1709: 1708: 1703: 1702:(formerly W3C) 1697: 1692: 1686: 1684: 1680: 1679: 1677: 1676: 1671: 1665: 1663: 1657: 1656: 1654: 1653: 1648: 1643: 1638: 1633: 1628: 1623: 1618: 1613: 1608: 1603: 1598: 1592: 1590: 1584: 1583: 1581: 1580: 1578:XMLHttpRequest 1575: 1570: 1565: 1560: 1555: 1550: 1545: 1540: 1535: 1530: 1524: 1522: 1513: 1507: 1506: 1504: 1503: 1498: 1493: 1488: 1487: 1486: 1476: 1471: 1470: 1469: 1464: 1453: 1451: 1442: 1436: 1435: 1432: 1431: 1429: 1428: 1423: 1422: 1421: 1411: 1406: 1401: 1392: 1382: 1380: 1376: 1375: 1373: 1372: 1367: 1362: 1357: 1352: 1347: 1342: 1337: 1332: 1327: 1322: 1317: 1311: 1309: 1307:Apache modules 1303: 1302: 1300: 1299: 1298: 1297: 1287: 1282: 1277: 1272: 1267: 1262: 1257: 1252: 1251: 1250: 1240: 1235: 1230: 1225: 1219: 1217: 1211: 1210: 1208: 1207: 1202: 1197: 1192: 1187: 1182: 1177: 1176: 1175: 1170: 1165: 1160: 1149: 1147: 1138: 1132: 1131: 1128:Web interfaces 1126: 1124: 1123: 1116: 1109: 1101: 1095: 1094: 1084: 1074: 1066: 1065:External links 1063: 1061: 1060: 1030: 1005: 961: 934: 908: 876: 844: 827:. Stack Path. 811: 809: 806: 805: 804: 799: 794: 789: 784: 779: 774: 769: 764: 758: 757: 741: 738: 713: 710: 703: 702: 661: 659: 652: 643:Main article: 640: 637: 562: 561: 476: 474: 467: 461: 458: 430:XMLHttpRequest 367:user interface 361: 358: 332:World Wide Web 298: 297: 280: 279: 249: 247: 240: 233: 232: 187: 185: 178: 171: 170: 85: 83: 76: 71: 45: 44: 42: 35: 28: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1883: 1872: 1869: 1867: 1864: 1862: 1859: 1857: 1854: 1853: 1851: 1836: 1835:Web framework 1833: 1829: 1826: 1824: 1821: 1819: 1816: 1815: 1814: 1811: 1809: 1806: 1802: 1799: 1798: 1797: 1796:Web standards 1794: 1790: 1787: 1785: 1782: 1781: 1780: 1777: 1775: 1774:Microservices 1772: 1771: 1769: 1765: 1755: 1752: 1750: 1747: 1745: 1742: 1740: 1737: 1735: 1731: 1727: 1724: 1723: 1721: 1717: 1707: 1704: 1701: 1698: 1696: 1693: 1691: 1688: 1687: 1685: 1681: 1675: 1672: 1670: 1667: 1666: 1664: 1662: 1658: 1652: 1649: 1647: 1644: 1642: 1639: 1637: 1634: 1632: 1629: 1627: 1624: 1622: 1619: 1617: 1614: 1612: 1609: 1607: 1604: 1602: 1599: 1597: 1594: 1593: 1591: 1589: 1585: 1579: 1576: 1574: 1571: 1569: 1566: 1564: 1563:Web messaging 1561: 1559: 1556: 1554: 1551: 1549: 1546: 1544: 1541: 1539: 1536: 1534: 1531: 1529: 1526: 1525: 1523: 1521: 1517: 1514: 1512: 1508: 1502: 1499: 1497: 1494: 1492: 1489: 1485: 1482: 1481: 1480: 1477: 1475: 1472: 1468: 1465: 1463: 1460: 1459: 1458: 1455: 1454: 1452: 1450: 1446: 1443: 1441: 1437: 1427: 1424: 1420: 1417: 1416: 1415: 1412: 1410: 1407: 1405: 1402: 1400: 1396: 1393: 1391: 1387: 1384: 1383: 1381: 1377: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1351: 1348: 1346: 1343: 1341: 1338: 1336: 1333: 1331: 1328: 1326: 1323: 1321: 1318: 1316: 1313: 1312: 1310: 1308: 1304: 1296: 1293: 1292: 1291: 1288: 1286: 1283: 1281: 1278: 1276: 1273: 1271: 1268: 1266: 1263: 1261: 1258: 1256: 1253: 1249: 1246: 1245: 1244: 1241: 1239: 1236: 1234: 1231: 1229: 1226: 1224: 1221: 1220: 1218: 1216: 1212: 1206: 1203: 1201: 1198: 1196: 1193: 1191: 1188: 1186: 1183: 1181: 1178: 1174: 1171: 1169: 1166: 1164: 1161: 1159: 1156: 1155: 1154: 1151: 1150: 1148: 1146: 1142: 1139: 1137: 1133: 1129: 1122: 1117: 1115: 1110: 1108: 1103: 1102: 1099: 1092: 1088: 1085: 1082: 1078: 1075: 1072: 1069: 1068: 1064: 1050:on 2020-06-20 1049: 1045: 1041: 1034: 1031: 1020:on 2012-05-22 1019: 1015: 1009: 1006: 993: 989: 982: 980: 978: 976: 974: 972: 970: 968: 966: 962: 949: 945: 938: 935: 923: 919: 912: 909: 898:on 2010-01-07 897: 893: 889: 888: 880: 877: 865: 861: 860: 855: 848: 845: 841: 830: 826: 825:stackpath.com 822: 816: 813: 807: 803: 800: 798: 795: 793: 790: 788: 785: 783: 780: 778: 775: 773: 770: 768: 765: 763: 760: 759: 755: 749: 744: 739: 737: 735: 730: 728: 723: 719: 711: 709: 699: 696: 688: 685:February 2018 678: 674: 668: 667: 662:This section 660: 656: 651: 650: 646: 638: 636: 632: 630: 624: 622: 621:Ruby on Rails 618: 614: 610: 606: 602: 598: 594: 590: 586: 582: 578: 574: 570: 558: 555: 547: 544:November 2022 536: 533: 529: 526: 522: 519: 515: 512: 508: 505: –  504: 500: 499:Find sources: 493: 487: 486: 482: 477:This section 475: 471: 466: 465: 459: 457: 454: 453:Google Chrome 450: 445: 442: 437: 435: 431: 427: 423: 418: 415: 411: 407: 404:introduced a 403: 398: 396: 392: 388: 384: 380: 376: 372: 368: 359: 357: 355: 351: 347: 343: 339: 335: 333: 329: 325: 321: 317: 309: 304: 294: 291: 276: 266: 262: 257: 253: 250:This article 248: 244: 239: 238: 229: 226: 218: 208: 204: 200: 194: 193: 188:This article 186: 177: 176: 167: 164: 156: 153:February 2018 145: 142: 138: 135: 131: 128: 124: 121: 117: 114: –  113: 109: 108:Find sources: 102: 98: 92: 91: 86:This article 84: 80: 75: 74: 69: 67: 60: 59: 54: 53: 48: 43: 34: 33: 27: 19: 1812: 1449:Browser APIs 1390:Web resource 1052:. Retrieved 1048:the original 1043: 1033: 1022:. Retrieved 1018:the original 1008: 996:. Retrieved 952:. Retrieved 937: 926:. Retrieved 911: 900:. Retrieved 896:the original 886: 879: 868:. Retrieved 857: 847: 839: 833:. Retrieved 824: 815: 797:Web sciences 792:Web services 731: 715: 706: 691: 682: 671:Please help 666:verification 663: 633: 625: 580: 576: 573:presentation 572: 569:three-tiered 565: 550: 541: 531: 524: 517: 510: 498: 478: 446: 438: 419: 399: 379:productivity 363: 352:more like a 336: 319: 315: 313: 286: 270: 261:You can help 251: 221: 212: 189: 159: 150: 140: 133: 126: 119: 107: 95:Please help 90:verification 87: 63: 56: 50: 49:Please help 46: 26: 1828:Progressive 1823:Single-page 1631:WebAssembly 1611:Geolocation 1568:Web storage 1474:C NPRuntime 1462:LiveConnect 1440:Client-side 1386:Web service 1315:mod_include 1270:Python ASGI 1265:Python WSGI 1215:Server APIs 1136:Server-side 998:24 November 712:Development 585:Web content 577:application 395:native apps 342:progressive 338:Single-page 328:web browser 1850:Categories 1596:DOM events 1573:Web worker 1558:WebSockets 1419:comparison 1355:mod_python 1335:mod_parrot 1168:Encryption 1054:2010-03-06 1024:2012-06-22 928:2021-10-18 902:2008-07-27 870:2021-10-18 835:2022-08-15 808:References 802:Web widget 597:ColdFusion 514:newspapers 481:references 410:JavaScript 199:improve it 123:newspapers 52:improve it 1754:Scripting 1616:IndexedDB 1467:XPConnect 1426:Scripting 1350:mod_proxy 1295:container 1285:Perl PSGI 1275:Ruby Rack 1248:container 1205:WebSocket 1145:Protocols 460:Structure 400:In 1995, 265:talk page 203:verifying 58:talk page 1779:Web page 1636:WebAuthn 1511:Web APIs 1404:Open API 1365:mod_ruby 1360:mod_wsgi 1340:mod_perl 1330:mod_mono 1325:mod_lisp 1255:CLI OWIN 1044:Docforge 992:Archived 954:June 15, 948:Archived 922:Archived 864:Archived 829:Archived 740:See also 639:Security 605:JSP/Java 436:object. 402:Netscape 273:May 2022 215:May 2022 1789:Dynamic 1749:Web IDL 1695:GraphQL 1661:Khronos 1491:ActiveX 1479:C PPAPI 1457:C NPAPI 1409:Webhook 1345:mod_php 1290:Portlet 1238:COM ASP 1233:C ISAPI 1228:C ASAPI 1223:C NSAPI 1079:at the 787:Web GIS 777:Web 2.0 609:Node.js 581:storage 528:scholar 434:ActiveX 391:porting 375:support 360:History 346:website 320:web app 197:Please 137:scholar 18:Web App 1784:Static 1767:Topics 1744:Mashup 1719:Topics 1706:WebUSB 1683:Others 1646:WebRTC 1641:WebGPU 1533:Canvas 1520:WHATWG 1379:Topics 1320:mod_jk 1173:WebDAV 617:Python 530:  523:  516:  509:  501:  354:native 263:. The 139:  132:  125:  118:  110:  1734:DHTML 1690:Gears 1674:WebGL 1669:WebCL 1651:WebXR 1553:Video 1528:Audio 1083:(W3C) 859:ZDNet 762:D3.js 535:JSTOR 521:books 441:Gmail 356:app. 322:) is 308:Horde 144:JSTOR 130:books 1818:Rich 1801:REST 1732:vs. 1728:and 1726:Ajax 1606:File 1538:CORS 1501:XBAP 1484:NaCl 1397:vs. 1388:vs. 1200:WSRP 1190:FCGI 1185:SCGI 1153:HTTP 1000:2017 956:2015 601:Dart 579:and 507:news 426:Ajax 389:and 385:and 350:seem 340:and 318:(or 116:news 1626:SVG 1621:MSE 1601:EME 1588:W3C 1548:SSE 1543:DOM 1496:BHO 1399:ROA 1395:WOA 1195:AJP 1180:CGI 1089:by 675:by 629:SQL 619:or 613:PHP 593:CGI 589:ASP 483:to 422:XML 348:to 201:by 99:by 1852:: 1163:v3 1158:v2 1042:. 990:. 964:^ 946:. 920:. 890:. 862:. 856:. 838:. 823:. 729:. 615:, 611:, 607:, 603:, 599:, 595:, 591:, 575:, 494:. 314:A 61:. 1120:e 1113:t 1106:v 1093:. 1057:. 1027:. 1002:. 958:. 931:. 905:. 873:. 698:) 692:( 687:) 683:( 669:. 557:) 551:( 546:) 542:( 532:· 525:· 518:· 511:· 488:. 447:" 293:) 287:( 275:) 271:( 258:. 228:) 222:( 217:) 213:( 195:. 166:) 160:( 155:) 151:( 141:· 134:· 127:· 120:· 93:. 68:) 64:( 20:)

Index

Web App
improve it
talk page
Learn how and when to remove these messages

verification
improve this article
adding citations to reliable sources
"Web application"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
original research
improve it
verifying
inline citations
Learn how and when to remove this message

quality standards
You can help
talk page
Learn how and when to remove this message

Horde
application software
web browser
World Wide Web

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.