Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions


WDVL Newsletter

Active Server Pages
JSP/Java Servlets
Microsoft SQL Server
Daily Backup
Dedicated Servers
Streaming Audio/Video
24-hour Support    

jobs.webdeveloper.com

Hiermenus


e-commerce
Partner With Us















Developer Channel
FlashKit.com
JavaScript.com
JavaScriptSource
Developer Jobs
ScriptSearch
StreamingMediaWorld
Web Developer's Journal
Web Developer's Virtual Library
WebDeveloper.com
Webreference
Web Hosts
XMLfiles.com

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


What exactly are Web-Applications?

January 25, 1999

Web-based applications are computer programs that execute in a web browser environment. An example of such an application would be an online store accessed via Netscape Navigator or Internet Explorer.

Amazon.com is a high profile example of this. Amazon has a proprietary "Web Store" application that they use to sell books and compact discs online.

Built on the foundations of the World Wide Web, such applications can be run anywhere in the world at any time and are completely cross platform. Web applications provide a rich interactive environment through which the user can further define their unique online experience. Without web applications to breathe life and provide user-interaction, a web page is limited to static electronic text.

The Generic Web-Application

Regardless of the specific tasks they perform, all web applications do the same things generically. Specifically, all web applications must do the following:

  1. Get data from a user on the web - Traditionally, getting the user data involves creating and serving a user interface such as a Java GUI or an HTML/ DHTML form. The user interface submits user supplied data by sending it using GET or POST requests to the web server that is serving the user interface. The web server will then pass the data to a server-processing agent (application) such as a CGI script, Java Servlet, or server-integrated API script such as Cold Fusion or mod_perl.

    Typically, the developer must code the user interface and be able to process data going from the user interface to the server-processing agent.

  2. Validate the user's data - Once the data has been handed off to the server-processing agent, the agent must check the data submitted to make sure it is valid. Such validation might include making sure a date is a valid date (i.e. not Oct 34,-1000), making sure a price is valid (i.e. not $123.98ASDF-1), or making sure the incoming data is safe for processing (ie: not exec `rm *.*`;). An agent might also communicate with other processing agents such as a credit card validation service.

    Typically, the developer must define the logic of validation and embed that into the web application.

  3. Process that data - Once the data has been validated, the agent must process it. Processing often involves 1) data storage and retrieval and 2) inter-application communication.
    1. Data Storage and Retrieval - Often a web application must have access to data from some data source like a RDBMS database or a local file on the web server. Web applications usually need to be able to read and write to these data sources.

    2. Inter-Application Communication - Web applications also need to be able to work with other application resources such as email, fax-gateways, paging-gateways, encryption protocols and even other web servers.

  4. Typically the programmer must spend most of her time defining the logic of the workflow. This is the piece that is most often thought of as the web application. For example you might specify that a data source should be opened, a specific data row should be selected based on a given keyword and search description, and the row should be updated based on the submission of a Structured Query Language (SQL) statement.

  5. Respond to the client who submitted the request in the first place. Usually, the developer will code the server agent to send an HTML or Java based response to the client based on the processing. However, this might also be as simple as a dynamically generated thank you note HTML file and/or an e-mail receipt.

In performing these generic functions, a web application should be

  1. Secure - Both the privacy of the data and the access to supporting server resources must be secure.
  2. Scalable - The application must be able to serve one client at a time or one hundred thousand clients at the same time without a noticeable degradation of service.
  3. Fast - The execution of the application must appear rapid to the user even within the context of clogged Internet bandwidth.
  4. User-Friendly - The application must be so simple to use that a user on the web should need no or minimal instructions in order to perform the task they want to complete.
  5. Maintenance-Friendly - Because web application services must change so rapidly, the application must be built so that it can be modified, fixed, or maintained with little cost of time or money.
  6. Reusable - The cost of reinventing agent processing for each task is too great. Processing agent technology must be reusable between projects if it is to be useful.

As you can see, designing a web application represents quite a bit of coding.

Extropia WebWare Suite 2.0: Towards a New Application Development Framework for Server-Side Web-Based Applications in Perl and Java
Extropia WebWare Suite 2.0: Towards a New Application Development Framework for Server-Side Web-Based Applications in Perl and Java
WebWare 1.0:The Old Framework


Up to => Home / Software / Open / WhitePaper




Jupiter Online Media: internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and Jupiter Online Media

Jupitermedia Corporate Info


Legal Notices, Licensing, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers