Chapter 7 - Web Applications

In this chapter we discuss event based programming and the World Wide Web. In the last decade the web has become ubiquitous. There are millions of millions web pages available to computer users around the world. Even new verbs, e.g.
``to google'', have entered the lexicon, as a result of the web.   But how does it relate to event based programming?
There are several ways:

GUI Structures on Web pages
Scripting languages like Javascript make is easy to include GUI components such as buttons and textboxes on web pages.
In recent years high end IDEs like NetBeans and Visual Studio make it possible to create these web pages in a drag and drop fashion, without even needing to know scripting.

Web Applications
A web application is a computer program whose primary interface is made up of web pages.  The program is running on a server, and the user interacts with it through one or more web pages.  You don't have to look far to find web applications.  Most major email systems come with a web client.  Similarly, as college professors, the authors regularly look up student records on-line.  If you visit http://yahoo.games.com, you will find dozens of games with web interfaces. 
Universally, all of these systems are event based in their interactions with the server.  They follow the Request-Response interaction model discussed in Chapter 1.

Web Services
Web applications are great, but we can take our model a step further.  Why limit ourselves to just interacting with them via web pages?  A Web Service is a service oriented program running on a web server, but the client may be a web browser, a standalone program, or another web server.   Web services let companies produce and sell services via the web.  The classic example of a web service is PayPal. PayPal securely manages the financial portion of sales, so users no
longer have to enter their credit card numbers on-line to make purchases. Both the consumer and the seller interact with PayPal to complete the transaction. 

Chapter 7 - Web Applications

Sample Web Applications