Desarrollo de aplicaciones
      ZendFramework
sobre arquitecturas escalables
        Por: Juan Carbajal
Agenda
✔   Introducción.
✔   Definiciones.
✔   Componentes.
✔   Preguntas.
Introducción
✔   A medida que el tamaño de los sistemas de
    software    aumentan,  los   algoritmos  y
    estructuras de datos computacionales ya no
    constituyen los problemas de diseño más
    importantes.
✔   Los sistemas de software necesitan soportar
    mayor      demanda   de    rendimiento    y
    funcionalidad.
✔   Necesitamos herramientas que provean
    soporte para los requerimientos actuales.
¿Qué es arquitectura de software?
Arquitectura es la organización fundamental de
un sistema descrita en:
✔   Sus componentes.
✔   Relación entre ellos y con el ambiente.
✔   Principios que guían su diseño y evolución.
Arquitectura escalable
✔   Una arquitectura computacional se dice
    escalable si podemos aumentar sus recursos
    para    soportar    mayor      demanda  de
    rendimiento y funcionalidad, y/o disminuir
    sus recursos para reducir costes.
¿Qué es ZendFramework?
✔   Zend Framework provee un esqueleto de alta
    calidad para el desarrollo de Aplicaciones Web
    y Servicios Web.
✔   Sigue el espíritu de PHP, fácil uso y potente
    funcionalidad; enfocándose en cambios de
    construcción de aplicaciones web robustas,
    seguras y modernas.
Metas de ZendFramework

    “Piensen en hacer las cosas simples, pero
         no mas simples.” (Albert Einstein)

✔   Simple es fácil de usar.
✔   Simple es mas estable y menos propenso a
    errores.
✔   Simple es mas compatible.
✔   Simple es fácil de mantener.
¿Qué ofrece ZF?
✔   Librería basada en componentes que resuelve el 80% de
    problemas comunes.
✔   Arquitectura flexible.
✔   PHP 5, OO.
✔   Diseño extensible.
✔   Encapsula las mejores prácticas.
✔   Bien documentada.
✔   Soporte comercial (Zend)
✔   Soporte en Zend Studio/Eclipse (PDT)
✔   Licencia BSD
¿Qué ofrece ZF a las arquitecturas
escalables?
✔   Flujo de datos claros:
    ✔   MVC.
✔   Mayor tolerancia de carga y mayor tiempo de actividad:
    ✔   Sesiones centralizadas.
    ✔   Cache.
    ✔   Logs centralizables.
✔   Interoperatibilidad con otras aplicaciones:
    ✔   Autenticación con aplicaciones externas.
    ✔   Manejo de multiples bases de datos.
    ✔   Servicios.
    ✔   Cloud Computing.
Componentes de desarrollo: MVC
✔   zf create project test
✔   zf create controller posts
✔   zf create view posts insert
✔   zf configure dbadapter
    "adapter=Pdo_Sqlite&dbname=var/db/test.db"
    development
✔   zf create dbtable Posts posts
Componentes de desarrollo:
autenticación
✔   Zend_Auth
    ✔   Zend_Auth_Adapter_DbTable
    ✔   Zend_Auth_Adapter_Digest
    ✔   Zend_Auth_Adapter_Http
    ✔   Zend_Auth_Adapter_Ldap
    ✔   Zend_Auth_Adapter_OpenId
Componentes de desarrollo:
Caching
✔   Frontends
    ✔   Zend_Cache_Core
    ✔   Zend_Cache_Frontend_Output
    ✔   Zend_Cache_Frontend_Function
    ✔   Zend_Cache_Frontend_Class
    ✔   Zend_Cache_Frontend_File
    ✔   Zend_Cache_Frontend_Page
Componentes de desarrollo:
Caching
✔   Backends
    ✔   Zend_Cache_Backend_File
    ✔   Zend_Cache_Backend_Sqlite
    ✔   Zend_Cache_Backend_Memcached
    ✔   Zend_Cache_Backend_Apc
    ✔   Zend_Cache_Backend_Xcache
    ✔   Zend_Cache_Backend_ZendPlatform
Componentes de desarrollo:
Sesiones
✔   Sesiones en base de datos.
✔   Sesiones por Nombre de espacio.
Componentes de conexión con la
nube
✔   sfDesde Zend Framework 1.8 se puede realizar
    conección con Amazon S3 (Simple Storage
    Service) como si fueran archivos locales. Los
    usuarios pueden añadir y remover archivos de
    S3 via scripts PHP. Algunos, usuarios pueden
    manejar maquinas virtuales en Amazon
    EC3(Elastic Compute Cloud). Estas capacidad
    permiten a los usuarios escalar aplicaciones a
    la nube en corto tiempo.
Preguntas
Gracias

ZF Arquitecturas Escalables - Fesoli 2010

  • 1.
    Desarrollo de aplicaciones ZendFramework sobre arquitecturas escalables Por: Juan Carbajal
  • 2.
    Agenda ✔ Introducción. ✔ Definiciones. ✔ Componentes. ✔ Preguntas.
  • 3.
    Introducción ✔ A medida que el tamaño de los sistemas de software aumentan, los algoritmos y estructuras de datos computacionales ya no constituyen los problemas de diseño más importantes. ✔ Los sistemas de software necesitan soportar mayor demanda de rendimiento y funcionalidad. ✔ Necesitamos herramientas que provean soporte para los requerimientos actuales.
  • 4.
    ¿Qué es arquitecturade software? Arquitectura es la organización fundamental de un sistema descrita en: ✔ Sus componentes. ✔ Relación entre ellos y con el ambiente. ✔ Principios que guían su diseño y evolución.
  • 5.
    Arquitectura escalable ✔ Una arquitectura computacional se dice escalable si podemos aumentar sus recursos para soportar mayor demanda de rendimiento y funcionalidad, y/o disminuir sus recursos para reducir costes.
  • 6.
    ¿Qué es ZendFramework? ✔ Zend Framework provee un esqueleto de alta calidad para el desarrollo de Aplicaciones Web y Servicios Web. ✔ Sigue el espíritu de PHP, fácil uso y potente funcionalidad; enfocándose en cambios de construcción de aplicaciones web robustas, seguras y modernas.
  • 7.
    Metas de ZendFramework “Piensen en hacer las cosas simples, pero no mas simples.” (Albert Einstein) ✔ Simple es fácil de usar. ✔ Simple es mas estable y menos propenso a errores. ✔ Simple es mas compatible. ✔ Simple es fácil de mantener.
  • 8.
    ¿Qué ofrece ZF? ✔ Librería basada en componentes que resuelve el 80% de problemas comunes. ✔ Arquitectura flexible. ✔ PHP 5, OO. ✔ Diseño extensible. ✔ Encapsula las mejores prácticas. ✔ Bien documentada. ✔ Soporte comercial (Zend) ✔ Soporte en Zend Studio/Eclipse (PDT) ✔ Licencia BSD
  • 9.
    ¿Qué ofrece ZFa las arquitecturas escalables? ✔ Flujo de datos claros: ✔ MVC. ✔ Mayor tolerancia de carga y mayor tiempo de actividad: ✔ Sesiones centralizadas. ✔ Cache. ✔ Logs centralizables. ✔ Interoperatibilidad con otras aplicaciones: ✔ Autenticación con aplicaciones externas. ✔ Manejo de multiples bases de datos. ✔ Servicios. ✔ Cloud Computing.
  • 10.
    Componentes de desarrollo:MVC ✔ zf create project test ✔ zf create controller posts ✔ zf create view posts insert ✔ zf configure dbadapter "adapter=Pdo_Sqlite&dbname=var/db/test.db" development ✔ zf create dbtable Posts posts
  • 11.
    Componentes de desarrollo: autenticación ✔ Zend_Auth ✔ Zend_Auth_Adapter_DbTable ✔ Zend_Auth_Adapter_Digest ✔ Zend_Auth_Adapter_Http ✔ Zend_Auth_Adapter_Ldap ✔ Zend_Auth_Adapter_OpenId
  • 12.
    Componentes de desarrollo: Caching ✔ Frontends ✔ Zend_Cache_Core ✔ Zend_Cache_Frontend_Output ✔ Zend_Cache_Frontend_Function ✔ Zend_Cache_Frontend_Class ✔ Zend_Cache_Frontend_File ✔ Zend_Cache_Frontend_Page
  • 13.
    Componentes de desarrollo: Caching ✔ Backends ✔ Zend_Cache_Backend_File ✔ Zend_Cache_Backend_Sqlite ✔ Zend_Cache_Backend_Memcached ✔ Zend_Cache_Backend_Apc ✔ Zend_Cache_Backend_Xcache ✔ Zend_Cache_Backend_ZendPlatform
  • 14.
    Componentes de desarrollo: Sesiones ✔ Sesiones en base de datos. ✔ Sesiones por Nombre de espacio.
  • 15.
    Componentes de conexióncon la nube ✔ sfDesde Zend Framework 1.8 se puede realizar conección con Amazon S3 (Simple Storage Service) como si fueran archivos locales. Los usuarios pueden añadir y remover archivos de S3 via scripts PHP. Algunos, usuarios pueden manejar maquinas virtuales en Amazon EC3(Elastic Compute Cloud). Estas capacidad permiten a los usuarios escalar aplicaciones a la nube en corto tiempo.
  • 16.
  • 17.