arquitectura de componentes de zope 3

12
Arquitectura de componentes de Zope 3

Upload: hector-velarde

Post on 23-Jun-2015

453 views

Category:

Technology


1 download

DESCRIPTION

Compilado por Héctor Velarde con base en el capítulo 3 del libro Web Component Development with Zope 3 de Philipp von Weitershausen

TRANSCRIPT

Page 1: Arquitectura de componentes de Zope 3

Arquitectura de componentes de Zope 3

Page 2: Arquitectura de componentes de Zope 3

Componentes

• Zope 3 se basa en una arquitectura de componentes

• Cada componente tiene una responsabilidad diferente

• La arquitectura de componentes le da a los desarrolladores la posibilidad de reemplazar ciertas implementaciones por otras mejores o durante el proceso de desarrollo

• Es fácil reutilizar componentes ajenos a Zope o componentes de Zope fuera de Zope

Page 3: Arquitectura de componentes de Zope 3

Interfaces

• Las interfaces son los contratos mediante los cuales los componentes trabajan juntos

• No son parte de la distribución estándar de Python

• La semántica varía un poco respecto a otros lenguajes; por ejemplo, el cumplimiento de la interfaz no es obligatorio

• Las interfaces se utilizan a menudo como marcadores/identificadores y como documentación de la API

Page 4: Arquitectura de componentes de Zope 3

Componentes de contenido

• Los componentes de contenido son idealmente clases simples de Python que se pueden emplear fuera de las aplicaciones Zope

• Su única responsabilidad es almacenar los datos, no presentarlos ni procesarlos

• Típicamente los componentes de contenido son persistentes y utilizan la ZODB como almacén de objetos transparente

Page 5: Arquitectura de componentes de Zope 3

Views

• Las vistas (views) son componentes que presentan a otros componentes

• Son casi las únicas partes de una aplicación que tienen que lidiar con los objetos request y response

• Las características de una vista son:– la interfaz que presenta– el tipo de presentación que proporciona– su nombre

• Las vistas están íntimamente relacionadas con el objeto que deben presentar (contexto), el tipo de vista y su nombre

Page 6: Arquitectura de componentes de Zope 3

Adapters

• Los adaptadores (adapters) extienden la funcionalidad de los componentes existentes sin modificaciones en el código

• Se registran para la interfaz que adaptan y para la que proporciona

• Son consultados para el objeto al que adaptan (contexto) y para la interfaz objetivo

• Las vistas son un tipo especial de adaptadores

Page 7: Arquitectura de componentes de Zope 3

Utilities

• Un utility es un pequeño componente de software que proporciona una funcionalidad limitada

• Un singleton es un utility que ocurre sólo una vez; se registra y se consulta por su interfaz

• Muchos componentes nombrados del mismo tipo pueden registrarse como named utilities; se consultan por su nombre e interfaz

Page 8: Arquitectura de componentes de Zope 3

Servicios

• Los servicios proporcionan funcionalidad fundamental, como son el registro y la consulta de otros componentes

• El paquete zope.app.zapi combina la funcionalidad más esencial de un servicio y la expone a través de un conjunto de funciones

• Los servicios globales están disponibles siempre y en cualquier lugar. Los servicios locales se registran en administradores del sitio y se emplean para personalizar ciertas partes de una aplicación

Page 9: Arquitectura de componentes de Zope 3

Configuración de componentes

• El registro de componentes es asunto de configuración

• Zope 3 emplea ZCML, un dialecto de XML, para realizar la configuración

• Los objetos globales son referidos usando una ruta de puntos. Existe soporte para tanto para rutas absolutas como relativas

Page 10: Arquitectura de componentes de Zope 3

Seguridad

• Los componentes se aseguran usando permisos. Diferentes acciones pueden requerir diferentes permisos

• La abstracción de un usuario en Zope se conoce como principal

• Las fuentes y las vistas de identificación de los principals se pueden personalizar para contextos específicos de seguridad de una aplicación

Page 11: Arquitectura de componentes de Zope 3

Seguridad (cont.)

• Una política de seguridad determina si un principal tiene permiso para realizar una acción. La política de seguridad por defecto niega todo a menos que algo sea explícitamente permitido

• La política de seguridad por defecto abstrae las responsabilidades de un usuario como roles que representan un conjunto de permisos que pueden ser asignados a los principals

Page 12: Arquitectura de componentes de Zope 3

Más información

Para obtener mayor información puedes visitar worldcookery.com, un sitio acerca de

Zope 3 mantenido por Philipp von Weitershausen.