Web sites used to be simple propositions — a little HTML code here, a Web server there, and that was about it. When you wanted to update the site, you put whatever page you wanted to change into your handy-dandy text editor, made the changes in raw HTML, then FTPed the new page to the live site, hoping you hadn't just overwritten something by mistake.
Well, things have changed a lot over the last few years. Both the technical environments used to host Web sites and the tools used to create and administer them have become more powerful and complex. At the same time, users' expectations of what a Web site should do have risen. Live online training calendars, automatically updated announcements, online grades and testing information, and Web-based curricula are no longer exotic, leading-edge features — they are what people expect as a matter of course.
But while the technology advances and users' expectations increase, it's likely that there have been no corresponding increases in human resources and technical staff to make all this happen. So, how do you reconcile the need for data-driven Web sites with the reality of your current infrastructure? We'll give you a brief run-through of some strategies for giving your staff and users what they need and expect.
By definition, a data-driven Web site is one in which the content comes from some back-end data source, such as a database, and is then formatted and presented to the user by the Web server. Typically, data-driven sites are dynamic; they present information that is live rather than static. The benefits of using data-driven sites are numerous. For starters, instead of requiring technical staff to manually update Web pages any time information changes (such as a class time update on a calendar), a data-driven site can automatically present the most current information available.
It is also much easier with a data-driven site to allow for two-way interaction with the user. This makes the site work more like a true computer application than a bulletin board, providing for interactive functionality such as live searching and real-time queries. Because users of a data-driven site can edit and modify their own information, data-driven systems enable a much more self-service approach to updating information hosted on Web sites. This removes Webmasters and other IT staff as potential bottlenecks, freeing them up to work on the problems which are truly technical and not content-related.
Districts: It's All About Infrastructure
Implementing data-driven Web sites requires choosing and deploying the right infrastructure for your school system. The ideal setup is robust and reliable, provides adequate performance, and gives users a range of solutions in terms of complexity and flexibility. Some users need simple and lightweight, others need heavy-duty and high-performance, and many others some fall somewhere in between.
A full architectural how-to is beyond the scope of this article, but here are some of the solutions that have been explored at Fairfax County Public Schools and elsewhere. At Fairfax, some of the pieces were put in place quickly, while others took longer or had to be modified due to limitations of various components and budget and licensing issues. However, with the proper planning, a wide range of resources can be made available district-wide, without breaking the bank.
The first step to implementing a robust three-tier architecture (see sidebar, "Three-Tier Architecture" below) is having load-balanced Web servers on the front-end, middle tier servers for the applications, and back-end data sources, potentially using some centralized mass-storage for the whole system to simplify capacity planning, maintenance, and backup. The bottom line is to make sure there is adequate capacity in place to support current and anticipated future needs and to make the resources which are offered easy to access and maintain.
The most complex resources offered to create data-driven Web sites are for the power-users. At Fairfax, this was done via an environment hosting Java ServerPages (JSP) on the front-end (front and middle-tier) connected to Oracle or MySQL databases on the back-end. Using JSP and Oracle requires relatively advanced programming, but this solution is very scalable, uses widely-known industry-standard technologies and skills, and, with adequate hardware, it can handle just about anything one might throw at it. About 5 percent of typical school-based users might have needs which require this level of capacity. This type of solution also provides a standard platform in the district for deploying custom-built in-house applications for Internet or Intranet use. For Microsoft shops, Microsoft provides a similar kind of framework using ASP .NET.
Down one notch in complexity are middle-level programming resources, such as Cold Fusion MX, linking to MySQL or SQL Server back-end databases. Cold Fusion applications, which originally began as simple tag library extensions for HTML, now can do almost anything you might want to do in the realm of data-driven applications. Deploying Cold Fusion still requires some level of programming skill (and it can get complex), but there's a great deal of pre-built code out there, and it is generally much easier to roll out than custom-built JSP applications. Perhaps 10-20 percent of users might need this level of capacity, both for internal/administration and classroom needs. Cold Fusion also supports a wide variety of operating systems, including Linux and Mac OS X, and it interoperates with a range of middle-tier application servers.
Finally, you get to the simplest level, where you can allow a wide range of users, perhaps 75 percent of the total, to deploy simple, data-driven Web forms and applications. The key here is ease of use. If too much programming or expertise is required, most users simply won't take advantage of your capacity. One alternative is to designate an IT team to provide this programmatic support, but the self-serve model ends up being significantly more efficient and empowering if it is done correctly.
There are a number of options for this level of data-driven Web publishing, but one of the simplest and best is Filemaker's Instant Web Publishing option. The goal is to make basic Web publishing of forms and simple databases as close to drag and drop as possible, and Filemaker makes it pretty straightforward. The downside here is that there usually are technical limitations on the complexity of the applications, and they tend not to be as scalable to larger numbers of users. Also, there may be significant issues with licensing, maintenance, and hardware capacity that must be resolved. It's critical to look closely at the technical details: how many simultaneous databases can be accessed on each physical server? How many simultaneous users can access each database? If you can get those questions knocked out, you'll be on your way to offering a district-wide resource that will benefit a wide variety of users.
Smaller-Scale Deployments: Keep It Simple
Often, districts will not have a centralized infrastructure available, but they still want to present data-driven Web sites. Typically, the best bet in these cases is to pursue the simplest solution possible. In the examples above, this would correspond to the Cold Fusion and File-maker options. For a limited number of users, and in cases where the data-driven Web sites are for internal (non-public) access only, it may be possible to deploy a site with a minimal hardware configuration — in essence, collapsing the three tiers described above into one or two. Another alternative is to research outsourcing the hosting of your data-driven systems. In recent years, many hosting providers have started offering an increased range of options, including JSP, ASP, Cold Fusion, Filemaker, and many others. If you have no infrastructure currently in place, or if you are just getting your feet wet and are unsure of your real needs, this could save a significant amount of up-front cost.
Either way, the first step is always to find out if there is a district-wide standard for Web technologies and attempt to replicate that, or at least assure compatibility. This may narrow down your choices right off the bat. Once past this hurdle, the most critical success factor for school or classroom-based use of data-driven systems is support. If the people who will be using the systems can find answers to their questions and get support when they need it, they will thrive. If they are stymied and frustrated, they'll quickly give up on the entire concept. Creating clear and explicit lines of support before deploying the capability to use and create data-driven Web sites should be the first thing you consider, not the last.
Modern data-driven Web sites are based on a multi-tier model, separating different functions into distinct layers. Following, a simplified explanation.
- Presentation: The front-most layer of the data-driven Web site corresponds to the presentation of the information. This is what the end-users see, and it can range from a simple setup of the Web server, to a more complex creation that includes firewalls, load-balancers, and proxy servers set up in flexible configurations in order to provide security, better performance, and redundancy.
- Logic: Behind the front-tier, the middle-tier handles the application logic. This layer can be as complex as multiple load-balanced Web application servers, or as simple as a JSP server or scripting language extension built into the Web server itself.
- Data: Behind the middle-tier/application-layer is the back-end tier, containing the actual data sources you want to make available on the Web. These may be dedicated Web-specific databases accessed via various forms of middleware, extracts from larger data sources created via batch jobs or some form of application integration infrastructure, or connections to live production databases critical for your school's operation.
Richard Hoffman is site editor of CMP Media'sDatabase Pipeline.