Noticias

Crónica de la deSymfony 2017

Este año volvía la edición de deSymfony en Castellón. Para mi se trata de una cita muy especial, fue la primera relacionada con Symfony a la que acudí, alla por el 2013, se celebra en mi tierra, las charlas tienen un altísimo nivel, y siempre veo caras conocidas.

 


Han sido dos días de conferencia con 13 ponencias, las ha habido de todas clases, algunas más técnicas, otras más divertidas, de todas se puede extraer algo positivo, pero yo en mi caso, sólo voy a hablar de aquellas que me aportaron algo nuevo.

Uno de los bombazos de la conferencia fue la de Javier Eguiluz, "Symfony 4, Symfony Flex y el futuro de Symfony". En ella Javier, nos dio un repaso por algunas de las muchas novedades que trae la nueva versión del framework, y es que Symfony 4 significa una nueva forma de desarrollar nuestras aplicaciones y que lleva a nuestro framework a un nuevo nivel. Es una evolución muy importante, ahora Symfony se convierte en un framework más abierto, con una reducción importante de líneas de código en su instalación base, y en el que podremos comenzar en igualdad de condiciones un proyecto web, una aplicación de consola o una API.

La charla de Nacho Martín "Asegurando APIs en Symfony con JWT" nos explicó las ventajas e inconvenientes de autenticar aplicaciones usando este formato, frente a sistemas más ampliamente extendidos como OAUTH. JWT tiene una estructura definida compuesta por: header.payload.signature, en el primero definimos el tipo de token, contenido y algoritmo de cifrado. En el payload, podemos incluir cualquier propiedad, aunque es conveniente utilizar algunas de las propiedades estándar que usa JWT. Por último en signature, tendremos la firma que será el resultado de encriptar los dos primeros campos utilizando una clave secreta. Un caso de uso sería el siguiente, una aplicación se quiere autenticar contra nuestra API, entonces manda sus credenciales al servidor que genera el JWT firmándolo con la clave secreta y lo manda de vuelta al cliente, que debe incorporarlo posteriormente en cada petición.

En la charla de Pablo Godel, pudimos conocer el stack tecnológico que utilizan en OpenSky, me gustó mucho el uso tan racional que hacen de la tecnología y ver que frente a la moda de intentar estar siempre a la última ellos están cómodos con una versión de symfony estable, que les funciona y que frente a la actualización a toda costa, ellos son los que imponen el ritmo de actualizaciones en sus sistemas de una manera controlada. Me gustó mucho conocer y me pareció de lógica aplastante la externalización que tienen de determinados servicios como la búsqueda y la gestión de pagos en su site.

Mención especial tengo que hacer de la charla de Raúl Fraile. Sus charlas son técnicamente impecables, muy preparadas y no se conforma nunca con un tratamiento superficial del tema, aunque en ocasiones puede ser un poco difícil seguir con atención la charla hasta el final, es muy de agradecer contar con personas como él en la comunidad. En esta ocasión Raúl nos habla de "Aplicaciones CLI profesionales con Symfony", en ella nos dá los cimientos sobre los que debemos construir nuestras aplicaciones de console para que sean seguras, altamente distribuibles y portables. 

Estas son las charlas del primer día que por mis intereses más me gustaron. Después del intenso día tocaba recuperar fuerzas y eso hicimos unos cuantos en algunos de los muchos bares y restaurantes de la ciudad.

El siguiente día comenzaba potente, y con una de las charlas que más esperaba, y es que llevo un tiempo estudiando a fondo el proyecto Sylius, y con la charla de Asier Marqués "Silius: un framework de calidad para e-commerce" esperaba profundizar todavía más. Se notó que yo no era el único interesado, por que fue la charla que más preguntas suscitó entre el público asistente. En la charla Asier hizo un repaso por alguno de los componentes mas interesantes del proyecto, como el componente Resource que facilita la gestión de entidades en nuestro proyecto de una forma centralizada, nos habló de los plugins según el punto de vista de Sylius, también nos mostró algunos ejemplos reales y soluciones que había aportado desde su conocimiento del framework. Aunque todavía no tenemos una versión estable de Sylius somos muchos los que esperamos que este proyecto goce de buena salud, aunque tenemos otros sistemas ecommerce en el mundo Symfony, Sylius aporta su visión propia, en el que la calidad del código es quizá el punto más importante.

Con "Symfony y concurrencia: el componente Lock" de César Suárez, pudimos disfrutar de una introducción al nuevo componente lock de Symfony. Este componente lo podemos utilizar para prevenir el acceso a un recurso, por parte de un proceso de forma concurrente. Por ejemplo, tenemos una tarea cron, que se ejecuta cada minuto, pensemos que en el primer minuto se ejecuta el proceso 1, por cualquier circunstancia la tarea toma más de un minuto en finalizar, entonces tendríamos que otro proceso 2 sería lanzado por cron y se ejecutaría de forma simultánea, esto puede tener consecuencias inesperadas. Pues bien, con el componente lock podemos evitar este tipo de problemas. Además este componente cuenta con distintos tipos de estrategias para bloquear o no la ejecución de un proceso además de la posibilidad de funcionar en entornos distribuidos. Gran introducción a este componente en definitiva. 

Muchas cosas interesantes dijo también Héctor Prats en su charla "Implementando Microservicios y DDD en Vocento", en ella dio un repaso a las experiencias vividas como desarrollador con la arquitectura basada en microservicios que utilizaron para levantar los principales portales que forman el grupo Vocento. Me quedo con la idea de API firsts que ya se trató también en Symfony Paris con Api Platform, me gustó en especial el concepto de microservicios versionados en la que cada microservicio se puede actualizar por separado, presentar distintas versiones con distintas funcionalidades y se puede monitorizar en tiempo real.

Sólo me queda agradecer desde aquí a la organización de deSymfony su trabajo y dedicación para que un evento de estas características salga adelante.


Symfony2 php sylius


Compartir mola!!