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 “Application Servers, August 2000” page was archived in 2003 to preserve the original content of August 2000.
 
  | Home | Contact | Site map | Writings | Open source software |  


 

Welcome to the 32nd issue of Pineapplesoft Link. I would like to thank you all for your help growing Pineapplesoft Link. Last month, www.pineapplesoft.com received the Links2Go award. I am particularly proud of this award because Links2Go is based solely on popularity.

They sample millions of web pages to determine which ones are most heavily cited by web pages authors. Out of 18 pages selected for the Development Journal topic, we ranked 8th!

Application Server

If you are a regular reader, you know I like to draw from my consulting experience when selecting topics for this newsletter. I had so many discussions on application servers in July that I thought it would make a nice topic for Pineapplesoft Link.

This issue answers two questions: What is an application server? Do you need one?

Application server is one of those vague terms that are used for so many different products it is confusing. As the name implies, an application server is a web server optimized for the creation of dynamic web sites.

Web development started with CGI scripts. Typically written in Perl, CGI scripts are tiny applications that the server calls to deal with specific requests. For example, if you subscribed to Pineapplesoft Link on our web site, a CGI script took your email address and added it to the list.

Early on, it became apparent that CGI was adequate for simple applications, such as the subscription form, but too limited for more serious ones, such as a shopping cart.

One of the main problems is that web servers have a very short memory. They don't remember that the user who now clicks the "Buy" button for a book is the same user who ordered a CD two minutes ago and that the book should be added to his current order.

Application servers aim to address this and other problems. They take care of most of low-level issues, freeing the programmer to concentrate on his application.

Popular Application Servers

A popular application server is ColdFusion from Allaire. If you are not familiar with ColdFusion, it is a proprietary scripting language (the ColdFusion Markup Language or CFML) with instructions for database access, email and more. A developer writes pages that mix HTML (or XML) and CFML. The ColdFusion application server executes the script and creates a web page in response.

ColdFusion has many clones, including ASP (Active Server Page) from Microsoft, JSP (Java Server Page) from Sun and PHP (a recursive name for Hypertext Preprocessor), an open source project.

Essentially, these products provide a more comfortable development environment than CGI. The application server handles most low-level chores, such as managing sessions, for the developer.

Scripting languages are very useful but, for large applications, they are too limited. Large projects must be broken down into objects and components. Of course, managing distributed objects pauses serious challenges. For example, components need to run in transactions.

This led to the development of more powerful application servers such as WebLogic from BEA. WebLogic bears little resemblance with scripting-oriented servers -- its strength is in distributed object management.

In other words, WebLogic solves more complex problems than a scripting application server but it remains a tool whose goal is to reduce the developer's workload.

Other products in the same category includes MTS from Microsoft and WebSphere from IBM.

What Should You Do?

If you develop web-based applications, it is critical you choose the right tool for the job. As we have seen the options go from CGI to scripting and ultimately to component application server.

I encourage you to familiarize yourself with the three categories: no application server (CGI), what you might call departmental application servers (scripting) and enterprise application servers (component- or object-based). Note that there are some hybrid products as well but I lack space to discuss them in this introduction.

When you review a product, I encourage you to think in terms of the tree categories. In my experience, it is more important to choose the right category for your project than to select the best tool in any given category. In other words, it is more important to decide to adopt, say, departmental tools for a given project than to be specific about whether it should be PHP, ASP or JSP.

Indeed if you shoot too low, e.g. if you build a banking application on CGI scripts, you will waste time solving technical problems that have already been addressed by server vendors. Conversely if you shoot too high, e.g. if you build a subscription form on a enterprise server, you will have no benefits to show for the higher license fee and increased complexity.

My rule of thumb is that scripting is appropriate when there is only one database and between 10 to 20 web pages. Above those levels, I encourage you to investigate object and component technologies.

Self-Promotion Department

Pineapplesoft grows! We welcome Pascale Dechamps as an active partner. Pascale brings her vast experience in project management to Pineapplesoft. .

XML by Example is still doing well. The new book, Applied XML Solutions, will come out in early September. Applied XML Solutions is a more advanced book that will pick where XML by Example left.

Order your copy of XML by Example now at http://www.amazon.com/exec/obidos/ASIN/0789722429/pineapplesoftonl.

Gamelan published a new article on extending XSLT with Java. The article is now online at http://gamelan.earthweb.com/journal/techworkshop/080100_jxalan.html.

About Pineapplesoft Link

Pineapplesoft Link is a free email magazine. Each month, it discusses technologies, trends and facts of interest to web developers.

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 - http://www.pineapplesoft.com."

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

Acknowledgments: 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.

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