WebDevelopersJournal.comTips on Web Page Design, HTML and Graphics
SITE SEARCH
Newsletters
Java/Open Source Update



Jobs at webdeveloper.com

Resources By Subject
Technical
Graphical
Authoring
Business
WDJ resources
Archive

internet.com

internet.commerce


Developer Channel


Find a web host with:
CGI Access DB Support Telnet Access
NT Servers UNIX Servers



Semi-automatic?

JavaScript
JavaScript Helper:
Meet Paige Turner, the least geeky geek we've ever come across.

Variables and Operators Explained:
First of a three part guide to JavaScript basics.

Controlling Forms:
Enhance your HTML forms with a touch of JS.

DHTML:
Forget how it works, let's see some in action!


Online Applications
by Charlie Morris

Software Migrates from the Desktop to the Internet

The concept of online computing has been talked about for years. There are many variations, but the basic idea is that a software application runs on a server, instead of on a local desktop machine. The client machine connects to the server over the Internet, but serves only as a user interface. This is technically known as a server-based computing model, and it offers several advantages, as we shall see. This form of computing is also called an online computing model, an online application, or a hosted application.
June 5, 2000

This article is in five parts:
  1. Computing Models
  2. Online Enterprise Applications
  3. Online End-user Applications
  4. ASPs or ISPs?
  5. What's it all mean to a Web Developer?

At the moment, Application Service Providers (ASPs) are capturing the headlines, but they're only part of the story. Several forms of online applications have already been quietly going about their business for quite a while. The outlook for the future is nothing short of explosive. Together with other trends, including the growth of wireless and of broadband Internet access, the online application model points to a very different world ahead for Web developers.

Computing Models

When we speak of "computing models", we're basically talking about different ways of arranging computers into a network. Different models have come in and out of favor, usually driven by the kind of technology available at the time. For example, when small, powerful desktop computers became cheap and easy to use, mainframes started looking clunky and inflexible, and the client/server model was born. Now that Internet access is becoming more universal, the server-based, or online, model is becoming more attractive.

As you can imagine, each computing model actually has its own strengths and weaknesses. These are the main models in use today:

  • Mainframe and Terminal - User machines (called "dumb terminals") are just I/O ports for a mainframe. They are permanently tied to the host network.
  • Client/Server - User machines are fully-capable PCs (or Macs or whatever). Software may be run on the local machine or on the server. Data generally resides on centralized file servers.
  • Network Computing - This label has kind of been co-opted by Sun Microsystems, to refer to their "network appliances", (http://www.webdevelopersjournal.com/hardware/sun_ray.html) user machines with no local hard drive. Applications are downloaded from the network, and run on the client, by means of Java. From the user's standpoint, an NC is pretty much the same as a dumb terminal. However, NCs are more flexible, as they can connect to any server, with a variety of network protocols, whereas a terminal can connect only to its host network.
  • Server-based Computing - User client serves only as a user interface. All applications execute on the server, and data is stored centrally as well. This can be as simple as an online search engine, or as complex as a suite of enterprise applications.

The server-based computing model, or online application model, is currently the talk of the town. In the computing world, the name of the game is doing more with less. Client/server replaced mainframes, which were expensive and inflexible. A few years later, client/server systems turned out to be expensive and inflexible in their own way, and the network model began to come into its own. The server-based model takes things one step further, and offers a number of advantages.

User Benefits of Online Applications:

  • No more installation or upgrade hassles. In fact, no more installation or upgrades. Every program you use is always up to the minute, incorporating the latest features and bug fixes.
  • No more worries about backups, viruses or power surges. The host that keeps your data is responsible for keeping it safe.
  • No more worrying about keeping your laptop synchronized with your network. In fact, no more need to carry a laptop. All you need is a screen and a keyboard with an Internet connection to access your entire network. A terminal in a hotel, airport or airplane will do just as well as any.
  • Many programs have third-party add-ons or plug-ins that extend their capabilities. Plug-ins are great, but they can become a hassle. If you reinstall a program, or install it to a second machine, you must reinstall your favorite plug-ins, too. With an online application, all available add-ons could be offered on the vendor's site, making apps like Photoshop into super-versions.
  • A network or server-based model means less work for network admins, since they no longer have to maintain software on client machines. But with the server-based model, applications run on the vendors' servers, so local network admins don't have to fool with software applications at all. In fact, some companies can outsource their entire networks, making on-staff network admins unnecessary.

Bad Things

What about privacy with the server-based model? In the absolute sense, there isn't any. All of your data is stored on a public server, accessible to anyone who can find a way to get to it. Paradoxically, however, this could lead to better, or at least more uniform, privacy standards. Presumably, over the next few years the world's law enforcement bodies will sort out some of the most important questions about privacy rights, copyrights and the sanctity of digital data (safe from unlawful search and seizure, one hopes). A good data host will strictly enforce the stated wishes of their customers, and refuse to release data to anyone not legally entitled to see it. They will also use the most powerful security measures available to foil unauthorized access, so private data may be more secure than it would be on a private network with less sophisticated security measures.

It's a safe bet that, without some sort of widely-accepted privacy policies, the online model will never really take off. Nobody is going to trust their private data to an ASP if they're afraid it can be accessed by any government goon who flashes a badge, or any marketing bozo who flashes some dollars. In the present world, the only information that's out there for the grabbing is whatever we choose (or are forced) to reveal to somebody. That's often quite a lot, but with a full online model, every bit of data an individual or organization has would be out of their direct control, there for the taking. I predict that this situation will force the enactment of more uniform standards for privacy and security.

Consumers and organizations alike also have very real fears of getting locked into expensive monthly software contracts. Once you buy a piece of software on CD-ROM, it's yours to keep. But with a "service" software model, if you want to continue to use a particular software package, you'll have to keep paying the current price. What if those of us who don't want to pay for the latest and greatest features are forced to subsidize those who do? And what if you spend a lot of time training all your employees to use a program, only to see the vendor jack up the monthly price? In the long run, I don't think this will be a problem. Wise vendors will constantly assess their customers' needs, and set prices sensibly. An ASP can keep track of customer usage patterns, and offer different pricing plans accordingly.

Whatever you may think of the risk/reward equation of the server-based model, it's plainly growing rapidly, and will be an important part of the computing world. Ultimately, I believe that various computing models will coexist in what I presume to call the Universal Computing Model. This is basically the server-based model extended to a global wireless Internet. A local machine can be anything from a tie pin to a powerful computer. Any and all software and data can be accessed from anywhere in the world at any time. Applications and data may reside on a server, a local machine, or a combination of the two. Hardware and OS compatibility problems are a dim memory.

But enough theorizing. Let's look at some of the types of online applications that are available today, in the next section of this article.

This article is in five parts:
  1. Computing Models
  2. Online Enterprise Applications
  3. Online End-user Applications
  4. ASPs or ISPs?
  5. What's it all mean to a Web Developer?
Suits PonytailsPropheadsContact WDJDiscussWeb AudioSearch