Академический Документы
Профессиональный Документы
Культура Документы
3.1. Baking
CMS’s that employ the “Baking” philosophy do most of their work before the
user enters into the equation. When the site is published by a CMS user, the
CMS engine crawls through the website (much in the same way as a search
engine robot crawls through a site) and makes a static copy of the site. That
is, a snapshot of the site is taken at that particular moment in time by the
CMS engine. This static site is generally stored as a collection of HTML pages,
images and documents and uploaded to the live web server or servers once
the CMS has finished crawling the site.
3.2. Frying
CMS’s that rely on the “frying” method employ a completely different method
of content delivery. The CMS and its related data are deployed along with the
live site. When a user requests a page, the CMS engine (which is present on
the live site) intercepts the request from the user. The engine knows which
pieces of content are current for that requested page. It prepares the page
and sends it to the user.
In this instance, when the CMS user hits publish, very little happens. The CMS
will store the information describing which versions of content are currently
“live” and nothing more. Any subsequent page requests from users will be
served using this live version.
3.3. Choices
Naturally with such radical differences in philosophy, the choice of whether to
“bake” or “fry” the website is a critical one. Most CMS’s employ either one
approach or the other; rarely both together. The three fundamental issues to
take into account are those of performance, timeliness and flexibility. The
“Baked” delivery approach stresses the web server as the site is being
deployed but normal website requests from users can be serviced very
efficiently; the processing will already have been performed and so the
system does not need to do it again. “Frying” systems on the other hand do
not stress the server when the CMS user decides to publish the site, but the
system encounters a small overhead whenever a normal page is requested
from the user. Caching (remembering) pages after they have been processed
once can dramatically improve the performance.
In terms of timeliness, baked systems will always lose out. If a single word is
spelt incorrectly within the website, the system must process (bake) the
entire website and deploy it to the live web servers. A frying system, on the
other hand, can apply the change immediately.
On the whole, frying systems are more flexible. Since each page request is
processed by the web server it is often a lot easier to apply dynamic features
such as personalization or form processing. Baked systems, by their nature,
tend to be less flexible.
The general tenet adopted within the industry is to use a baking system only
when the volume of requests to the site makes it financially unfeasible to
deploy a “frying” system. If the number of page requests for a site is not very
high (anything below around 500,000 page requests a day) the increased
flexibility and timeliness of a frying system makes it the better choice.
4. Products
After searching the open-source content management landscape for systems
that appear to fit the requirements, the candidates have been reduced to the
following four systems.
• Apache Lenya - http://cocoon.apache.org/lenya/
• RedHat CMS - http://www.redhat.com/software/rhea/cms/
• OpenCMS - http://www.opencms.org/
• InfoGlue - http://www.infoglue.org/