Archived at Pineapplesoft
 ananas.org 
  The Pineapplesoft Link newsletter covered a wide range of technical topics, see the archived issues.
The newsletter was first emailed in 1998. In 2001 Benoît discontinued it in favour of professional writing for magazines.
The “April 1999” page was archived in 2003 to preserve the original content of April 1999.
 
  | Home | Contact | Site map | Writings | Open source software |  


 

Welcome to the 16th issue of Pineapplesoft Link.

Subscription
Featured Article
Application Server
Self-promotion department
Jini Series
About Pineapplesoft Link

Subscription

Pineapplesoft Link is sent only to those who subscribe to it. We respect your privacy: we won't sell our address and you can unsubscribe at any moment.

If you would like to receive Pineapplesoft Link free in your mailbox every month, subscribe now!
To sample other back-issues before signing, visit <http://www.psol.be/old/1/newsletter>

If you like this issue, you should like the following issues as well:

Application Servers

This month I'll discuss application servers, one of the cornerstone of Internet client/server applications. As always, you are welcome to send me your comments, questions or suggestions on the newsletter to [address removed, the newsletter is no longer published thank you for your support].

A Bit of History

When the web started, nobody thought it would turn into such a powerful software platform. Indeed the web started as a solution to publish and share documents such as articles, conference proceedings or books. Today the web has outgrown its publishing origins and has morphed into a large software platform. Software and services implemented (such as electronic shops, web-based email or newsgroup and all kind of databases) abound.

The basic architecture of the web has proved remarkably resilient to changes. The user still uses a simple and versatile client, the web browser. This web browser does only one thing: it downloads a page and renders it. Of course, modern browsers are more sophisticated than their ancestors: they render dynamic HTML, they run software in Java or JavaScript and they may even know XML. Yet browsers still operate the same way -- download and render.

The server has changed more dramatically than the browser. Originally web servers were mainly concerned with downloading files. Although CGI made it possible to extend the server, its usage was infrequent. However today the ability to run software on the server is critical.

What is an Application Server

An application server is a specialized web server. Whereas your "traditional" web server excels in publishing documents, the application server is optimized to run software. In practice the application server ships as an extension module for one of the three major web servers: Netscape, Apache or Microsoft.

Organizations will use application servers to expose their information system (the databases that hold their stock, customers, orders, etc.) on the web. In other words, they build intranets (web-based internal network), extranets (services for customers on the web), web shops, surveys, registration documents, etc. using application servers.

In terms of technical architecture, application servers naturally work as 3-tier client/server applications. In this model, the application is divided in several layers or tiers. The first tier is the web browser which is in charge of presentation. The application server is the second tier and it manages the requests. The last tier is the information system where the transactions are finally processed.

This is the web version of "divide and conquer": instead of one bulky application that is difficult to write, maintain and deploy, we have three smaller pieces that can evolve at their own rhythm.

Application Servers Are Not Born Equal

The term "application server" covers a very broad range of products from scripting languages, such as ColdFusion, to high-end transaction managers, like WebExpress. To understand application servers, it is essential to establish a classification of some sort. I propose to use the following three categories: scripting servers, database front-ends and back-office tools.

Scripting servers are built around a high-level programming language. The language is geared towards accessing database and web presentation. This category was popularized by Allaire ColdFusion and Microsoft ASP. Scripting is ideal for small and medium-sized applications such as consulting a directory of phone numbers or small shops. Scripting however does not scale well because it supports only limited reuse which turns into a maintenance nightmare for large-scale projects.

As the name implies, database front-ends simplify building a web front-end for databases. However they aim at larger applications than scripting. The products in this category, such as Apptivity or NetDynamics, typically combine a comprehensive component library with a graphical development environment.
These products aim at being almost as easy to use as scripting while being more scalable. In practice these products are very specialized. They are bred for one purpose: to present data from a SQL database. Trying to use them for anything else tends to create needless difficulties.

Finally we have the back-office application servers. These products concentrate on process and transaction management. The Netscape Application Server and WebExpress are representative of this category. These products are ideal for heavy-duty processing and, unlike the database front-ends, they are very generic in nature. However products in this category are significantly more difficult to use and more expensive. You wouldn't want to use them, unless your project really calls for it.

What Should I Do

Application servers have a very useful purpose: many organizations want to bring their stuff on the web. Before deciding which application server is right for you, it is essential to recognize that the term "application server" cover products that differ widely in functionalities. In practice, scripting and back-office server are built to serve radically different needs. Comparing them is like comparing apples and pears.

To choose an application server for your organization, it is therefore important to clearly understand your needs. If the application is very simple, or for prototyping, a scripting server is appropriate. For larger applications that concentrate on databases, a front-end is appropriate. Finally, large applications are best served with a back-office application server.

Self-promotion department

Don't miss the new article:

About Pineapplesoft Link

Pineapplesoft Link is published freely, every month via email. The focus is on Internet applications in its broadest sense: distributed and mobile computing, e-commerce, Java, XML, etc. The articles target people interested or concerned about technology either personally or professionally.
The information and design of this issue of Pineapplesoft Link are owned by Benoit Marchal and Pineapplesoft. Permission to copy or forward it is hereby granted provided it is prefaced with the words: "As appeared in Pineapplesoft Link - www.psol.be."

Editor: Benoit Marchal
Publisher: Pineapplesoft sprl www.psol.be

Acknowledgements: thanks to Sean McLoughlin MBA for helping me with this issue.

Back issues are available at <http://www.psol.be/old/1/newsletter/>.

Although the editor and the publisher have used reasonable endeavors to ensure accuracy of the contents, they assume no responsibility for any error or omission that may appear in the document.

Pineapplesoft is a registered trademark of Pineapplesoft sprl in the Benelux.

Last update: April 1999.
© 1999, Benoît Marchal. All rights reserved.
Design, XSL coding & photo: PineappleSoft OnLine.