處理資料持久化、完整性、存取控制等底層細節,開發者專注業務邏輯。支援 Python (主流)、Perl 撰寫邏輯;提供 DTML (Document Template Markup Language) 與 ZPT (Zope Page Templates) 兩種模板語言處理文字、XML、HTML。
不同於 ASP/PHP 的檔案導向,Zope 以物件為核心:URL 直接對應物件資料庫中的物件路徑。例如 /Marketing/index.html 對應「Marketing」資料夾物件下的「index.html」文件物件。
protocol://host:port/path?queryURL 結構:/資料夾/子資料夾/物件ID,完整範例:https://localhost:8080/Uncles/Bob。
Zope Management Interface (ZMI) 類檔案總管,瀏覽器即可建立/編輯/管理所有物件。各物件提供不同視圖 (如 DTML Method 的 Edit、Database Connection 的連線參數、所有物件的 Security 視圖)。
ZODB (Zope Object Database) 支援 ACID 交易:每個 Web 請求為一交易,錯誤自動回滾。支援多層級 Undo,管理員一鍵復原。對開發者透明,關聯式資料庫仍可並用。
核心概念:子物件可自動取用容器物件的屬性與行為。
| 組件 | 角色 |
|---|---|
| ZServer | 內建 Web 伺服器,支援 HTTP、FTP、WebDAV、XML-RPC |
| Web Server | 可整合 Apache、IIS 等外部伺服器 (via CGI/FastCGI) |
| Zope Core | 核心引擎,控制顯示、管理介面、ZODB |
| Object Database (ZODB) | 主要物件儲存 |
| Relational Database | Oracle、PostgreSQL、MySQL 等外部資料庫整合 |
| File System | 讀取伺服器檔案系統文件 |
| ZClasses | 透過 Web 定義的新物件類型 |
| Products | 檔案系統安裝的擴展套件 |