Building a great Web site was never easy, but it seems to be getting more complicated as the Web grows. If you really want to make your Web site stand out in the crowd, you need to check out these Web development toolkits.
There was a time, back in the stone age of 1994, when building a decent Web site was a relatively simple thing to do. Back then, you fired up your copy of Emacs, wrote a couple of lines of HTML, pulled together a couple of .GIF files, and presto; you had a presence on the Web.
Fast forward to the year 2000 — If you want to keep up with the Joneses on the Web, you’re going to have a hard time doing it with Emacs. HTML has evolved from a simple markup language, designed for displaying basic text and graphics, into a complicated page-layout language that strives to provide graphic designers with all the tools they need to create near magazine-like layouts.
However, even the rapid evolution of HTML pales in comparison to the pace of development on the server side of the equation. Today’s Web sites are often fully interactive and seamlessly tied into all of a company’s other systems and databases. In fact, today’s Web sites are much more than just a set of HTML pages; they are full-fledged applications with user interfaces that just happen to be displayed in your browser.
Needless to say, designing an effective application of any sort is a complicated process that requires a lot of work on both the user interface (in this case, the front-end Web page itself) and the backend (the plumbing that ties your Web site into the rest of your systems and databases).
The good news is that there are plenty of tools available to help you cut through all the complexity and create truly powerful Web sites. We decided that it was time to dive into the mix and take a close look at some of the products and technologies that are available today for the serious Linux Web site developer.
The systems we looked at included both open source projects (such as PHP and Zope), as well as commercial products (such as Chili!Soft ASP and IBM’s WebSphere). They allow Web developers to add dynamic content, document management, and interactivity to their Web sites.
Aside from development tools, there is one other application that has been absolutely instrumental in pushing Linux to the front of the server market — the Apache Web server. According to the Netcraft Web server survey (http://www.netcraft.co.uk), Apache holds over 60 percent of the Internet Web server market. Many of the products we looked at integrate directly with Apache. Others can be either set up with their own standalone Web server (on a different port) or configured to use an installed Apache server.
Of course, Linux wouldn’t be Linux if it didn’t play nicely with other systems, and Linux Web tools are no exception. Chili!Soft’s ASP package allows you to take all the dynamic Web pages you might have originally designed to run under Windows and run them flawlessly under Linux.
For those who have run their sites on Windows NT and Microsoft’s IIS (Internet Information Server) in the past, and are now thinking about switching over to Linux, Chili!Soft ASP provides a fully functional implementation of Active Server Pages (ASP) on Linux (as well as AIX, HP-UX, Solaris, OS/390, Windows NT, and others). This approach also allows designers to continue to use their Windows-based development tools while migrating to the Linux platform.
Active Server Pages allow Web developers to easily create database-linked content, process fill-out forms, and build dynamic Web pages. Chili!Soft’s implementation of Active Server Pages frees up Windows developers to utilize more powerful Unix-based server platforms while allowing them to maintain their investment in existing ASP-based Web and e-commerce sites.
|ChiliSoft ASP: ChiliSoft brings all the functionality of Microsoft’s active server pages to Linux.|
Installing Chili!Soft ASP and getting it up and running is an easy procedure. A demo version is available for download on the Chili!Soft Web site. The included installer will have you up and running in minutes. A demo license file will be e-mailed to you. This needs to be downloaded and stored in the Chili!Soft directory (/opt/casp). There are versions of Chili!Soft ASP available for Red Hat 6.x, SuSE 6.4, Linux Mandrake 7.x, and Slackware 7.0 running Apache 1.3.x.
The software is available for $795 for Linux servers with one CPU, and $995 for servers with up to four CPUs. The free download demo version is good for 30 days. The demo is a fully functional copy of the product. This allows you or your company to evaluate all of its capabilities before deciding to make a purchase.
Let’s face it, any company that makes a product as cool as Chili!Soft ASP was bound to get snatched up by one of the major Linux players sooner or later. That’s exactly what happened. In March 2000, Cobalt Networks purchased Chili!Soft and integrated their software into Cobalt’s new RaQ 4r server appliance. Cobalt’s RaQ line of servers is easy to set up, easy to administer, and inexpensive. If you would like more information, check out their Web site at http://www.cobaltnetworks.com.
If you are just beginning to design more versatile Web sites, you probably don’t want to start off using ASP. Being a Microsoft “standard,” there’s no telling when it will be enhanced/broken so that newer tools won’t work properly with pages created by older versions. Or, the tools and pages created with those tools may not work well with third-party servers. But, if you’ve already got a bunch of servers that you want to migrate from NT to Linux, Chili!Soft ASP is a great interim solution.
If you are looking for a powerful scripting system to add interactivity and compelling dynamic content to your site, PHP4 is an excellent tool to add to your arsenal. Not only is it completely free, but it also runs on a wide range of platforms.
By using the PHP language, site developers can embed code in their Web pages while maintaining full HTML compatibility. The PHP code is interpreted on the server side and is processed into standard HTML, which is then sent to the client. This means that no special functionality needs to exist in the browser and any standards-compliant Web browser will work just fine with a site that was designed using PHP.
The PHP code is embedded within the HTML, and every bit of PHP code is bracketed between a “start tag” (<?php) and a “closing tag” (?>.) The following is an example of a very simple PHP page:
<?php echo “Hello world!”; ?>
This code would result in the text Hello world! printed on a line in your Web page. This is a very simplistic example, but PHP is a complete and full-featured scripting language.
Some Linux distributions, such as Linux Mandrake 7.1 and SuSE 6.4, come with PHP support preinstalled and turned on. Others, such as Red Hat 6.2, require that the PHP software be downloaded and installed (although Red Hat’s Commerce Server product does come with PHP preloaded). Installation of PHP is a fairly straightforward procedure, requiring a few minor changes to Apache’s configuration files and a quick Web server restart.
Since it was released this past May, the 4.0 version of PHP hypertext preprocessor has been an overwhelming success. Building on the features of the 3.0 edition, PHP4 adds increased scalability, cleaner architecture, additional platform support, and the inclusion of the Zend scripting package. Zend provides improvements in the execution speed of PHP code while also endowing the language with additional functionality.
If you are looking for a flexible, powerful, and open-source Web development tool to build a killer Web site on Linux, PHP is well worth a look. It offers an easy to learn scripting language, robust database connectivity support, and tight integration with the Apache Web server.
If you’re in the market for a more full-featured product, IBM’s WebSphere Application Server for Linux may be right up your alley. It brings all of the power of the WebSphere server family to the Linux platform.
WebSphere includes everything you need to develop and run elaborate Web applications, including an extensive assortment of pre-built Java servlets, JSPs (Java Server Pages), and XML tools for creating dynamic Web sites. System administration and monitoring tools, as well as database connectivity software, are all also included.
All this functionality makes WebSphere a great choice for both new Web developers and for those who already run WebSphere in their business environment and are looking to make the move to the Linux platform.
The WebSphere server integrates all of its important components into one cohesive package. The Web server administration interface is superb. Traffic reporting and monitoring are built in and the database connectivity tools are excellent. And, as you’d expect, WebSphere integrates easily with other IBM server products such as the MQSeries, Tivoli, and DB2 Universal Database, as well as many third-party products and servers.
Besides all that functionality, possibly the best news of all is that, instead of developing their own proprietary Web server, IBM decided to join the open source community and become a member of the Apache development team. They then proceeded to build their WebSphere products on top of the Apache Web server, creating a package that is not only based on bona-fide open source software, but is also backed up by the full weight of IBM.
With WebSphere, you can be up and running in just a few short hours. The WebSphere Web site (http://www.ibm.com/websphere) contains all of the important information that you will need to start you on your way. And, IBM’s reputation for support and reliability will help you to sell the application server to the necessary higher-ups in your organization.
The Linux version of the WebSphere Application Server can be downloaded as a free demo. If you decide to purchase it, it’s $728 for the Standard Edition for a single server. WebSphere runs on Red Hat and Caldera-based Linux systems. It is also available for other platforms and at reduced prices for volume orders.
WebSphere isn’t for everyone, but if you’re looking to set up a top-notch e-business site and need a powerful application server to base it on, IBM’s latest for Linux is a perfect choice. And, with IBM’s world-renowned support infrastructure, help will never be far away if you should run into trouble.
The open source software world is filled with competition, and IBM’s WebSphere Application Server faces a tough competitor from an open source project known as Zope (Z Object Publishing Environment). Zope is a powerful and extensible Web application server designed for Linux and other platforms. It can co-exist with your existing Web server or run separately using its own Web server (on a different port of course).
Zope is an easy-to-learn platform for anyone with a bit of Web knowledge. Using special Zope tags in Web documents, it requires little effort to create forms, dynamic sites, database-integrated information, and more. And, managing the site couldn’t be easier. The Web-based Zope management interface is feature-rich and easily extended.
|How Zope Copes: The Zope Web server (Z server) can use multiple protocols to communicate with a separate Web server.|
Zope’s installation process is mostly automated, but if you’re planning to have Zope use your existing Apache or other Web server software, the configuration can become a bit tricky. In most cases, it’s easier to just let Zope run using its included Web serving capabilities.
In order to install Zope, you’ll need to download the latest version (from http://www.zope.org) and log in as root. Zope comes as precompiled binaries for most platforms, so the installation simply involves uncompressing the archive in the appropriate directory and running the installer script. Of course, the source code is also available for those who want to compile Zope themselves.
An included tutorial (all about Elvis, oh boy!) helps those new to Zope and Web application servers get their feet wet with the technology. And, the tutorial can easily be referred to later when you want to add some spiffy feature to your Zope-powered site. There are also a number of add-on modules and how-to documents available on the Zope Web site.
Zope-based sites are not limited to simple HTTP transfers; they can also integrate with other protocols, such as WebDAV (see sidebar at right) and FTP. A Zope server can also be extended by using ZClasses (which are new object types based on Web technology), and by the addition of add-on Zope tools. Of course, database integration is also a simple task.
A new version of the Zope server (version 2.2.1) was released in late August. It includes a number of bug fixes over the 2.2.0 version. Zope runs on Linux (of course), Windows NT, and Windows 9x platforms.
If you need an inexpensive (or better yet, free) but powerful Web application server, want to get up and running quickly, and don’t really have a problem with a little hands-on page design and coding, then Zope is a perfect choice. Its obvious cost advantage, powerful integration with existing databases, and support for a wide variety of protocols make it a rather strong force in the Web application server market.
What’s Right For Me?
We’ve outlined quite a few cool and exciting Web tools, but how do you know which is the right one for your site? Should you go with WebSphere for everything? Or, should you let Zope handle parts of the picture? Should you use PHP4 to integrate it all?
This is where things get sticky. There is quite a bit of overlap between many of the Web packages available for Linux today. The important thing is to define what you want your site to do and have a basic sense of how you want it to look up front. Then, look at each of the products we’ve outlined and judge which ones have the features and functionality you need.
If you’re not a developer, stay away from technologies that require lots of manual tweaking. Tools like PHP4 may be too big a leap for non-developers to make right off the bat. Instead, try building up your site with simpler tools like Zope. Then, as you get familiar with things, try adding other more complicated components to the mix.
Where to Go From Here
Hopefully, you now have a general understanding of these technologies and are ready to try some of them out on your own. There are a number of Web sites, as well as other sources of information, to help you along the path to becoming a Linux Web guru. See Additional Resources (pg. 38) for details on various sites and books that are available.
Of course, at some point, everyone has to call in the “big guns.” If you’re designing a business site, you should seriously consider hiring professionals for some of the work. This is especially true when integrating a large database or designing an e-commerce site. In situations like those, the complexity and mission-critical nature of the application makes it a good idea to call an expert. But, for most of the work your Web site will require, these tools should stand you in good stead.
The great thing about the Internet is that it’s an almost inexhaustible resource for research, training, and how-to information. If you want to find out more about any of the technologies mentioned in this article, here are some excellent places to get started:
- Ground zero for HTML and Web design is the W3C (World Wide Web Consortium). They provide a number of excellent papers and how-tos on their site http://www.w3c.org. A wide range of topics is covered there, from basic HTML coding to XML standards, privacy standards, etc.
- Other resources include an HTML code validator (located at http://validator.w3c.org), and a CSS (Cascading Style Sheets) validator, which is available at http://jigsaw.w3.org/css-validator.
- Another excellent site for general HTML information is the NCSA HTML Primer, available at http://www.ncsa.uiuc.edu/general/internet/www/htmlprimer.html.
- For detailed information on PHP, along with examples and links to real sites using PHP, see http://www.phpbuilder.com and http://www.phpwizard.net.
- The Apache Foundation’s Web site, http://www.apache.org, contains a wealth of information for both new and highly experienced Webheads. There are links to other projects such as WebDAV, and a comprehensive listing of the available Apache modules and subprojects.
Whatever your level of expertise or area of interest, there are numerous sites on the Internet that can provide you with the information that you’ll need. Web design tools and programming resources, especially for the Linux platform, seem to be developing fairly rapidly, making the platform even more attractive for business users and hobbyists alike.
The fundamental technologies that power the Web, HTTP (Hypertext Transfer Protocol), and HTML (Hypertext Markup Language) have changed very little over the past several years. However, those technologies were never designed to meet some of the demands that have been placed on them by the Web’s explosive growth. But, where there’s a will there’s a way. Recent extensions to those protocols have been created to address the needs of today’s Web.
One of the most exciting and important of those extensions is a new protocol called WebDAV (Web Distributed Authoring and Versioning). In a nutshell, WebDAV extends HTTP to allow for both reading and writing of information (currently HTTP is a read-only protocol). This removes many roadblocks that face both site designers and users. It allows them to easily modify and tweak existing sites and design new ones without having to purchase expensive software tools. The WebDAV project’s goal is to enable the World Wide Web to act as a true read-write medium — which was the original vision of the Web’s creators.
Given the proper security clearance, WebDAV allows users to reorganize, design, and update Web sites from right inside an ordinary, everyday Web browser. WebDAV provides this functionality without requiring any special software, programming, or additional server components (except an Apache Web server and the mod_dav Apache module).
Getting WebDAV up and running on Apache can be a bit complex, but the online documentation helps lead you through the process. After downloading the mod_dav module from http://www.apache.org (mod_dav-1.0.1-1.3.6.tar.gz in this case), and uncompressing the archive, simply do a ./configure-withapache= /path/to/your/apache, and the module will build itself. Then, just type make and make install, and you’re good to go. Once you’ve added mod_dav to Apache’s list of loaded modules, restart your Apache server, and mod_dav support should be enabled.
While the mod_dav module for Apache discussed here is designed solely for that Web server, the WebDAV working group is also working on support for additional Web server platforms.
If you are already a Web design guru, and would like to take your site to the next level, you owe it to yourself to check out WebDAV and the Apache mod_dav module. By adding these features to existing pages, especially on Intranet and collaboration servers, your site will instantly become much more interactive, dynamic, and enjoyable.
Kevin Railsback is the west coast technical director for the InfoWorld Test Center. You can reach him at firstname.lastname@example.org.