ZENPRESS Dynamic Server Objects
Another interesting piece of technology built into ZENPRESS is the Dynamic Server Object (we like to call them "servlets"). Servlets are small, dynamic objects that define the publication's relationship with certain machine-specific elements of the Web server. In this case, Dynamic Server Objects help define how ZENPRESS talks to specific servers.
An example of this is the click-tracking log. One of the things you want to do when you run a Web site is track how many clicks an advertiser gets on your site during a given period of time. Generally, to do this you need to use a specially formatted URL. And, depending on what click log software you're using, that URL format is going to change. Some software implementations will want question marks followed by little alphanumeric sequence. Others will want different kinds of pieces of information. In each case, each click-logging software application (which will often differ from machine to machine) expects a specially formatted URL, one that follows a particular pattern.
As a design requirement, we wanted to make sure that ZENPRESS could generate publications to literally any Web server we chose -- without requiring substantial reprogramming. Given that, while HTML and XML are pretty standard, virtually all interaction functions of a server, traditionally called cgi, are completely different from server to server. Our goal was to create publication that could take full advantage of server-specific cgi's, but at the same time require virtually no reprogramming to switch to new servers.
In fact, we wanted to make sure that ZENPRESS could feed one magazine to one server and, at the same time, feed another magazine to a completely different server, each using their own special server-specific features. Key to making this work is being able to use those special server-side resources -- resources that differ from server to server. The click-log tracking software mentioned earlier is one such resource.
We needed a way to make sure that when we re-generate a publication and go from one server to another, that the document structure wouldn't change and that we wouldn't have to re-code everything from the ground up. For example, if we needed to go and generate on Linux, we would need a different structured URL for click-logging than we would if we were generating it for the iMac because we'd be running different hosting software.
So we built servlets. These little pieces of code intercede between the publication and the server it's being hosted on. What happens is this: when ZENPRESS generates a publication, we tell the publication what server it's running on and then ZENPRESS queries the appropriate servlet and generates the server-specific code for that kind of server.
This means we could, if we wanted to, dynamically generate PalmPower to an iMac, OutlookPower to Windows 2000, and DominoPower to a Linux server, all at the same time, using the same ZENPRESS system. The Dynamic Server Objects would provide ZENPRESS with the necessary information to adjust the server interface.
Pretty darn slick, eh?
Previous | Table of Contents | Next
|
|