organizan patrocinan
colaboran
Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón
http://decharlas.uji.es/symfony
Caso práctico: Symfony en la gestión de un centro de computación avanzadaCésar Suárez, www.ceta-ciemat.es
Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón
http://decharlas.uji.es/symfony
sesión patrocinada por
www.ceta-ciemat.es
Jornadas Symfony http://decharlas.uji.es/symfony
¿Quiénes somos?
Jornadas Symfony http://decharlas.uji.es/symfony
¿Dónde estamos?
Jornadas Symfony http://decharlas.uji.es/symfony
¿Dónde estamos?
Jornadas Symfony http://decharlas.uji.es/symfony
¿Dónde estamos?
Jornadas Symfony http://decharlas.uji.es/symfony
¿Dónde estamos?
Jornadas Symfony http://decharlas.uji.es/symfony
¿Dónde estamos?
Jornadas Symfony http://decharlas.uji.es/symfony
Algunos datos de nuestro CPD…
• Computación tradicional
• Cores: 1.750
• Gflops: 13.601
• Computación GPU
• Cores GPUs: 11.040
• Tflops (32bits): 47,41
• Gflops (64bits): 3.951
• Almacenamiento
• 694,4 TB
Jornadas Symfony http://decharlas.uji.es/symfony
¿Qué queremos?
• Ofrecer capacidades y servicios junto con los centros pertenecientes a las redes GRID en las que participamos.
• Investigar el uso de las capacidades GRID en distintos campos científicos, industriales y sociales.
• Evaluar, desarrollar e implementar aplicaciones.
• Establecerse como un centro de encuentro, intercambio y difusión de conocimiento.
Jornadas Symfony http://decharlas.uji.es/symfony
¿Cómo lo queremos?
• Naturaleza pública del centro
• Búsqueda de interés social y el bienestar de los ciudadanos.
• TIC como elemento básico de nuestro sociedad.
• Difusión de la tecnología a todo el tejido social.
• Colaboraciones y sinergias con otras instituciones.
• Uso del software libre.
Jornadas Symfony http://decharlas.uji.es/symfony
Unidad Arquitecturas de Aplicaciones
• Investigación, diseño y desarrollo de aplicaciones software:
• Principal tecnología usada: Java
• Aplicaciones que se beneficien de la potencia de la GRID:• Digital Repositories Infrastructure (DRI): Repositorios
digitales en la GRID. Ej.- Imágenes médicas (IMED), Archivo Histórico de Trujillo.
• Aplicaciones de uso interno• POWERED BY SYMFONY!!!!!
• Otras aplicaciones: BOINC.
Jornadas Symfony http://decharlas.uji.es/symfony
Aplicaciones internas: CMDB
• CMDB = Configuration Management Data Base
• Inventariado de máquinas. (783 elementos)
• Generación ficheros configuración, copiado de ficheros, reinicio de servicios:• DNS
• DHCP
• Nagios.
• Generación informes y logs.
• Inserción automática de algunos datos: IP, MAC, …
• Primera experiencia con symfony.
Jornadas Symfony http://decharlas.uji.es/symfony
¿Por qué symfony?
• A priori:
• Uso de sistema fácil de desplegar y mantener.
• Necesidad de muchas validaciones en formularios..
• Patrón MVC = Código sostenible y extensible
• Buena documentación para formación
• Integrado con otros frameworks:• Propel
• Prototype
Jornadas Symfony http://decharlas.uji.es/symfony
Primeras buenas vibraciones• Fácil de instalar, desplegar y configurar.
• symfony project:freeze
• ant + symfony = Despliegue reducido a un comando
• databases.yml y app.yml
• Documentación excelente:• Abundante: Reference Book, Jobeet, primeros pasos.
• Teórica y práctica.
• En español e inglés.
• Actualizada
• Comunidad activa: blog, foros, Google Groups, …
• Potentísimo framework de formularios. Validadores personalizables.
Jornadas Symfony http://decharlas.uji.es/symfony
Más primeras buenas vibraciones
• «Incita» a generar código de buena calidad:• Estructura de directorios compleja, pero que obliga a
ser organizado.
• Facilidades para generar tests unitarios y funcionales.
• «Auto-loading» de clases.
• Helpers simples y útiles (código más legible).
• Vistas: Slots, layouts, partials, …
• Barra para «debug».
• Toda la potencia de PHP5 aprovechada en el core.
Jornadas Symfony http://decharlas.uji.es/symfony
Primeras malas vibraciones
• Curva de aprendizaje costosa• Muchos conceptos nuevos de golpe (si no se conoce otro
framework MVC).
• Detalles difíciles de encontrar.
• Framework de formularios complejo.• Fácil para empezar, pero difícil de dominar.
• Punto flaco en la documentación.
• Exigente con las versiones de PHP• Obligados a usar symfony 1.1
• Sin ningún IDE completo compatible (en ese momento)
Jornadas Symfony http://decharlas.uji.es/symfony
…pero al final…
• Código sólido, organizado, … MANTENIBLE
• Código fácil de refactorizar.
• Framework de formularios muy flexible. Validadores desacoplados y potentes. Ejemplos:• Comprobar si una IP forma parte de una VLAN.
• VLANs que se solapan.
• Máscara de una VLAN coherente con su IP.
• Estructura de directorios flexible para adaptarlo a nuestros repositorios.
• 6 releases y un sistema estable y ampliable.
Jornadas Symfony http://decharlas.uji.es/symfony
CMDB: Resultado
Jornadas Symfony http://decharlas.uji.es/symfony
CMDB: Resultado
Jornadas Symfony http://decharlas.uji.es/symfony
CMDB: Resultado
Jornadas Symfony http://decharlas.uji.es/symfony
CMDB: Resultado
Jornadas Symfony http://decharlas.uji.es/symfony
Más aplicaciones internas: UAWP
• UAWP = User Access Web Portal.
• Gestión de protocolo de acceso a los recursos GRID del centro:
• Generación de certificados, y ayuda en su instalación.
• Generación de cuentas LDAP.
• Ayuda en el envío de trabajos en la GRID.
• Automatizar el protocolo lo máximo posible.
• Especial control en la autorización.
Jornadas Symfony http://decharlas.uji.es/symfony
Ventajas de no ser el primero.
• symfony + experiencia previa = desarrollo a toda pastilla.
• De las desventajas:• Curva de aprendizaje costosa
• Muchos conceptos nuevos de golpe (si no se conoce otro framework MVC).
• Detalles difíciles de encontrar.
• Framework de formularios complejo.• Fácil para empezar, difícil de dominar.• Punto flaco en la documentación.
• Código fácil de reutilizar (validadores, formularios).
Jornadas Symfony http://decharlas.uji.es/symfony
…y al final…
• Ciclos de desarrollo mucho más cortos (¡experiencia!).
• Las mejoras descubiertas en UAWP, pasadas a CMDB (¡Refactorización!).
• Descubrimos la potencia de los plugins:
• Añadir ReCaptcha a un formulario como si fuese nativo del framework.
• 7 releases.
Jornadas Symfony http://decharlas.uji.es/symfony
UAWP: Resultado
Jornadas Symfony http://decharlas.uji.es/symfony
UAWP: Resultado
Jornadas Symfony http://decharlas.uji.es/symfony
Nuestro futuro con symfony
• Migrar a symfony 1.4
• Integración continua (Hudson).
• Uso en futuros proyectos similares.
• Posible uso en DRI (proyecto principal).
• Ahora:• DRI-Engine como EJB
• Visor genérico en VJSF.
• Futuro:• DRI-Engine vía WebServices.
• ¿Visor genérico en symfony?
Jornadas Symfony http://decharlas.uji.es/symfony
Conclusiones
• Framework potente y maduro.
• Requiere de un periodo de formación previa.
• Excelente documentación.
• Con la suficiente formación, desarrollos rápidos.
• Induce a tener código sólido y mantenible
• Muy satisfechos con symfony
Jornadas Symfony http://decharlas.uji.es/symfony
¡¡GRACIAS!!¿Preguntas? ¿Sugerencias?
¿[email protected]://www.ceta-ciemat.es
Jornadas Symfony http://decharlas.uji.es/symfony