Concepto y arquitectura zope

  
                  

1. Conceptos básicos

El marco de trabajo de Zope tiene algunos conceptos básicos que se entienden para ayudarlo a aprovechar al máximo Zope.

1.1. Zope es un marco

Zope cubre muchos de los detalles subyacentes con los que los desarrolladores de aplicaciones web deben lidiar, como la persistencia de los datos, la integridad de los datos, el control de acceso a los datos, etc. Esto te permitirá concentrarte en resolver problemas. En comparación con otros lenguajes o marcos, Zope le permite aprovechar los servicios proporcionados por Zope para crear aplicaciones web más rápido. Zope le permite escribir la parte de procesamiento lógico de una aplicación web utilizando el lenguaje Python, pero por supuesto Perl. Zope también ofrece dos formas, como plantillas, para trabajar con datos como texto, XML y HTML, un lenguaje de marcado de plantilla de texto único (DTML) y una plantilla de página Zope (ZPT).

1.2. Orientado a objetos

A diferencia de los sistemas de plantillas web basadas en archivos, como ASP o PHP, Zope es una plataforma de desarrollo web altamente orientada a objetos. Muchos lenguajes admiten conceptos orientados a objetos, incluida la escritura del lenguaje Python de Zope. Los lenguajes comunes de secuencias de comandos web, como Perl o PHP, admiten funciones orientadas a objetos. Leer el capítulo "Orientado a objetos" puede ayudarlo a comprender el concepto en profundidad, y puede usar los ejemplos que se proporcionan en este libro para entender el concepto.

1.3. Publicación de objetos


La idea básica de Zope es que la base de la Web está orientada a objetos. La URL a un recurso web es en realidad la ruta al objeto en el contenedor de objetos. El protocolo HTTP proporciona una forma para que un objeto envíe un mensaje y reciba una respuesta.

La estructura de objetos de Zope es jerárquica, es decir, un sitio típico de Zope está compuesto de objetos, y el objeto puede contener otros objetos. Dependiendo del nombre del objeto, Zope se asigna al objeto por URL en una estructura jerárquica. Por ejemplo, la URL "/Marketing/index.html" se puede usar para acceder a un objeto de documento llamado "index.html" en la carpeta "Marketing".

Zope está "publicando" los objetos que creas de forma tan directa. El proceso básico es el siguiente:

El navegador envía una solicitud al servidor Zope. El formato de URL solicitado es: protocol: //host: puerto /ruta? Cadena de consulta, por ejemplo:

http://www.zope.org:8080/Resources?batch_start=100

Zope La URL se divide en: "host", "puerto", "ruta" y "cadena de consulta".

(http://www.zope.org, 8080, /Resources y? batch_start = 100, respectivamente)

Zope localiza en la base de datos de objetos de acuerdo con la ruta (ruta, ie /Resources) Objeto Zope ejecuta este objeto con los argumentos pasados. Si el resultado de la ejecución del objeto devuelve un valor, el valor se envía de nuevo al navegador. Normalmente devuelven HTML, datos de archivo o datos gráficos. El navegador interpreta los datos recibidos y los muestra.

La URL de un objeto Zope consiste en el ID de la carpeta que contiene el objeto y el objeto, separados por el símbolo /. Por ejemplo: /Uncles /Bob, llame a Bob en el directorio Uncles.

también como:

/Tíos /Rick

/Tíos /Danny

/Tíos /Louis

La URL completa puede ser Sí: http: //localhost: 8080 /Bob. Para obtener una explicación más detallada, consulte: Publicación de objetos en la Guía de desarrollo de Zope. Publicación de objetos

1.4. Administración a través de la Web

Zope puede crear y procesar varios tipos a través del navegador. Objeto La interfaz de administración provista por Zope es como el administrador de recursos en Windows. Los objetos se pueden colocar en cualquier lugar en una jerarquía, y los administradores del sitio administran los objetos haciendo clic en diferentes vistas del objeto. Diferentes objetos tienen diferentes vistas. Por ejemplo, el objeto "Método DTML" tiene una vista con la etiqueta "Editar" en la que se puede editar el código, y la "Conexión de base de datos" proporciona una vista que modifica la conexión y los parámetros. Todos los objetos tienen una vista de "Seguridad" para administrar el control de acceso.

1.5. Seguridad y licencias

Una característica distintiva de Zope de otros servidores de aplicaciones es la estrecha integración del modelo de objetos web con el modelo de desarrollo web. Esto permite la participación de muchas personas diferentes, y Zope permite la autorización segura para diferentes usuarios, lo que permite que los diseñadores de páginas, los administradores de bases de datos y los administradores de contenido trabajen juntos.

Los sitios web exitosos requieren la participación de mucha gente, como desarrolladores de aplicaciones, administradores de SQL, administradores de contenido e incluso usuarios finales. En este punto, los problemas de seguridad se vuelven importantes. ¿Cómo controlar y asignar permisos? Los objetos en Zope proporcionan una licencia de seguridad mucho más rica que los sistemas tradicionales basados ​​en archivos. Los diferentes objetos pueden tener diferentes restricciones de seguridad. Por ejemplo, para un objeto "Método SQL", puede permitir que el usuario lo llame, pero no puede cambiar o ver el código fuente. También puede restringir a los usuarios para que creen solo ciertos tipos de objetos, como carpetas o documentos DTML, pero no objetos del método SQL.

Zope administra a los usuarios a través de "Carpetas de usuario". La información del usuario se incluye en esta carpeta especial. Las carpetas de usuarios también se pueden extender agregando extensiones, que se pueden administrar a través de bases de datos relacionales o directorios LDAP. La capacidad de agregar nuevas carpetas de usuario se puede asignar a los usuarios en las carpetas subordinadas, lo que les permite a los usuarios aprobados administrar una sección del sitio.

1.6. Persistencia y transacción de objetos locales (persistencia y transacciones)

El objeto Zope se almacena en una base de datos de objetos de alto rendimiento que admite el mecanismo de transacciones, es decir, la base de datos de objetos Zope (ZODB). La base de datos considera cada solicitud web como una transacción separada. Durante una solicitud web, si se produce un error durante la ejecución, los cambios realizados se cancelarán. La base de datos de objetos también admite deshacer multinivel, lo que permite a los administradores del sitio deshacer los cambios simplemente haciendo clic en el botón "deshacer". Todas las formas de implementar la persistencia de objetos y las transacciones en el marco de Zope son transparentes para los desarrolladores. Las bases de datos relacionales siguen siendo válidas en el marco de Zope.

1.7. Adquisición

La adquisición es un concepto muy importante en Zope. El concepto es simple:

Los objetos Zope pueden ser Incluido en otros objetos (como carpetas). Los objetos pueden "obtener" las propiedades y el comportamiento de sus objetos contenedores.

Todos los objetos de Zope admiten la recuperación, lo que proporciona una forma muy poderosa de administrar varios recursos. Por ejemplo, las consultas de SQL utilizadas con frecuencia o una pequeña porción de código HTML se pueden definir en una carpeta, y la carpeta subordinada se puede llamar automáticamente al "obtener" dicho mecanismo. Si esta consulta SQL se ha modificado, no se preocupe por la carpeta subordinada. Esta modificación es válida para todas las carpetas subordinadas.

Debido a que el objeto de búsqueda se obtiene jerárquicamente del directorio actual, es fácil especificar el rango efectivo. Por ejemplo, hay una carpeta "Deportes" que contiene contenido deportivo, y puede crear nuevos archivos de encabezado y pie de página en esta carpeta. Esto permitirá llamar a los dos archivos en la carpeta "Deportes" y en la carpeta subordinada. Los archivos en la carpeta principal "Deportes" no serán llamados.

Este concepto se tratará en detalle en el capítulo "Obtención".

1.8. Zope es extensible

Zope es altamente escalable y se puede usar de varias maneras. Cree un nuevo objeto Zope, ya sea escribiendo un nuevo módulo de extensión en el lenguaje Python o bien creandolo completamente en la Web. Zope ya incluye una serie de componentes incorporados que pueden ayudar con las extensiones. Zope ya incluye un conjunto de clases de marco que se utilizan para manejar los detalles al crear nuevos objetos de Zope.

Zope ya tiene varias extensiones que mejoran las capacidades de Zope, como agregar foros, procesamiento de datos, herramientas XML y programas de comercio electrónico. La mayoría de estos programas están escritos por entusiastas de Zope, y la mayoría son de código abierto.

2. Componentes básicos de Zope

Zope se compone de varios componentes diferentes para ayudarlo a crear aplicaciones web.

Zope Architecture


Descripción:

ZServer

Este es el servidor web integrado de Zope para servicios de contenido. El servidor web también proporciona servicios a través de los protocolos FTP, WebDAV? Y XML-RPC.


Servidor web (servidor web)

Zope también se puede combinar con un servidor web existente, como Apache o Microsoft IIS, y otra compatibilidad con interfaces de pasarela comunes ( CGI) servidor web.

Zope Core (Zope Core)

Este es el motor central de Zope, que controla cómo mostrar, así como también controla la interfaz de administración y la base de datos de objetos.

Base de datos de objetos

Al usar Zope, la mayoría de las veces está procesando objetos almacenados en la base de datos de objetos Zope.

Base de datos relacional

Los datos no tienen que almacenarse en la base de datos de objetos Zope, Zope puede usar otras bases de datos relacionales, como Oracle, PostgreSQL, Sybase, MySQL, etc. Espera

Sistema de archivos

Zope también puede usar documentos y otros archivos almacenados en el sistema de archivos del servidor.

ZClasses

Puede agregar nuevos objetos usando la interfaz de administración web. ZClasses? Es tal objeto.

Productos

Zope también puede agregar nuevos objetos instalando un archivo de "producto" en el sistema de archivos del servidor Zope.

Copyright © Conocimiento de Windows All Rights Reserved