Web application: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
m (Text replacement - "<pageby nominor="false" comments="false"/>" to "<!-- <pageby nominor="false" comments="false"/> -->")
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{incomplete}}
{{incomplete}}
<pageby nominor="false" comments="false"/>
<!-- <pageby nominor="false" comments="false"/> -->


== Definition ==
== Definition ==


{{quotation|In software engineering, a [[World Wide Web|Web]] application or webapp is an application that is accessed via web over a network such as the [[Internet]] or an intranet. ([http://en.wikipedia.org/wiki/Web_application Wikipedia], retrieved 16:03, 15 September 2007 (MEST))}}.
{{quotation|In software engineering, a [[World Wide Web|Web]] application or webapp is an application that is accessed via web over a network such as the [[Internet]] or an intranet. ([http://en.wikipedia.org/wiki/Web_application Wikipedia], retrieved 16:24, 15 September 2007 (MEST))}}.


Web applications are popular due to the ubiquity of web browsers. One can update and maintain Web applications without distributing and installing software on potentially thousands of client computers. Web applications are used to implement [[portalware]] (e.g. [[learning management system]]s), [[rich internet application]]s, [[wiki]]s, Webmail, online retail sales, online auctions, [[Forum]]s, [[Weblog]]s, [[MMORPG]]s and many other.
Web applications are popular due to the ubiquity of web browsers. One can update and maintain Web applications without distributing and installing software on potentially thousands of client computers. Web applications are used to implement [[portalware]] (e.g. [[learning management system]]s), [[rich internet application]]s, [[wiki]]s, Webmail, online retail sales, online auctions, [[Forum]]s, [[Weblog]]s, [[MMORPG]]s and many other.
Line 12: Line 12:
== Software ==
== Software ==


{{quotation|Though many variations are possible, a Web application is commonly structured as a three-tiered application. In its most common form, a Web browser is the first tier, an engine using some dynamic Web content technology (such as ASP, ASP.NET, CGI, ColdFusion, JSP/Java, [[PHP]], Python, or Ruby On Rails) is the middle tier, and a database is the third tier. 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.}} ([http://en.wikipedia.org/wiki/Web_application Wikipedia], retrieved 16:03, 15 September 2007 (MEST).
{{quotation|Though many variations are possible, a Web application is commonly structured as a three-tiered application. In its most common form, a Web browser is the first tier, an engine using some dynamic Web content technology (such as ASP, ASP.NET, CGI, ColdFusion, JSP/Java, [[PHP]], Python, or Ruby On Rails) is the middle tier, and a database is the third tier. 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.}} ([http://en.wikipedia.org/wiki/Web_application Wikipedia], retrieved 16:24, 15 September 2007 (MEST).


   web client      -    engine      -      database
   web client      -    engine      -      database
  (user interface)        (logic)          (data storage)
  (user interface)        (logic)          (data storage)
With a somewhat nicer picture:
[[image:webapp-tier.png|frame|none|A typical three-tier model]]
=== Web clients ===
=== Web clients ===


There exist different kinds of web clients:
There exist different kinds of web clients:


* Most often, web clients are web browsers and contents are displayed with HTML or [[XHTML]] and styled with [[CSS]. Dynamic elements are added trough the use of HTML forms and Javascript.
* Most often, web clients are web browsers and contents are displayed with HTML or [[XHTML]] and styled with [[CSS]]. Dynamic elements are added trough the use of HTML forms and [[JavaScript]].


* Web browsers support many plugins who often also can directly communicate with a server, e.g. [[Flash]] or Java Applets
* Web browsers support many plugins who often also can directly communicate with a server, e.g. [[Flash]] or Java Applets
Line 33: Line 38:


In the open source community, the most popular low-level software bundle for the engine and database tier is [[LAMP]] / [[WAMP]] / MAMP, i.e. an operating system like Linux or Windows, the Apache web server and it integrated scripting engine PHP and finally the [[MySQL]] database.
In the open source community, the most popular low-level software bundle for the engine and database tier is [[LAMP]] / [[WAMP]] / MAMP, i.e. an operating system like Linux or Windows, the Apache web server and it integrated scripting engine PHP and finally the [[MySQL]] database.
A new trend (2008) may be to develop/run a web application on an infrastructure like Google's [[http://code.google.com/appengine/ appengine]]. {{Quotation|Google App Engine lets you run your web applications on Google's infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it's ready to serve your users ([http://code.google.com/appengine/docs/whatisgoogleappengine.html], retrieved 10:08, 15 April 2008 (UTC))}}


=== Databases ===
=== Databases ===
Line 44: Line 51:
Web applications are also used in classroom teaching, e.g. trough [[wiki]]s, [[weblog]]s or web-based [[microworld]]s such as [[WISE]]. See [[Technology-enhanced classroom]].
Web applications are also used in classroom teaching, e.g. trough [[wiki]]s, [[weblog]]s or web-based [[microworld]]s such as [[WISE]]. See [[Technology-enhanced classroom]].


[[Category: Technologies]]
 
[[Category: Portalware]]
[[Category: Portalware]]
[[Category: Networking]]
[[Category:Networking technologies]]

Latest revision as of 18:37, 22 August 2016

Definition

“In software engineering, a Web application or webapp is an application that is accessed via web over a network such as the Internet or an intranet. (Wikipedia, retrieved 16:24, 15 September 2007 (MEST))”.

Web applications are popular due to the ubiquity of web browsers. One can update and maintain Web applications without distributing and installing software on potentially thousands of client computers. Web applications are used to implement portalware (e.g. learning management systems), rich internet applications, wikis, Webmail, online retail sales, online auctions, Forums, Weblogs, MMORPGs and many other.

See also: web application framework, Internet, World Wide Web.

Software

“Though many variations are possible, a Web application is commonly structured as a three-tiered application. In its most common form, a Web browser is the first tier, an engine using some dynamic Web content technology (such as ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, or Ruby On Rails) is the middle tier, and a database is the third tier. 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.” (Wikipedia, retrieved 16:24, 15 September 2007 (MEST).

 web client       -     engine      -       database
(user interface)        (logic)           (data storage)

With a somewhat nicer picture:

A typical three-tier model

Web clients

There exist different kinds of web clients:

  • Most often, web clients are web browsers and contents are displayed with HTML or XHTML and styled with CSS. Dynamic elements are added trough the use of HTML forms and JavaScript.
  • Web browsers support many plugins who often also can directly communicate with a server, e.g. Flash or Java Applets

More recent software evolution allows to create web applications that have a look and feel that is almost indistinguishable from traditional applications. They are known as rich internet applications or web 2.0 applications.

Note: Other software also can connect to the Internet, e.g. Mail clients, 3D interactive environments or computer games, but we wouldn't call these web applications since they usually rely on other communication protocols than the web's HTTP.

Engines, software bundles and web application frameworks

Engines are programmed either directly with scripting languages such as PHP, Python or ASP or by using web application framework that facilitate development and integrate tools (e.g. high-level description languages) for all tiers involved.

In the open source community, the most popular low-level software bundle for the engine and database tier is LAMP / WAMP / MAMP, i.e. an operating system like Linux or Windows, the Apache web server and it integrated scripting engine PHP and finally the MySQL database.

A new trend (2008) may be to develop/run a web application on an infrastructure like Google's [appengine]. “Google App Engine lets you run your web applications on Google's infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it's ready to serve your users ([1], retrieved 10:08, 15 April 2008 (UTC))”

Databases

See database

In education

Web applications are hugely popular in education, in particular to support e-learning through various kinds of portalware, e.g. learning management systems.

Web applications are also used in classroom teaching, e.g. trough wikis, weblogs or web-based microworlds such as WISE. See Technology-enhanced classroom.