SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Programación basada
en componentes para
Programadores Python
Leonardo J.
Caballero G.
Acerca de mí
Marabino.
Macagua.
11 años en Linux.
Debianista.
Canaimero.
Pythonista.
Plonista.
http://www.flickr.com/photos/sinlentes/5570374264/
Programación basada en
componentes
• Tiene énfasis en la descomposición de sistemas
en componentes funcionales o lógicos.
• A través de interfaces bien definidas usadas para
la comunicación entre componentes.
• Es nivel de abstracción más alto que los objetos.
Programación basada en componentes
Casos de adopción de este son:
● El modelo Enterprise JavaBeans de Oracle.
● Component Object Model (COM) de Microsoft.
● System.ComponentModel en Microsoft .NET.
● Cross Platform Component Object Model (XPCOM)
de Mozilla Foundation.
● Universal Network Objects (UNO) de
OpenOffice.org.
● Zope Component Architecture (ZCA) en Python.
Zope Component Architecture - ZCA
● Es un marco de trabajo (framework) en Python
que soporta el diseño y la programación basada
en componentes.
● Ayuda a separar el código de presentación del
ámbito del código de lógica y crea componentes
reusables (zope.component).
Conformación de la ZCA
● Publicador de Objeto (zope.publisher).
● Servidor Web (zope.server).
● Base de datos objeto transaccional (ZODB).
● Lenguaje de configuración basado XML para
registrar de componentes (zope.configuration).
● Arquitectura de seguridad flexible con políticas de
seguridad pluggable (zope.security).
Conformación de la ZCA
● Frameworks de pruebas unitarias y funcionales
(zope.testing, zope.testbrowser).
● Lenguaje de plantillas XHTML-compliant
(zope.pagetemplate).
● Motor de esquemas y mecanismo de generación
de formularios automático (zope.schema, z3c.form)
y muchos más paquetes del núcleo y de terceros.
Zope Component Architecture - ZCA
● Interfaces.
● Components.
● Zope 3 Schemas.
● Zope Configuration System.
● Zope Content Providers.
● Zope Page-Template Architecture.
● Zope Object Database Architecture.
ZCA - zope.interface
Interface, son objectos que especifican el
comportamiento externo de objetos que “proveen”.
Esta especifica comportamiento a través de:
● Documentación informal en una cadena.
● Definiciones de Atributos, especifica atributos
específicos.
● Invariantes, son condiciones que deben tomar para
los objetos que provee la interfaz.
ZCA - zope.interface
ZCA - zope.component
● Utilities, son componentes que provee una
interfaz y que son observado por una interfaz y
un nombre.
● Adapters, son componentes computados desde
otros componentes para adaptarlo a alguna
interfaz, debido a esto, son proveídos como
fabricas, usualmente clases.
ZCA – zope.component - Utilities
ZCA – zope.component - Utilities
ZCA – zope.component - Adapters
ZCA – zope.component - Adapters
ZCA – zope.component - Adapters
ZCA – zope.component - Adapters
ZCA - zope.component
● Handlers, son fabricas de adaptadores de
suscripción que no producen nada, solo cuando
son llamados. Usualmente usado para manejar
eventos.
ZCA – zope.component - Handlers
ZCA – zope.component - Handlers
ZCA – zope.component - Handlers
ZCA - zope.schema
● Schemas extiende la noción de interfaces para
descripciones detalladas de Atributos, (pero no
métodos).
● Cada esquema es una interfaz y especifica los
campos públicos de un objecto.
ZCA - zope.schema
● Fields, un campo roughly corresponde a un
atributo de un objecto Python.
● El paquete “zope.schema” provee un conjunto de
tipos de campos, incluyendo texto simple y
múltiple, data binaria, enteros, punto flotante y
valores fecha / hora.
ZCA - zope.schema
● Widgets, son componentes que muestran valores
de campos y, en el caso de campos reescribibles,
permite al usuario editar sus valores.
ZCA - zope.schema
ZCA - zope.schema
ZCA - zope.schema
ZCA - Zope Configuration System
● ZCML, del ingles “Zope Configuration Markup
Language” es una aplicación XML.
● En Zope 2 con el producto Five le permite usar
una serie de componentes Zope 3 que pueden
ser conectado juntos usando ZCML.
ZCA – zope.configuration - ZCML
Zope Content Providers
● Content Provider, es un termino del mundo Java
que refiere a componentes que pueden proveer
contenido HTML.
● Le permite definir regiones en su página y para
que los programadores registren piezas de
contenido HTML en esas regiones.
Zope Content Providers
● Son conocidos como Viewlets y están disponible
solamente dentro de Viewlet Managers.
● Implementa un patron de diseño Composite.
● En Zope 3 son adaptadores múltiples que esta
observando por el contexto, solicitud (y también el
layer / skin), y la view que ellos despliegan.
ZCA - Zope Content Providers
Plantilla Principal
Administrador Viewlet
Administrador Viewlet
Ranura
Principal
Viewlets
Viewlets
Portlets
Viewlets
Vista de Contenido
Principal
Zope Content Providers - Viewlets
Zope Content Providers - Viewlet Manager
Zope Page-Template Architecture
● El compilador y interprete Template Attribute
Lenguage.
● Un motor de expresión.
● Las page templates atan todo junto.
Zope Page-Template Architecture
Zope Page-Template Architecture
Zope Object Database Architecture
● Soporte para concurrencia.
● Interfaces para almacenamiento, permitiendo
diversas estrategias de almacenamiento a usar,
desde un archivo, a RDBMS, a memoria.
● Robusto formato del archivo de almacenamiento.
● Múltiples BDs en el mismo sistema de objeto.
Zope Object Database Architecture
● Versionado e integraciones de versiones con el
sistema transacción.
● Múltiples procesos de gestión de almacenamiento
a través de la distribución estándar no incluirá los
administradores de almacenamiento de proceso
múltiples.
Zope Object Database Architecture
Zope Object Database Architecture
Zope Object Database Architecture
Zope Object Database Architecture
p1 p2 p3 p4
Pagina
titulo
descripcion
contenido
comentariorating
Lecturas recomendadas
● The Zope 3 Book
● http://muthukadan.net/docs/tzb.html
● The Zope2 Book
● http://docs.zope.org/zope2/zope2book/
● Una guía comprensiva de la Arquitectura de
Componentes de Zope
● http://plone-spanish-
docs.readthedocs.org/es/latest/programacion/zca/z
ca-es.html
¿Preguntas?
leonardoc@plone.org
@SomosCovantec
@macagua / @ploneve
https://www.flickr.com/photos/sparetomato/2641110677/
¿Quieres mejorar este material?
Este material tiene licenciamiento abierto, y puede
reportar errores o proponer mejoras:
● Repositorio de fuentes.
● https://github.com/Covantec/entrenamiento.desarrollo
_plone
● Reportar errores o proponer mejoras.
● https://github.com/Covantec/entrenamiento.desarrollo
_plone/issues/new
Copyright (c) 2010 - 2015 Leonardo J. Caballero GCopyright (c) 2010 - 2015 Leonardo J. Caballero G.
Esta obra está sujeta a la licenciaEsta obra está sujeta a la licencia Reconocimiento-Reconocimiento-
CompartirIgual 3.0 Venezuela de Creative CommonsCompartirIgual 3.0 Venezuela de Creative Commons..
Para ver una copia de esta licencia, visite la siguientePara ver una copia de esta licencia, visite la siguiente
dirección URL:dirección URL:
●
http://creativecommons.org/licenses/by-sa/3.0/ve/http://creativecommons.org/licenses/by-sa/3.0/ve/
Bajo los siguientes términos:Bajo los siguientes términos:
●
Reconocimiento - Usted debe dar el crédito apropiado,Reconocimiento - Usted debe dar el crédito apropiado,
proporcionar un enlace a la licencia, y de indicar si se hanproporcionar un enlace a la licencia, y de indicar si se han
realizado cambios. Usted puede hacerlo de cualquierrealizado cambios. Usted puede hacerlo de cualquier
manera razonable, pero no en una manera que sugiere elmanera razonable, pero no en una manera que sugiere el
licenciante a usted o que apruebe su utilización.licenciante a usted o que apruebe su utilización.
●
CompartirIgual - Si usted mezcla, transforma o crea nuevoCompartirIgual - Si usted mezcla, transforma o crea nuevo
material a partir de esta obra, usted podrá distribuir sumaterial a partir de esta obra, usted podrá distribuir su
contribución siempre que utilice la misma licencia que lacontribución siempre que utilice la misma licencia que la
obra original.obra original.
Licenciamiento

Mais conteúdo relacionado

Mais procurados

Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en java
rsalazar16988
 

Mais procurados (10)

Breve introducción a Apache Ant
Breve introducción a Apache AntBreve introducción a Apache Ant
Breve introducción a Apache Ant
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
 
Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Web services y java
Web services y javaWeb services y java
Web services y java
 
deSymfony 2013: Anotaciones, no es parte de mi aplicación, pero es mi aplicación
deSymfony 2013: Anotaciones, no es parte de mi aplicación, pero es mi aplicacióndeSymfony 2013: Anotaciones, no es parte de mi aplicación, pero es mi aplicación
deSymfony 2013: Anotaciones, no es parte de mi aplicación, pero es mi aplicación
 
Subversion - buenas prácticas
Subversion - buenas prácticasSubversion - buenas prácticas
Subversion - buenas prácticas
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en java
 
Diapositivas de JAVA
Diapositivas de JAVADiapositivas de JAVA
Diapositivas de JAVA
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Spring framework 3
Spring framework 3Spring framework 3
Spring framework 3
 

Semelhante a Programación basada en componentes para Programadores Python

Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
kaolong
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
glfloresgilberto
 

Semelhante a Programación basada en componentes para Programadores Python (20)

Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios web
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
 
Tecnologias orientadas a aspectos en .NET 1.1
Tecnologias orientadas a aspectos en .NET 1.1Tecnologias orientadas a aspectos en .NET 1.1
Tecnologias orientadas a aspectos en .NET 1.1
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Lenguaje java
Lenguaje javaLenguaje java
Lenguaje java
 
Hora 12
Hora 12Hora 12
Hora 12
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
principios básicos
principios básicosprincipios básicos
principios básicos
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Salesforce Lightning Components
Salesforce Lightning ComponentsSalesforce Lightning Components
Salesforce Lightning Components
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 

Último

Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdfLas Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Demetrio Ccesa Rayme
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
Santosprez2
 
Escucha tu Cerebro en Nuevos Escenarios PE3 Ccesa007.pdf
Escucha tu Cerebro en Nuevos Escenarios  PE3  Ccesa007.pdfEscucha tu Cerebro en Nuevos Escenarios  PE3  Ccesa007.pdf
Escucha tu Cerebro en Nuevos Escenarios PE3 Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
 
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdfLas Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
 
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdfTÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
 
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVOSESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
 
Libros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdfLibros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdf
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
 
Plantilla de Bitácora Participación Estudiantil Ecuador
Plantilla de Bitácora Participación Estudiantil EcuadorPlantilla de Bitácora Participación Estudiantil Ecuador
Plantilla de Bitácora Participación Estudiantil Ecuador
 
Escucha tu Cerebro en Nuevos Escenarios PE3 Ccesa007.pdf
Escucha tu Cerebro en Nuevos Escenarios  PE3  Ccesa007.pdfEscucha tu Cerebro en Nuevos Escenarios  PE3  Ccesa007.pdf
Escucha tu Cerebro en Nuevos Escenarios PE3 Ccesa007.pdf
 
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOcialesTema 9. Roma. 1º ESO 2014. Ciencias SOciales
Tema 9. Roma. 1º ESO 2014. Ciencias SOciales
 
Evaluación de los Factores Externos de la Organización.
Evaluación de los Factores Externos de la Organización.Evaluación de los Factores Externos de la Organización.
Evaluación de los Factores Externos de la Organización.
 
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
 
flujo de materia y energía ecosistemas.
flujo de materia y  energía ecosistemas.flujo de materia y  energía ecosistemas.
flujo de materia y energía ecosistemas.
 
Santa Criz de Eslava, la más monumental de las ciudades romanas de Navarra
Santa Criz de Eslava, la más monumental de las ciudades romanas de NavarraSanta Criz de Eslava, la más monumental de las ciudades romanas de Navarra
Santa Criz de Eslava, la más monumental de las ciudades romanas de Navarra
 
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertitzacióRealitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
 
Programa dia de las madres para la convi
Programa dia de las madres para la conviPrograma dia de las madres para la convi
Programa dia de las madres para la convi
 
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
 
Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanza
 
Los caminos del saber matematicas 7°.pdf
Los caminos del saber matematicas 7°.pdfLos caminos del saber matematicas 7°.pdf
Los caminos del saber matematicas 7°.pdf
 

Programación basada en componentes para Programadores Python

  • 1. Programación basada en componentes para Programadores Python Leonardo J. Caballero G.
  • 2. Acerca de mí Marabino. Macagua. 11 años en Linux. Debianista. Canaimero. Pythonista. Plonista. http://www.flickr.com/photos/sinlentes/5570374264/
  • 3. Programación basada en componentes • Tiene énfasis en la descomposición de sistemas en componentes funcionales o lógicos. • A través de interfaces bien definidas usadas para la comunicación entre componentes. • Es nivel de abstracción más alto que los objetos.
  • 4. Programación basada en componentes Casos de adopción de este son: ● El modelo Enterprise JavaBeans de Oracle. ● Component Object Model (COM) de Microsoft. ● System.ComponentModel en Microsoft .NET. ● Cross Platform Component Object Model (XPCOM) de Mozilla Foundation. ● Universal Network Objects (UNO) de OpenOffice.org. ● Zope Component Architecture (ZCA) en Python.
  • 5. Zope Component Architecture - ZCA ● Es un marco de trabajo (framework) en Python que soporta el diseño y la programación basada en componentes. ● Ayuda a separar el código de presentación del ámbito del código de lógica y crea componentes reusables (zope.component).
  • 6. Conformación de la ZCA ● Publicador de Objeto (zope.publisher). ● Servidor Web (zope.server). ● Base de datos objeto transaccional (ZODB). ● Lenguaje de configuración basado XML para registrar de componentes (zope.configuration). ● Arquitectura de seguridad flexible con políticas de seguridad pluggable (zope.security).
  • 7. Conformación de la ZCA ● Frameworks de pruebas unitarias y funcionales (zope.testing, zope.testbrowser). ● Lenguaje de plantillas XHTML-compliant (zope.pagetemplate). ● Motor de esquemas y mecanismo de generación de formularios automático (zope.schema, z3c.form) y muchos más paquetes del núcleo y de terceros.
  • 8. Zope Component Architecture - ZCA ● Interfaces. ● Components. ● Zope 3 Schemas. ● Zope Configuration System. ● Zope Content Providers. ● Zope Page-Template Architecture. ● Zope Object Database Architecture.
  • 9. ZCA - zope.interface Interface, son objectos que especifican el comportamiento externo de objetos que “proveen”. Esta especifica comportamiento a través de: ● Documentación informal en una cadena. ● Definiciones de Atributos, especifica atributos específicos. ● Invariantes, son condiciones que deben tomar para los objetos que provee la interfaz.
  • 11. ZCA - zope.component ● Utilities, son componentes que provee una interfaz y que son observado por una interfaz y un nombre. ● Adapters, son componentes computados desde otros componentes para adaptarlo a alguna interfaz, debido a esto, son proveídos como fabricas, usualmente clases.
  • 12. ZCA – zope.component - Utilities
  • 13. ZCA – zope.component - Utilities
  • 18. ZCA - zope.component ● Handlers, son fabricas de adaptadores de suscripción que no producen nada, solo cuando son llamados. Usualmente usado para manejar eventos.
  • 22. ZCA - zope.schema ● Schemas extiende la noción de interfaces para descripciones detalladas de Atributos, (pero no métodos). ● Cada esquema es una interfaz y especifica los campos públicos de un objecto.
  • 23. ZCA - zope.schema ● Fields, un campo roughly corresponde a un atributo de un objecto Python. ● El paquete “zope.schema” provee un conjunto de tipos de campos, incluyendo texto simple y múltiple, data binaria, enteros, punto flotante y valores fecha / hora.
  • 24. ZCA - zope.schema ● Widgets, son componentes que muestran valores de campos y, en el caso de campos reescribibles, permite al usuario editar sus valores.
  • 28. ZCA - Zope Configuration System ● ZCML, del ingles “Zope Configuration Markup Language” es una aplicación XML. ● En Zope 2 con el producto Five le permite usar una serie de componentes Zope 3 que pueden ser conectado juntos usando ZCML.
  • 30. Zope Content Providers ● Content Provider, es un termino del mundo Java que refiere a componentes que pueden proveer contenido HTML. ● Le permite definir regiones en su página y para que los programadores registren piezas de contenido HTML en esas regiones.
  • 31. Zope Content Providers ● Son conocidos como Viewlets y están disponible solamente dentro de Viewlet Managers. ● Implementa un patron de diseño Composite. ● En Zope 3 son adaptadores múltiples que esta observando por el contexto, solicitud (y también el layer / skin), y la view que ellos despliegan.
  • 32. ZCA - Zope Content Providers Plantilla Principal Administrador Viewlet Administrador Viewlet Ranura Principal Viewlets Viewlets Portlets Viewlets Vista de Contenido Principal
  • 34. Zope Content Providers - Viewlet Manager
  • 35. Zope Page-Template Architecture ● El compilador y interprete Template Attribute Lenguage. ● Un motor de expresión. ● Las page templates atan todo junto.
  • 38. Zope Object Database Architecture ● Soporte para concurrencia. ● Interfaces para almacenamiento, permitiendo diversas estrategias de almacenamiento a usar, desde un archivo, a RDBMS, a memoria. ● Robusto formato del archivo de almacenamiento. ● Múltiples BDs en el mismo sistema de objeto.
  • 39. Zope Object Database Architecture ● Versionado e integraciones de versiones con el sistema transacción. ● Múltiples procesos de gestión de almacenamiento a través de la distribución estándar no incluirá los administradores de almacenamiento de proceso múltiples.
  • 40. Zope Object Database Architecture
  • 41. Zope Object Database Architecture
  • 42. Zope Object Database Architecture
  • 43. Zope Object Database Architecture p1 p2 p3 p4 Pagina titulo descripcion contenido comentariorating
  • 44. Lecturas recomendadas ● The Zope 3 Book ● http://muthukadan.net/docs/tzb.html ● The Zope2 Book ● http://docs.zope.org/zope2/zope2book/ ● Una guía comprensiva de la Arquitectura de Componentes de Zope ● http://plone-spanish- docs.readthedocs.org/es/latest/programacion/zca/z ca-es.html
  • 46. ¿Quieres mejorar este material? Este material tiene licenciamiento abierto, y puede reportar errores o proponer mejoras: ● Repositorio de fuentes. ● https://github.com/Covantec/entrenamiento.desarrollo _plone ● Reportar errores o proponer mejoras. ● https://github.com/Covantec/entrenamiento.desarrollo _plone/issues/new
  • 47. Copyright (c) 2010 - 2015 Leonardo J. Caballero GCopyright (c) 2010 - 2015 Leonardo J. Caballero G. Esta obra está sujeta a la licenciaEsta obra está sujeta a la licencia Reconocimiento-Reconocimiento- CompartirIgual 3.0 Venezuela de Creative CommonsCompartirIgual 3.0 Venezuela de Creative Commons.. Para ver una copia de esta licencia, visite la siguientePara ver una copia de esta licencia, visite la siguiente dirección URL:dirección URL: ● http://creativecommons.org/licenses/by-sa/3.0/ve/http://creativecommons.org/licenses/by-sa/3.0/ve/ Bajo los siguientes términos:Bajo los siguientes términos: ● Reconocimiento - Usted debe dar el crédito apropiado,Reconocimiento - Usted debe dar el crédito apropiado, proporcionar un enlace a la licencia, y de indicar si se hanproporcionar un enlace a la licencia, y de indicar si se han realizado cambios. Usted puede hacerlo de cualquierrealizado cambios. Usted puede hacerlo de cualquier manera razonable, pero no en una manera que sugiere elmanera razonable, pero no en una manera que sugiere el licenciante a usted o que apruebe su utilización.licenciante a usted o que apruebe su utilización. ● CompartirIgual - Si usted mezcla, transforma o crea nuevoCompartirIgual - Si usted mezcla, transforma o crea nuevo material a partir de esta obra, usted podrá distribuir sumaterial a partir de esta obra, usted podrá distribuir su contribución siempre que utilice la misma licencia que lacontribución siempre que utilice la misma licencia que la obra original.obra original. Licenciamiento