Viernes 24 (ver sábado)
15:00 - 15:45
Sala 2
Introducción a Rails
Ponente: Daniel Yucra ver ficha ponente
Ruby On Rails es una plataforma para el desarrollo web basada en el lenguaje Ruby. Es un framework que combina pragmatismo, innovación y facilidad de uso para el desarrollo de aplicaciones con base de datos.
En este tutorial explicaremos qué es Rails, cuál es su filosofía de trabajo, cómo es su entorno de desarrollo y sobre todo, la forma de ponerlo en marcha mediante aplicaciones prácticas. Además, mostraremos sus ventajas competitivas frente a otros framework basadas en software libre.
Descargar ponencia
15:00 - 15:45
Sala principal
Soluciones de Internacionalización con Rails
Ponentes: David Barral y Asís García ver ficha ponente
Se analizarán las alternativas actuales para internacionalizar aplicaciones Rails: Globalize, Localize, Gloc, etc, centrándose en su uso y arquitectura: internacionalización de la capa modelo, helpers para la vista, tratamiento de datos, etc. Se analizarán sus ventajas e inconvenientes y se comentarán algunas experiencias en proyectos propios y ajenos. A partir de toda esta información se propondrán mejoras a las alternativas existentes, justificando qué ventajas aportan e indicando cuáles serían su puntos débiles.
Descargar ponencia
15:00 - 15:45
Sala 3
Observatorio de los Medios
Ponente: Svet Ivantchev ver ficha ponente
El "Observatorio de los Medios" de Mugak (http://medios.mugak.eu) es un ejemplo de cómo integrar información y servicios de terceros, con experiencia propia, para ofrecer un nuevo servicio con un valor añadido al estilo Web 2.0.
El contenido de la web es producido por los principales periódicos nacionales, que se rastrean cada día en búsqueda de noticias relacionados con la actividad de nuestro cliente (http:// www.mugak.eu/ , http://www.mugak.eu/gunea/obsmedios/ ). Para acelerar el proceso del "spider" se usan máquinas virtuales del servicio de Amazon Elastic Compute Cloud (Amazon EC2).
Posteriormente los datos son clasificados y analizados manualmente a través de una aplicación web desarrollada con Ruby on Rails. El resultado de la integración de todos estos componentes, es una web que permite a los usuarios informarse sobre el tema de la inmigración y comparar objetivamente el trato que los diferentes medios dan a dicho tema.
En la presentación se comentarán los principales retos del desarrollo, la integración con Amazon EC2 y la experiencia de un desarrollo ágil en estrecha colaboración entre el cliente y el proveedor. Por último se comentará la experiencia de creación de un servicio parcialmente automatizado y parcialmente manual al estilo "mechanical turk".
15:45 - 16:30
Sala principal
Internacionalización con Ruby-Gettext y Rails
Ponente: Juan S. Pérez Herrero ver ficha ponente
Introducción a gettext
Introducción
Ficheros po y mo
Dominios
Traducción Ruby-gettext
Instalación
Características
Línea de comandos Ruby-gettext y Rails
Configuración del entorno
Tareas de rake
Trabajando con el locale en entorno web
Usando el método '_': plurales y polisemia
Vistas, plantillas localizadas y controladores
Hacks: Redefinición de métodos: distance_of_time_in_words y ctionmailer
Entornos colaborativos con svn, gettext y pootle
15:45 - 16:30
Sala 2
Seguridad en Aplicaciones web
Ponente: Felipe Talavera Armero ver ficha ponente
Buenas prácticas de programación orientada a la seguridad de la aplicación web. Se verán los ataques y errores más comunes que se suelen cometer en el desarrollo de este tipo de aplicaciones, como por ejemplo: SQL injection, XSS (Cross site scritping), robos de session, vulnerabilidades en la lógica de la aplicación, etc.
Todos los ataques ilustrados con demostraciones prácticas, teoría del ataque y manera de evitarlos.
Descargar ponencia y códigos de ejemplo
15:45 - 16:30
Sala 3
Case Study: Comunidad de Usuarios de la Feria Real de Algeciras
Ponente: Carlos Paramio ver ficha ponente
El objetivo de este proyecto fue desarrollar una comunidad online para promover la Feria Real de
Algeciras. Básicamente, se pretendían los siguientes objetivos:
• Orientar a los visitantes acerca de la situación de las casetas de feria.
• Ofrecer información sobre las actividades realizadas por cada caseta durante los días de feria.
• Disponer de un sistema de evaluación de las casetas para premiar a las mejores, algo especialmente interesante para la gente de fuera que visitaba la feria y desconocía el tipo de ambiente que encontraría en cada caseta.
• Recopilar las opiniones de los visitantes a la feria, como complemento al sistema de puntuación de las casetas.
• Contener un repositorio de fotografías, donde los visitantes pudieran colocar las fotos realizadas durante la feria y compartirlas así con sus familiares y amigos.
• Disponer de un chat comunitario para que los visitantes pudieran citarse para acudir a la feria, o conocerse, o charlar sobre algún tema de interés común.
• Servir de plataforma publicitaria a las empresas de la comarca, como complemento a la revista de feria.
• Pasar de la idea a la implementación en un mes de tiempo.
Descargar ponencia
16:45 - 17:30
Sala principal
Optimización y desnormalización del modelo de datos en Active Record
Ponente: Fernando Blat ver ficha ponente
ActiveRecord está pensado para trabajar con modelos de datos normalizados, porque evitan una serie de problemas, como la inconsistencia de datos al no haber repetición de los mismos.
Sin embargo, cuando estamos trabajando con grandes volúmenes de datos y modelos que mantienen relaciones complejas entre sí, se hace necesario desnormalizar en aras de la velocidad y el rendimiento.
En esta presentación hablaremos de cómo trabajar con modelos desnormalizados y luchar por el rendimiento con cachés, observers y tablas temporales. Y también comentaremos un caso real: el sistema de tags de La Coctelera.
Descargar ponencia
16:45 - 17:30
Sala 2
Tareas en background con RoR y BackgrounDRb
Ponente: Sergio Espeja ver ficha ponente
La ejecución de código en Ruby on Rails sigue un ciclo petición/respuesta (request/response) perfecto para la mayoría de escenarios de una aplicación web. Pero ¿qué pasa cuando queremos realizar procesos no interactivos como actualizaciones masivas de datos, procesos de cálculo largos, etc.? En estos casos, mantener una petición a la espera de una respuesta durante periodos largos de tiempo, no es una buena solución.
Para ejecutar procesos de larga duración en RoR existen varias opciones, entre ellas BackgrounDRb, un pequeño framework que permite extraer tareas del ciclo petición/respuesta de RoR. Pudiéndose instalar como plugin, permite fácilmente la comunicación bidireccional entre la aplicación y las tareas en background.
La ponencia comenzará con una exposición del problema y mostrará por encima los posibles métodos para solucionarlo. Posteriormente se explicará en detalle BackgrounDRb y cómo utilizarlo. Para finalizar, se realizará una demostración con RoR y BackgrounDRb de cómo, en 5 minutos, podemos programar desde cero un proceso en background controlado desde la aplicación, que muestre una barra con el estado del proceso.
Descargar ponencia
Descargar código fuente
16:45 - 17:30
Sala 3
Desarrollo de Juegos con RoR
Ponente: Daniel Escribano ver ficha ponente
La charla será una guía completa sobre como desarrollar un juego en Ruby on Rails, incluyendo las posibilidades infinitas de ampliación y modificación. Se partirá del punto inicial, es decir, desde su inicio en papel hasta su colocación en el servidor. A su vez se incluirá una demostración del mismo juego realizado en PHP para poder valorar las diferencias sobre la versión RoR
17:30 - 18:15
Sala principal
Rails desde el código
Ponente: Xavier Noria ver ficha ponente
En esta charla bajaremos un poco a las entrañas de Rails. Veremos desde el código fuente cómo funcionan aspectos centrales del framework, tales como el arranque, el flujo de una petición, las extensiones core, la recarga de clases, etc
17:30 - 18:15
Sala 2
Ruby y las arquitecturas orientadas a servicios (SOA)
Ponente: Joaquín Salvachúa ver ficha ponente
Las aplicaciones Web cada vez requieren conexiones con otras aplicaciones mediante diversos protocolos. De todos ellos destaca SOAP y XML-RPC. En esta presentación veremos qué soluciones presenta Ruby para la interconexión de este tipo de aplicaciones.
17:30 - 18:15
Sala 3
Desarrollo de Plataforma de Negociación Online: Tractis
Ponente: Manuel Santos ver ficha ponente
- Presentación de Tractis
- Arquitectura de Tractis
- Componentes de Tractis
- Plataforma de desarrollo y despliegue en Tractis (SVN, Trac, Capistrano, Backups, BBDD, Servidores).
- Soluciones tecnológicas a diversos problemas:
- Plugins utilizados. Generators vs. Engines
- I18n
- Helpers de visualización
- Editor WYSIWIG y conversión a XML con Tidy
- Futuro de Tractis y conclusiones
19:30 - 20:30
Sala principal
Sesión plenaria: La Coctelera
Ponente: Álvaro Ortiz y Fernando García Ramblas ver ficha ponente
La Coctelera es uno de los desarrollos basados en Rails más grandes de hispanoamérica. Es una plataforma de weblogs en español que cuenta actualmente con más de 45.000 usuarios y 10 millones de páginas vistas al mes. En esta conferencia plenaria, Álvaro y Fernando, los dos principales responsables del desarrollo, explicarán cómo surgió la idea, los inicios del proyecto y el desarrollo hasta hoy. Se revisarán los aspectos humanos y técnicos, la elección de Rails como framework de desarrollo y los resultados que se han obtenido. La exposición no pretende ser exclusivamente técnica, sino retratar un proyecto de las dimensiones de La Coctelera en toda su magnitud.
Sábado 25 (ver viernes)
15:00 - 15:45
Sala principal
Rails para vendedores
Ponente: Agustin Cuenca ver ficha ponente
La ponencia pretende ser una introducción a Rails para equipos comerciales, cuáles son los puntos de fuertes del entrono, lo débiles y como contestar a esas objeciones de los clientes.
15:00 - 15:45
Sala 2
Introducción a Ruby on Rails
Ponente: Felipe Talavera Armero ver ficha ponente
Breve repaso de la historia de Rails.
Introducción a la programación de aplicaciones web mediante ruby on rails, viendo los componentes básicos: Active Record, Active Controller, Active View, su funcionalidad, manera de uso y el lugar que ocupan dentro de la infraestructura de las aplicaciones.
15:00 - 15:45
Sala 3
Case Study: Concurso web
Ponente: Manuel Muñoz Solera ver ficha ponente
Desglose de una campaña web hecha en Flash y Rails mediante la cual puedes crear tus propios anuncios de televisión online simplemente subiendo una fotografía.
Se analizarán con ejemplos generalizados el uso de rmagick para el montaje de imágenes o cómo hacer uploads de archivos de cara a Rails a través de Flash 8.
15:45 - 16:30
Sala principal
Rails para maquetadores
Ponente: María Martínez ver ficha ponente
Rails orientado a la parte de front end o qué debe conocer un maquetador para trabajar con rails.
- conceptos básicos
- helpers
- partials
- RoR y javascript
Descargar ponencia
15:45 - 16:30
Sala 2
Ruby On Rails y SAP
Ponente: Pablo Sanchover ficha ponente
A través de la familia de Conectores SAP (SAP Connectors) (SAP Business Connector, SAP Java Connector, SAP connector for Microsoft .NET, SAP DCOM Connector, RFC Library ... ) ha sido posible la integración de diferentes aplicaciones y tecnologías con sistemas SAP. Dichos conectores permiten la interoperabilidad entre componentes SAP (desarrollados como programas ABAP o ABAP Objects) y componentes externos desarrollados con tecnologías diversas (Java, C++, MS Visual Basic, MS .NET, ...). Con la decidida apuesta de SAP por una orientación hacia una Arquitectura de Servicios Empresariales (ESA) y, a través de las nuevas versiones de mySAP Business Suite y SAP Netweaver, se abren también nuevas posibilidades de integración e inter-operabilidad a través de estándares abiertos, principalmente Web Services. La presente ponencia tiene como objeto ofrecer una introducción a dichas tecnologías de Integración, mostrando las posibilidades de acceder a dicha tecnología desde el lenguaje Ruby, tanto a través del "RFC Connector" (SAP::Rfc) así como el acceso de aplicaciones Ruby a "Servicios Empresariales" SAP a través de Web Services.
15:45 - 16:30
Sala 3
Algoritmo genético distribuido
Ponente: Juan Lupión ver ficha ponente
Ruby on Rails permite ir más allá de las aplicaciones web que son meros frontales a una base de datos. En este trabajo mostramos la validez de Ruby on Rails como banco de pruebas para llevar a cabo estudios sobre computación distribuida usando el navegador web como agente de procesamiento y una aplicación Rails como servidor, centrándonos en el paradigma de los algoritmos genéticos.
Se comentarán el conocido uso de invocaciones asíncronas XMLHttpRequest usando la librería Prototype (incluida con Ruby on Rails), la facilidad de mapeo de objetos Ruby a Javascript (y viceversa) empleando JSON y se realizará un breve estudio comparativo del rendimiento de la implementación Javascript bajo diferentes sistemas operativos y navegadores web.
16:45 - 17:30
Sala principal
Rails para programadores Java
Ponente: Juanjo Bazán ver ficha ponente
La charla trata de mostrar a aquellos programadores Java que estén pensando en dar el salto a Rails, que el camino a recorrer es sencillo, mostrándoles cómo implementa RoR las funcionalidades con las que están acostumbrados a trabajar en sus proyectos con Java.
No sólo las mismas tareas (mapeos relaciones-objetos, MVC, manejo de XML,...) se realizan de manera más sencilla sino que al ser conceptualmente ambos lenguajes orientados a objetos, un buen programador Java ya tiene medio camino andado.
16:45 - 17:30
Sala 2
Rails y XML como herramienta de integración
Ponente: Javier Ramírez ver ficha ponente
A pesar de que para ciertos aspectos, se prefiere el uso de YAML sobre el XML en el desarrollo con Rails, es indudable que cuando se trata de integrar diferentes plataformas, el XML es la lingua-franca en la que debemos comunicarnos.
Tanto Ruby como Rails proporcionan mecanismos que permiten generar y parsear XML de una manera sencilla. En esta charla veremos cómo usar plantillas rxml para la generación de documentos, cómo convertir automáticamente un objeto basado en un modelo rails en XML, cómo mapear XML a Objectos Ruby, y cómo trabajar con XML siguiendo los modelos DOM y SAX.
Además, veremos una introducción a la arquitectura 'Representational State Transfer' (REST)
Se trabajará sobre los componentes Builder, REXML y XmlSimple.
Descargar ponencia
16:45 - 17:30
Sala 3
Case Study: Desarrollo de una web de consulta bibliográfica
Ponente: Eli Kroumova ver ficha ponente
La Biblioteca Digital de Hegoa (http://biblioteca.hegoa.efaber.net/) es una web de consulta bibliográfica que desarrollamos para el Centro de documentación de Hegoa (http://www.hegoa.ehu.es/). Está en marcha desde el noviembre de 2005 con un feedback muy positivo de los usuarios.
La web está desarrollada usando una de las primeras versiones de Rails, la 0.14. Aunque por aquel entonces Rails no era lo que es ahora, usarlo nos permitió desarrollar una web tipo web2.0 muy fácil de usar. Hicimos el trabajo en estrecha colaboración con el cliente en el estilo del desarrollo ágil. Aprovechando las ventajas de AJAX y las librerías de Javascript incluidas en Rails conseguimos una consulta del fondo bibliográfico más interactiva y con notables mejoras en la experiencia del usuario.
En la charla comentaremos el proceso de desarrollo de la web, las ventajas de hacerla en Rails y las "moralejas" que sacamos para nosotros de este proyecto.
Descargar ponencia
17:30 - 18:15
Sala principal
Testing
Ponente: Jean-Michel Garnier ver ficha ponente
Introducción: extracto de http://en.wikipedia.org/wiki/The_Mythical_Man-Month , en 1975 la calidad en la ingeniera del software, a comparar con 2006 (nada ha cambiado!!!)
- Historia y Teoría de los tests: 10 min Que es Agile, xUnit, Integracion Continua, TDD?
- Practica: 20 min: Su implementación en Ruby on Rails 1. Capa de Persistencia: Model unit tests: fixtures 2. Capa de Controlador: tests funcionales 3. Capa de Presentación (Vista): selenium tests
- Preguntas
Descargar ponencia
17:30 - 18:15
Sala 2
Ruby Mola (y por qué)
Ponente: Sergio Gil ver ficha ponente
El título es "Ruby Mola (y por qué)", y surge de la constatación, a través de la lista y otros foros, de la enorme gente que aprende Rails, más que a la vez que Ruby, _antes_que_ Ruby, o incluso sin aprender Ruby (los más valientes). Eso, que no habla sino del magnífico trabajo de la gente de Rails (oiga, póngase a programar cualquier framework de Java sin saber Java), que disminuye la pendiente de la curva de aprendizaje, disminuye también la productividad de esos programadores, que desaprovechan al 90 y tantos por ciento un magnífico lenguaje.
La ponencia tratará de convencer a estos desarrolladores de lo interesante que es aprender un poco más de Ruby a través de ejemplos.
Descargar ponencia
19:30 - 20:30
Sala Principal
Sesión plenaria II: Q & A
Ponente: Panel de conferenciantes
Para cerrar la Conferencia Rails Hispana 2006, se realizará una sesión de preguntas y respuestas del público a los conferenciantes. Al inicio de la jornada se abrirá un mic (similar al utilizado para David Heinemeier) para que los asistentes puedan hacer preguntas abiertas. Un moderador leerá las preguntas y otorgará la palabra a los conferenciantes que quieran contestarla.
