Welcome to Zope - a new generation of software that we call a web application platform. Like web application servers, Zope provides very high performance and a strong framework for dynamic applications.
|This QuickStart is built with Zope objects -- take a look!|
Zope, though, is distinguished by its integrated object database which, when combined with a revolutionary object model, provides a completely unique facility for servicing content managers and web application developers. This outline, implemented in Zope, talks about the various strengths of the Zope platform and some of the other products available for it.
|A Basic Example|
|SQL and HTML in Harmony|
Arguably the most powerful and complex implementation of Zope is one which involves a multi-tier architecture and multiple datasources.
Consider the following common scenario:
For various and sundry reasons Plutonia Computer's (our example company) webmaster has chosen to run the main Plutonia website on the Linux operating system and use Apache as the web server. Unfortunately for our webmaster, Plutonia's corporate database standards are Oracle® and Sybase®. Last we checked, neither Sybase or Oracle had (or were planning on having) client-side drivers for Linux. If they did a clever and efficient webmaster could develop interesting CGI applications against the client-side drivers. Alas, no drivers, no integration...
Until Zope and Aqueduct that is! Using Zope's unique Network Client capabilities, Zope developers can publish searchable objects from one Zope to another. In the scenario above a developer can use Zope on a platform for which there are Oracle/Sybase client drivers. From this platform they would publish one or more query objects. For example, Oracle client drivers are available for the Solaris operating system. We can use Zope on Solaris to publish (over the network) queries against an Oracle database. This Oracle database is either a) on the same Solaris machine, or b) available to the Solaris machine over the network. In any case, the following queries can be published by the Solaris server.
We can now return to our Linux web server where we use a Network Client to access the remote searchable objects published from the Solaris server. Once we correctly configure a Network Client we have access to all of the data on Linux!!! This architecture works perfectly whether you are
Security and Performance is critical! The network connection between the Linux web server and the Solaris machine that is publishing searchable objects is both encrypted (for strong security) and compressed (for strong network performance).
The scenario described above is illustrated in the following software component diagram. Note that while not depicted on the diagram it is certainly possible (and, in fact, common) for the Linux webserver the be publishing databases (e.g., SOLID, mySQL, mSQL, etc.) directly in conjunction with the Oracle and Sybase databases.
|Multiple Data Sources|
|Web to Objects|