Zope un servidor de aplicaciones web, basado en objetos y programado, extensible en lenguaje Python.
Zope consta de varias partes, que pese a funcionar mejor juntas, son independientes:
- ZServer: Un servidor asíncrono multi-hebra, basado en Medusa, que acepta conexiones HTTP, FTP y monitor (un cliente especial Python)
- ZPublisher: Un ORB que convierte las peticiones HTTP, FTP, XML-RPC, WebDAV, etc. en el recorrido de una jerarquía de objetos y devuelve el resultado de la visualización del objeto
- ZODB: Un almacén de objetos basado en transacciones, con versiones y gestión automática de persistencia y conflictos. ZODB almacena la jerarquía de objetos en un único archivo (con un límite de 2GB) y añade nuevas versiones de los objetos cuando las transacciones se realizan. Esto permite "deshacer" cualquier cambio que se haya hecho, y requiere ocasionalmente "compactar" la base de datos para eliminar versiones antiguas.
- DTML: Un lenguaje incrustado similar a ASP y PHP, excepto en que las expresiones se escriben en lenguaje Python y tiene acceso a toda la potencia del resto de Zope
- Adquisición: Una característica de todos los objetos de Zope , que les permite cambiar su comportamiento automáticamente basándose en el contexto en el que se les llama. Difícil de describir, pero muy potente
- Productos: Los nuevos objetos o las colecciones de objetos pueden ser agregados a Zope simplemente instalando un paquete Python en el subdirectorio de productos y reiniciando el servidor. Algunos productos incluidos son: adaptadores de acceso a bases de datos, foros de discusiones, gestores de hosts virtuales, etc.
- ZClasses: Clases de objetos definidas mediante el interfaz web de gestión ensamblando piezas estándar de Zope. Éstas pueden proporcionar una gran variedad de objetos personalizados