Archive

Archive for April, 2003

Rich User Interfaces for Web Applications

April 3rd, 2003

Rich User Interfaces for Web Applications

In the early 1990’s, many companies were developing client/server applications. There would be a back end database, along with a server that accessed the database and added logic and processing to the data. And, there would be a custom client written with a tool like Visual Basic.

Then, in the mid-1990’s, the Web changed everything! Developers realized that a web browser could provide the functions of the custom client. The Internet made sure that the network was universally available, and nearly every Internet user had a web browser.

Unfortunately, HTML and other web standards were originally designed to provide layout for static, non-changing documents. By switching from custom client software to web browser clients, the applications became universally accessible. But, the user interface took a big step backwards!

Have you ever tried to go online to buy an airline ticket? As long as you know exactly what you want–Which flights and which days–Everything goes fairly smoothly. And, it still takes several mouse clicks and page reloads to get your ticket purchased. But, what if you just want to find a low cost way to take a vacation, and your flight plans and schedule are flexible. Most online travel sites aren’t designed to support flexible travelers. Users end up having to repeatedly go through all those mouse clicks and page reloads looking for a low cost option.

Wouldn’t it be much easier if a rich user interface was available? A rich user interface is one that minimizes mouse clicks, does not require page reloads, and makes it much easier to do flexible queries. Macromedia’s new Flash MX product provides the missing capabilities needed to build rich user interfaces.

The online reservation system shown below for the Broadmoor Hotel provides a great example of a rich user interface. With no page reloads, the user can choose a date in the left-hand panel, and see available rooms in the middle panel. Or, a user can pick a room type, and have the dates highlighted when that type of room is available! When it’s time to book a room, that happens in the right-hand panel. Everything is available on the single screen–Even validation for credit card or booking information. Try it yourself at http://reservations.broadmoor.com!

Broodmoor Rich Internet Application Example

Broodmoor Rich Internet Application Example

It’s easy to imaging a wide variety of possible applications for rich user interfaces including:

  • Reservation systems for sporting events, conference rooms, special events, etc.
  • Form processing for insurance companies, banks, or any other company needing flexible, validated forms.
  • Online report generation and data visualization.
  • e-Commerce
  • Customer or Employee self-service applications for customer service, HR, support, etc.

Clearly, rich user interfaces will be critical for both external, customer-focused web applications and for internal, employee-focused applications.

Clarke Bishop Rich Internet Applications

What is a Web Application Server?

April 3rd, 2003

First, What is a Web Server?

A web server is a specialized type of file server. Its job is to retrieve files from the server’s hard drive, format the files for the Web browser, and send them out via the network. Web servers are designed to do a great job of sending static content out to a large number of users. The pages delivered by the server are expected to be the same for everyone who visits the server.

The function of a typical Web server is shown below. The user requests a web page. The Web Server finds the web page file in a local directory and sends it back out to the user. When graphic files are requested, the same thing happens. The Web Server finds the requested graphic files and sends them back to the user.
The Web Server standards were originally designed to publish static documents on the Internet. There was a limited capability for accessing dynamic content, but this was never intended to support high volume, highly interactive Web applications.

How a Web server works

How a Web server works

Then, as the Internet and Web browsers became popular in the mid-1990’s, organizations saw an opportunity to provide web pages that contained dynamic content like stock prices, weather information, inventory levels, and shipping status for a package. Web browsers became such a pervasive way to access information that users and organizations desired to access a wide variety of information and applications through their Web browser. So, Web servers had to be extended to allow software application development and access to databases.
Then, What is a Web Application Server?

Web application servers are designed specifically to extend web servers to support dynamic content. The application server software “hooks in” to the web server software and automatically intercepts any user requests for dynamic content. The web server still sends out static web pages and graphic files–Just like before. But now, the application server can create dynamic content by mixing data with templates, running programs, or by accessing databases.

How a Web Application server works

How a Web Application server works

There are a variety of Web Application Server product available. Some of the more popular products include:
Macromedia:
Cold Fusion

Cold Fusion is inexpensive and easy to learn resulting in low cost for both development and implementation. Its may be less applicable for complex or high-volume projects.

Microsoft:
Active Server Pages and .Net

For companies that have already committed to Microsoft, the Active Server Pages (ASP) application server included with IIS is a good choice. ASP code is usually written in Visual Basic, and there a large number of qualified developers resulting in moderate development cost. ASP typically only runs with Microsoft operating systems, so it is not a great choice for high-volume projects that will run on Unix hardware..

Microsoft is migrating ASP to its new .Net product. This product offers a lot of potential, but as of May, 2002, all the components are still not released and .Net is still unproven.
Java 2
Enterprise Edition

Java 2 Enterprise Edition (J2EE) is a great choice for enterprise and mission critical applications. It is highly scalable and can run under almost any operating system from Windows to high-end Unix servers. J2EE code is written in Java.

J2EE application servers are available from over 30 vendors including IBM (WebSphere), Sun (iPlanet) BEA (WebLogic), Macromedia (jRun). There are even several open source J2EE servers (Tomcat, Resin, & jBoss).

Clarke Bishop General