PASF-ID

Consultoría tecnológica

Disponible la versión 2.2 RC1 de Rails

October 31st, 2008

Ya se puede probar la versión 2.2 RC1 de rails que incorpora, si no grandes cambios cara al programador, si importantes novedades que llevábamos tiempo esperando y que pueden aumentar significativamente el rendimiento de nuestra aplicación.



Para empezar Rails ya es Thread Safe ( programación multihilo). Esto significa que dependiendo de la infraestructura de nuestro servidor web rails podrá satisfacer más peticiones de clientes con menos instancias de rails en memoria, obviamente mejorando la respuesta y mejorando el rendimiento en máquinas de varios núcleos. Una de las grandes trabas en la puesta en producción de una aplicación rails es precisamente la necesidad de tener varias instancias de mongrel o thin corriendo detrás de un servidor web (Apache, Ngnix ) que implicaba la puesta en marcha de infraestructuras web de cierta complejidad que echaban atrás a muchos, especialmente a aquellos que venían de un entorno de desarrollo basado en Php . Cada vez hay más soluciones que simplifican la puesta en producción y mejoran el comportamiento de una aplicación en rails como mod_passenger o lsws, pero sin duda sea cual sea la solución de implementación que se adopte el hecho de que rails sea multihilo aumentará el rendimiento facilitando las soluciones de implementación adoptadas o la aparición de nuevas cada vez más seguras y menos complejas.


Otra de las novedades es que ya lleva incorporado el soporte para ETags, es decir el uso de una marca de tiempo para servir peticiones lo cual nos permitirá enviar una respuesta vacía si el contenido que vamos a servir no ha sido modificado acelerando la respuesta a aquellos clientes que se encuentren detrás de un servidor caché, sea este de su proveedor de Internet o de su empresa, o aquellos navegadores que cacheen los resultados.


Y no menos importante que los dos puntos anteriores Connection Pooling, Rails distribuye ahora las peticiones a bases de datos a través una pila de conexiones que por defecto son 5 pero podemos limitar o aumentar al número que nos convenga en el fichero database.yml ¿Ventajas? Esto ayudara a evitar cuellos de botella sobre todo en aquellas aplicaciones con un número elevado de clientes concurrentes.


Otro aspecto que mejorará el rendimiento de nuestras aplicaciones es el soporte de ruby 2.0, con su máquina virtual YARV. La fecha prevista de salida de ruby 2.0 ( 1.9.1) es a mediados de Diciembre. Aun tendremos que esperar un poco para ver que tal está implementado el soporte de ruby 2.0 en rails pero para aquellos impacientes ruby 1.9.0 está disponible en www.ruby-lang.org y Rails 2.2 RC1 se puede instalar como siempre:


gem install rails -s http://gems.rubyonrails.org -v 2.2.0


0 comments »

¿Qué es eXtreme Programing?

October 30th, 2008

La programación extrema o eXtreme Programming (XP) es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos. Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.