Arquitectura de componentes de Zope 3
Componentes <ul><li>Zope 3 se basa en una arquitectura de componentes </li></ul><ul><li>Cada componente tiene una responsa...
Interfaces <ul><li>Las interfaces son los contratos mediante los cuales los componentes trabajan juntos </li></ul><ul><li>...
Componentes de contenido <ul><li>Los componentes de contenido son idealmente clases simples de Python que se pueden emplea...
Views <ul><li>Las vistas ( views ) son componentes que presentan a otros componentes </li></ul><ul><li>Son casi las únicas...
Adapters <ul><li>Los adaptadores ( adapters ) extienden la funcionalidad de los componentes existentes sin modificaciones ...
Utilities <ul><li>Un  utility  es un pequeño componente de software que proporciona una funcionalidad limitada </li></ul><...
Servicios <ul><li>Los servicios proporcionan funcionalidad fundamental, como son el registro y la consulta de otros compon...
Configuración de componentes <ul><li>El registro de componentes es asunto de configuración </li></ul><ul><li>Zope 3 emplea...
Seguridad <ul><li>Los componentes se aseguran usando permisos. Diferentes acciones pueden requerir diferentes permisos </l...
Seguridad (cont.) <ul><li>Una política de seguridad determina si un  principal  tiene permiso para realizar una acción. La...
Más información Para obtener mayor información puedes visitar  worldcookery.com , un sitio acerca de Zope 3 mantenido por ...
Upcoming SlideShare
Loading in …5
×

Arquitectura de componentes de Zope 3

651 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
651
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Arquitectura de componentes de Zope 3

  1. 1. Arquitectura de componentes de Zope 3
  2. 2. Componentes <ul><li>Zope 3 se basa en una arquitectura de componentes </li></ul><ul><li>Cada componente tiene una responsabilidad diferente </li></ul><ul><li>La arquitectura de componentes le da a los desarrolladores la posibilidad de reemplazar ciertas implementaciones por otras mejores o durante el proceso de desarrollo </li></ul><ul><li>Es fácil reutilizar componentes ajenos a Zope o componentes de Zope fuera de Zope </li></ul>
  3. 3. Interfaces <ul><li>Las interfaces son los contratos mediante los cuales los componentes trabajan juntos </li></ul><ul><li>No son parte de la distribución estándar de Python </li></ul><ul><li>La semántica varía un poco respecto a otros lenguajes; por ejemplo, el cumplimiento de la interfaz no es obligatorio </li></ul><ul><li>Las interfaces se utilizan a menudo como marcadores/identificadores y como documentación de la API </li></ul>
  4. 4. Componentes de contenido <ul><li>Los componentes de contenido son idealmente clases simples de Python que se pueden emplear fuera de las aplicaciones Zope </li></ul><ul><li>Su única responsabilidad es almacenar los datos, no presentarlos ni procesarlos </li></ul><ul><li>Típicamente los componentes de contenido son persistentes y utilizan la ZODB como almacén de objetos transparente </li></ul>
  5. 5. Views <ul><li>Las vistas ( views ) son componentes que presentan a otros componentes </li></ul><ul><li>Son casi las únicas partes de una aplicación que tienen que lidiar con los objetos request y response </li></ul><ul><li>Las características de una vista son: </li></ul><ul><ul><li>la interfaz que presenta </li></ul></ul><ul><ul><li>el tipo de presentación que proporciona </li></ul></ul><ul><ul><li>su nombre </li></ul></ul><ul><li>Las vistas están íntimamente relacionadas con el objeto que deben presentar (contexto), el tipo de vista y su nombre </li></ul>
  6. 6. Adapters <ul><li>Los adaptadores ( adapters ) extienden la funcionalidad de los componentes existentes sin modificaciones en el código </li></ul><ul><li>Se registran para la interfaz que adaptan y para la que proporciona </li></ul><ul><li>Son consultados para el objeto al que adaptan (contexto) y para la interfaz objetivo </li></ul><ul><li>Las vistas son un tipo especial de adaptadores </li></ul>
  7. 7. Utilities <ul><li>Un utility es un pequeño componente de software que proporciona una funcionalidad limitada </li></ul><ul><li>Un singleton es un utility que ocurre sólo una vez; se registra y se consulta por su interfaz </li></ul><ul><li>Muchos componentes nombrados del mismo tipo pueden registrarse como named utilities ; se consultan por su nombre e interfaz </li></ul>
  8. 8. Servicios <ul><li>Los servicios proporcionan funcionalidad fundamental, como son el registro y la consulta de otros componentes </li></ul><ul><li>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 </li></ul><ul><li>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 </li></ul>
  9. 9. Configuración de componentes <ul><li>El registro de componentes es asunto de configuración </li></ul><ul><li>Zope 3 emplea ZCML, un dialecto de XML, para realizar la configuración </li></ul><ul><li>Los objetos globales son referidos usando una ruta de puntos. Existe soporte para tanto para rutas absolutas como relativas </li></ul>
  10. 10. Seguridad <ul><li>Los componentes se aseguran usando permisos. Diferentes acciones pueden requerir diferentes permisos </li></ul><ul><li>La abstracción de un usuario en Zope se conoce como principal </li></ul><ul><li>Las fuentes y las vistas de identificación de los principals se pueden personalizar para contextos específicos de seguridad de una aplicación </li></ul>
  11. 11. Seguridad (cont.) <ul><li>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 </li></ul><ul><li>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 </li></ul>
  12. 12. Más información Para obtener mayor información puedes visitar worldcookery.com , un sitio acerca de Zope 3 mantenido por Philipp von Weitershausen.

×