Zope es un proyecto comunitario activista de un entorno de desarrollo para la creación de sitios web dinámicos y/o aplicaciones web usando un servidor de aplicaciones web orientado al objeto, escrito en el lenguaje de programación Python (con algunos componentes escritos en lenguaje C para optimizar su rendimiento) de código abierto publicado bajo la licencia Zope Public License.

Aunque el nombre Zope viene del acrónimo inglés "Z Object Publishing Environment – Zope", su origen se debe a un tipo de pez Cyprinus ballerus es conocido como zope o blue bream.

Históricamente ha sido reconocido como una aplicación determinante que ayudó a colocar Python en el centro de atención de los desarrolladores a nivel mundial.

Muchas cosas que son actualmente parte del núcleo de Python originalmente fueron innovaciones en su momento dadas por el desarrollo de Zope a la comunidad de desarrolladores Python, un ejemplo de esto es la librería datetime que proviene del DateTime de Zope 2.

Historia

En 1995, Digital Creations fue establecida en Fredericksburg (Virginia), fundada como una empresa conjunta de la fusión de varios periódicos. Los primeros empleados fueron Paul Everitt y Rob Page, bastante pronto se sumaría como empleado Jim Fulton.

En 1996 Jim Fulton, ahora el CTO de Zope Corporation, fue seleccionado para dar una clase de programación sobre Common Gateway Interface - CGI, a pesar de no saber mucho sobre el tema. La programación en CGI fue el modelo web de desarrollo de uso común del momento, el cual a los desarrolladores les permitía construir sitios web dinámicos. Entonces el viajar a la clase, Jim estudió toda la documentación existente en CGI. En el camino de vuelta, Jim considerado lo que no me gustó de entornos de programación tradicionales basados en CGI. A partir de estas reflexiones iniciales, el núcleo de Zope fue escrito durante el vuelo de regreso de la clase de programación en CGI.

En mayo de 1997 se convierte en el consorcio de periódicos del Digital Creations, para ese momento, ya algunas empresas e usuarios estaban usando el producto gratuito Bobo, uno de esos usuarios fue Hadar Pedhazur, el cual tenía el deseo de invertir en el consorcio. Las negociaciones, sin embargo, no tuvieron éxito, porque las diferencias de visiones del futuro que Hadar vio para Digital Creaciones como una empresa de servicios, en cambio Paul y Rob le interesaban que sus productos de software Bobo, un ORB ligero para la web; Document Template, un lenguaje de scripting, BoboPOS, una base de datos orientada a objetos estuvieran dentro del aplicación comercial Principia, un servidor de aplicaciones Web, bajo un modelo de venta como soluciones propietarias.

Un año después, Hadar volvió a Digital Creations, tras el éxito alcanzado (aunque no fue tanto como se esperaba), fue entonces en noviembre de 1998 que llegaron al acordó de publicar el código fuente de sus productos emblemáticos Bobo y Principia, esta decisión fue influenciada por Hadar, principal inversionista en la compañía. La combinación de Bobo y Principia fue rebautizado entonces como Zope. Esta decisión resultó de una empresa de servicios de Digital Creations (hoy en día Zope Corporation), y además proporciona en ese entonces mucha más visibilidad e interés en torno a Zope del que jamás Principia tuvo antes.

En julio de 1999 Zope 1.10.3 fue publicado como primera revisión estable del proyecto y unos meses después en septiembre de 1999 fue publicado Zope 2.0.0 como versión estable. En noviembre de 2004 fue publicado Zope 3, es casi completamente reescrito y contiene sólo la base de datos orientada a objeto ZODB y el motor de plantillas ZPT.

Características Siendo Zope un servidor de aplicaciones web ofrece una mezcla única de características, algunas son similares y otras muy diferentes de las que ofrecen otros soluciones existentes:

A continuación se presenta las frecuentes ventajas y desventajas de los servidores de aplicaciones web alternativos a Zope:

Otros servidores de aplicaciones Zope No tienen una interfaz administrativa sencilla y por lo tanto son algo complicados de manejar. Posee una interfaz administrativa de usuario muy sencillo. Muchas veces requieren una configuración muy compleja. Es fácil de instalar y no requiere configuraciones ser utilizarlo. Requieren de productos adicionales para el desarrollo y además son propietarios. Trabaja con cualquier Navegador estándar y no requiere herramientas adicionales. Algunas aplicaciones no escalan de la misma manera que Zope le permite a un amplio número de usuarios y desarrolladores. Dispone de un sistema de gestión poderoso y consistente que permite su escalabilidad a múltiples usuarios con una única y fácil gestión de privilegios. La mayoría son herramientas comerciales con código cerrado que le impide la extensión, personalización y distribución. Es un software libre.

Beneficios de Zope Existente una serie de beneficios al adaptar Zope en su organización a continuación se describen:

Modulable La funcionalidad de Zope puede ser extendida gracias a un gran número de extensiones disponibles libremente, estos son comúnmente llamados Productos (del inglés: Products) y para ser adaptados a las necesidades, ejemplo de esto son sistema de Wiki como Zwiki, sistema de publicación de noticias y discusiones como Squishdot, álbum de fotografías como PhotosCommandes, Calendarios corporativos con CorpCalendar entre otros productos que son desarrollados y mantenidos por la comunidad de usuarios en la sección de productos de Zope.org, lista de productos en Open Source Content Management Software.

Estas extensiones están colocadas cada una en su propio directorio en el sistema de archivos y se puede remover completamente mediante la eliminación del directorio y reiniciar nuevo el servicio de Zope. Tendrán toda la extensión de la programación en lenguaje Python que este disponible, incluyendo la integración de bibliotecas escritas en Python o lenguaje C.

Portabilidad Zope es casi enteramente en escrito Python. Sólo algunas partes del sistema están escritas en lenguaje C por críticos de velocidad. Todo el sistema puede así, en principio, estar disponible en todas las plataformas con un intérprete Python y un compilador C para ejecutarse. Para Linux, Windows, BSD, Mac OS X y Solaris hay disponibles paquetes previamente compilados que incluyen Zope y Python.

Adquisición Se trata de uno de los mecanismos más potentes de Zope. Gracias a él, los objetos pueden obtener atributos, métodos y otros objetos del entorno que están en un «subárbol heredados completamente». Es similar a la herencia, solo que en vez de buscar en la jerarquía de objetos utiliza contenedores jerárquicos. De esta manera, si una variable no se encuentra en el contenedor actual se busca en los contenedores superiores, hasta dar con su valor. De esta forma se pueden centralizar valores que son luego adquiridos por toda una jerarquía de objetos. Este mecanismo es la base principal para decir de tener sitios dinámicos hechos con Zope.

Seguridad Zope tiene un framework de seguridad que le permite a los llamados roles que construyen una definición detallada sobre «quién, dónde y qué» puede hacerse. Para cada objeto se puede determinar cuál es el rol que se necesita para el tipo de acceso, estos roles pueden usuarios individuales a los cuales también pueden asignarse localmente, por ejemplo, para conceder acceso únicamente a una determinada sub-árbol.

Además, el trabajo de los internautas no les gusta interactuar con lenguajes scripting clásicos como PHP, Perl, etc, en el sistema de archivos del servidor y menos en un entorno virtual separado. Para romper con esta práctica de como hacer sitios dinámicos Web solamente posible cuando el desarrollador desee adoptar nuevos patrones de trabajo. La tecnología Zope impide el acceso a otra información almacenada en el servidor y por consiguiente alterar los patrones comunes de ataque informáticos.

Escalabilidad Zope tiene la capacidad multihilo. La distribución de la carga de una instancia de Zope para múltiples procesadores, sino para prevenir por un global de bloqueo del intérprete Python. Con la ayuda de Zope Enterprise Objects - ZEO, es posible que varios servidores pueden acceder a la misma base de datos. Tales sistemas distribuidos son capaces de hacer uso de múltiples procesadores.

Alta disponibilidad Zope puede configurarse para escenarios donde se requieren funcionamiento de alta disponibilidad a través de configuraciones con Servidores Web como Apache, Nginx, Zope; con Proxies / Balanceador de Carga como HAProxy, Pound, Squid, entre otros; con servidor de Cacheo Web Externo como Varnish, Squid, Apache y Memcache; replicación de base de datos con la librería Relstorage o Neopod.

Comunidad Zope

La comunidad está compuesta por los usuarios y los desarrolladores. Muchos de los miembros de la comunidad son profesionales tales como consultores, desarrolladores y webmasters, que dedican su tiempo y dinero al soporte de Zope. Otros muchos son estudiantes y usuarios curiosos, que aprenden cómo usar esta herramienta.

Los encuentros presenciales formales e informales se dan de vez en cuando en conferencias Python o conferencias Plone pero pasa la mayor parte del tiempo discutiendo sobre Zope en las listas de correo electrónico , por ejemplo la lista de Zope en Español , y los sitios Web de zope.org. Muchos actores que cumplen muchas funciones que a continuación describimos:

Desarrolladores Para enero de 2013 cuenta con 230 desarrolladores de núcleo de Zope alrededor del mundo.

Soporte Para soporte oficial en Zope puede contactar a la Zope Corporation, a los proveedores de BlueBream o por lo generar los proveedores de servicios de Plone ofrecen también soporte comercial en las tecnologías Zope, adicionalmente ofrece otros medios de asistencia técnica por medio de los recursos comunitarios, que ofrece soporte vía chat IRC, soporte comunitario por medio de grupos activistas en tu región.

Fundación Zope Es una organización que promueve el desarrollo de la plataforma Zope mediante el apoyo a la comunidad que desarrolla y mantiene los componentes de software que componen la plataforma de software.

Sus objetivos son:

Ser la propietaria de los códigos fuentes, derechos de autor, marcas registradas y dominios en la Internet de Zope. Actuar como la representación legal de la comunidad Zope, sus usuarios, los desarrolladores y proveedores de soluciones. Gestiona los sitios web zope.org, la cual es una infraestructura de colaboración de código abierto. Supervisar una diversa comunidad de código abierto colaboradores que trabajan en una variedad de proyectos relacionados.

La fundación Zope promueve a la comunidad que incluye tanto el software de código abierto, la documentación y la infraestructura Web de los contribuyentes, así como los clientes de negocios y de la organización de la plataforma de software.

Miembros nombrados Para enero de 2013 cuenta con 49 miembros designados (una afiliación individual y libre) de la Fundación, los miembros si quieres formar parte de la fundación Zope puedes llenar su solicitud cumpliendo con los requerimientos necesarios.

Miembros patrocinadores Los miembros que deseen patrocinar económicamente a la Fundación pueden pagar membresías desde sólo $399 por año. Para enero de 2013 la fundación Zope posee miembros patrocinadores que proporcionan apoyo monetario a la Fundación.

Zope Corporation