|
September 15, 2001
Weaving a Unified Web: One District's Solution
By Richard Hoffman
A little more than a year ago, the Fairfax County Public Schools created a group entirely devoted to Web technologies. Among the very first goals of the Web Technology Group was to develop guidelines and standards for Web development by our staff, teachers, and students, and to provide a strategic vision for the purchase and implementation of Web server platforms, tools, and technologies. As with many other districts and organizations, our Web development has occurred organically, in response to immediate needs and circum-stances. While individually useful, our tools and technologies were often uncoordinated and occasionally incompatible. We determined that creating standards for Web development-including both tools and practices-was critical for allowing our district to con-centrate its limited computing, training, and organizational resources on a few key areas, and to offer a greater range of Web-based services to students, teachers, parents, and staff. The primary goal of our Web Technology Group is to assist and enhance the educational mission, and picking the right standards is the best way to achieve that goal.
Robust, Bulletproof, and Scalable
Fairfax County Public Schools is a very large district, with over 160,000 students scattered across more than 250 facilities. Any technology solutions we implement, Web-based systems included, have to be absolutely robust, bulletproof, widely scalable to serve a hundred users or a hundred thousand, and very economical. To meet these goals, we have adopted the general philosophy that Web tools and technologies must be based on accepted industry standards, fully cross-platform-to accommodate Macintosh and Windows users, as well as thin clients-and browser-neutral, to allow access through Netscape and Explorer as well as "indie" browsers, such as Opera and NeoPlanet as well as those designed for disabled viewers. This client independence offers a tremendous advantage over the older client-server model of software delivery, where a specific version of a specific software package needed to be installed on every computer workstation in order for users to access academic systems and resources. Most schools use a mixture of several generations of Macintosh computers and PCs, and delivering services and systems to all of these can be a serious pain. Web-based systems offer a way out of this trap, if the correct technologies and standards are adopted, and developers do not tie themselves too closely to any one browser, platform, or operating system.
Portable Code
Well-designed Web code written by school Web developers, whether they be students, teachers, or administrative staff, should ideally be portable to any major platform or Web server with a minimum of difficulty. This means that the Web development tools should produce clean, standard HTML pages, and any client-side coding, such as JavaScript, should also be, as far as possible, cross-platform, browser-neutral, and standards-based. For those doing hard-core Web programming and development, their programming languages should ideally be cross-platform and portable, and Web servers should be capable of running on multiple platforms. The best known of the general-purpose programming languages that allow cross-platform compatibility is Java, but there are many others, including ColdFusion, Perl, C, and Tcl. Most major Web servers today can run on multiple operating systems and platforms, including the widest-used server, Apache, and the one used by most large commercial sites, Netscape/iPlanet. This approach helps assure compatibility for users of our Web applications both in and out of the school. It also helps make sure that the Web sites and applications we build today will be usable and viewable on the Web servers and browsers of tomorrow, whatever they may be. Practically speaking, if our school district has the good fortune to get a multimillion-dollar donation offer from a computer vendor, we do not want to have to refuse the offer because our Web technologies aren't compatible with the hardware or operating system. Additionally, given the breakneck speed with which technologies and companies change in the Internet world these days, it doesn't make any sense to get too closely tied to any one vendor's proprietary vision. The safe course, and the smart one, is to stick with established standards and remain as flexible as possible in the face of a rapidly changing world.
Standard One:
Web Development Tools
Our first area of standardization was in basic Web development tools. Many of our Web developers have a favorite HTML tool, and the last thing we wanted to do was tell them to change. Our teachers, staff, and students were using everything from Adobe GoLive, Macromedia Dreamweaver, Claris Homepage, Microsoft FrontPage, and BBEdit to basic text editors like WordPad and Notepad. Some of the tools, in particular older versions of Microsoft FrontPage, were notorious for producing clunky, bloated, non-standard HTML code that only worked properly on a specific browser or browsers.
By offering our developers support for our recommended standard tools, including training, online resources (see Fairfax County's Web-Building Resources, page 50) and specially negotiated contract prices, we hope to encourage developers to migrate to an HTML editor that we recommend and support. Our recommendations were partially based on what a representative sample of our district's Web developers found easiest to learn and use. We gave the product to a number of novice developers, and asked them to learn it and tell us how easy or difficult they found it. The rationale for selecting novice users was that the experienced "power users" would likely choose their own preferred tools regardless of the standard. We were also concerned with finding products that produce clean, standard HTML 4.0 code, and which provide both WYSIWYG ("What you see is what you get"), drag-and-drop functionality for beginners and advanced features for more experienced users.
The primary tool we recommend is Adobe GoLive 5.0, since it not only met all of our requirements, but also proved easiest to learn for the majority of our novice testers. A secondary supported tool will be Macromedia's Dreamweaver 4 and Dreamweaver 4 Ultradev. Dreamweaver is another excellent, full-featured, popular tool, but it's more expensive, and the majority of users we tested found it somewhat less intuitive to learn than GoLive. Both tools, however, produce clean, standard HTML code, and have built-in automated "assistants" that can be used to create common page features such as rollover buttons. Both are also fully cross-platform, a key point for almost any school system.
GoLive and Dreamweaver tend to leapfrog each other in terms of features and capabilities with each new release, but both are extremely capable editors, and either would be a good choice for standards-based Web development in a school setting.
Standard Two:
Web Infrastructure
Next, we focused on the creation of a standard Web services infrastructure. Our existing infrastructure included an Intranet server running Microsoft IIS on Windows NT 4.0 and an Internet server running on an HP-UX (Unix) server, using an older version of the Netscape SuiteSpot Web server. Both platforms were aging, short on memory and drive space, and, though holding up remarkably well given their load (primarily static HTML pages on the Internet with some dynamic content on the Intranet), in need of replacement.
Of the two servers, the Internet server handles by far the bulk of the traffic, with over ten times the load of the Intranet server-a peak of three million hits in a single day-so this was given top priority for replacement. An average load for our public site is about 250,000 hits per day, but we anticipate that this will increase as we add more Web-based services and features to the site, such as database applications and classroom and student Web sites.
After much analysis, the best solution we found was to deploy six Sun Fire 280R Web servers running the iPlanet Web server software, with a Sun network-attached storage unit providing storage for the entire site. Sun is moving aggressively into the K-12 market, gave us excellent educational pricing, and is an industry standard-the company's servers are used for many, if not most, of the high-visibility, high-reliability Web sites on the Internet today. The servers have a reputation for being bulletproof and reliable, and that's exactly what we need. Sun provides 24/7 on-site hardware and software support, which is also critical for us. Using a network-attached storage array on a gigabit Ethernet backbone gives us fault-tolerant, scalable storage, and allows our developers to access their individual Web data using NT Domain authentication, instead of needing accounts on the Web servers themselves.
In plain English, this allows us to use Windows NT user account maintenance tools, which our administrative staff already uses, to manage our Web developers-on any platform. The administrators assign rights to specific areas of the storage to specific users or groups of users, and the Web servers know to look to that storage for the Web pages they are serving.
Users access their own Web storage area the same way they would map to any other drive on their workstations. Our Web developers will not have to memorize another user ID and login, and can access their part of the Web site (and nobody else's) simply and transparently. We get the benefit of the reliability and capacity of Unix-based Web servers, without having to force users to maintain a separate user ID just for their Web development. In addition, we can carve up the pool of storage space any way we choose, instead of having to allocate and dedicate it to a specific Web server or host ahead of time.
We also are implementing several Windows-based support servers. We're deploying a dedicated erver for hosting smaller Web databases (Access, FileMaker, and SQL Server), and a Web reporting and administration server for doing log and usage analysis, regular link-checking, and reporting using the WebTrends Enterprise package, which provides exhaustive reporting capabilities for our Internet and Intranet servers.
Standard Three:
Web-Enabled Databases and Rapid Application Development Tools
One of the most anticipated Web standards was in the area of Web-enabled databases and rapid application development tools. These are the tools that novice and expert Web developers alike can use to create useful, data-driven dynamic content, such as online alumni databases, field trip request forms, and departmental or school-based applications. They can make it easier for developers to create applications by giving them a graphical user interface with drag-and-drop tools, interactive form generators, code templates, wizards, and other online assistance.
The major drawback to applications built with these kinds of products is that they are generally not very scalable to larger numbers of users, and since they usually use some form of proprietary programming language, to a degree they lock you into one specific vendor's program or line of programs. Our top-level tool, JavaServer Pages, does not suffer from these problems, but it is more complex to learn and use than our "lighter-weight" RAD tools.
A Three-Level Solution
Fairfax County has been using Pervasive Software's Tango for several years now, but recently Pervasive announced that they would be ending support for and sales of the product. Since then, WithEnterprise Pty Ltd. has purchased Tango from Pervasive, and it should again be available for sale. But at the time our strategic planning was taking place, the future of Tango was very much in doubt. The solution we came up with was to offer three levels of tools for dynamic content, with each higher level offering more capability but also more complexity. This enables us to cover everything from the do-it-yourself project for individual classroom use all the way up to enterprise-wide, Web-based systems with hundreds or even thousands of simultaneous users.
For the first level of tools, we selected FileMaker Pro, a product that has had a long history of successful use in many school systems. Easy to learn and use, FileMaker can be picked up with little or no training, has its own bundled database, and offers a simple way for Web developers to create a data-driven site. It is also cross-platform and relatively inexpensive. It is not designed, however, for large systems with many users.
For projects of medium capacity and complexity, we're using Macromedia ColdFusion 5. To a large extent, this is our replacement for Tango. This venerable product started out by providing a collection of proprietary tag extensions (in ColdFusion Markup Language, CFML), which could be used to provide data access and other useful functionality to Web pages. For instance, a developer can insert ColdFusion tags (which look similar to HTML code) into a Web page; the ColdFusion server intercepts the specific ColdFusion tags and processes them, allowing for database access and other advanced functions to happen with a minimum of programming.
The latest version of ColdFusion provides an improved development environment and deployment tools, and a robust environment for deploying small- to moderate-sized applications, such as school-wide inventory programs, class directories, and alumni Web sites. A Macintosh version of the ColdFusion Studio developer is not available, but ColdFusion pages can be authored in cross-platform tools such as Dreamweaver Ultradev. The ColdFusion server software runs on HP-UX, Linux, Solaris, and Windows, so you've got a fairly wide range of platform choices. Perhaps most importantly, ColdFusion is improving its compatibility with the Java programming language, since for enterprise-level systems, that is our new Web development standard.
Java has grown incredibly rapidly to become the dominant general-purpose language for many, if not most, Web development applications. It's about as cross-platform as you can get, which means that most Java code written for one platform requires comparatively little, if any, revision to make it function on another platform. Java is taught in most university and community college computer science programs, and the Java developer community is huge and growing. For these reasons, among many others, we chose to support JavaServer Pages (JSP), but not Active Server Pages (ASP), for our "top-level" Web development standard.
New ASP development is being strongly discouraged in our district, because it is vendor-specific, proprietary technology, which will run natively only on the Microsoft IIS Web server, and only on a Windows operating system. There are a few third-party tools that support ASP under Unix, but using one of them involves added cost, complexity, and doesn't remove the problem of being tied to one specific vendor.
JSP, by contrast, is cross-platform, and provides the same, and in most cases better, functionality than ASP, because it allows use of the full range and power of the Java programming language. With this power, however, comes greater complexity, and we anticipate that JSP, as well as other Web-related aspects of the Java platform (servlets, Enterprise JavaBeans, etc.) will be used primarily by our developers who need to write large-scale, enterprise-level applications. For these kinds of mission-critical applications, JSP offers the ability to scale smoothly to a large number of simultaneous users. These projects will usually connect to our standard enterprise database, Oracle-another best-of-breed product.
Build Your Foundation
With the adoption of standards for Web editors and data-enabled sites, and the creation of a standard Web development and deployment infrastructure, Fairfax County is poised to make full use of the Web as a tool to enhance teaching and learning.
Goethe wrote, "The greater part of all mischief in the world arises from the fact that men do not sufficiently understand their own aims. They have undertaken to build a tower, and spend no more labor on the foundation than would be necessary to erect a hut." We hope that by spending time and effort on planning our Web foundation, we will be able to build a tall, strong tower for learning within Fairfax County Public Schools. Is your district ready to do the same?
Richard Hoffman is the Web technology coordinator for Fairfax County Public Schools in Fairfax, Va., and a contributing editor for Network Computing magazine.
Read other articles from the September Issue
Send a letter to the Editor in response to this article.
|