Tecnología de Inmobiliarios.com.ve

11,700 views
11,613 views

Published on

Presentación dada en el año 2007 en Perl Mongers sobre la interesante tecnología que desplegamos para el sitio http://inmobiliarios.com.ve/, que nos permitió demostrar la aplicación de técnicas de búsqueda vertical sobre sitios web inmobiliarios del mercado venezolano.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
11,700
On SlideShare
0
From Embeds
0
Number of Embeds
35
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tecnología de Inmobiliarios.com.ve

  1. 1. Motor... Caja... Carrocería... Accesorios... Estadísticas La Tecnología tras Inmobiliarios.com.ve ¿Qué hace funcionar al Buscador Inmobiliario de Venezuela? Ernesto Hernández-Novich <emhn@inmobiliarios.com.ve> Luis E. Muñoz <lem@inmobiliarios.com.ve> Inmobiliarios.com.ve agosto, 2007 / Perl Mongers, Caracas Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  2. 2. Motor... Caja... Carrocería... Accesorios... Estadísticas Agenda 1 Motor... 2 Caja... 3 Carrocería... 4 Accesorios... 5 Estadísticas Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  3. 3. Motor... Caja... Carrocería... Accesorios... Estadísticas Software de Inmobiliarios.com.ve Todo el software que usamos es libre Todos los procesos de la operación son automáticos . . . . . . la instalación Todo el software está en paquetes Debian. . . . despliegue Las estructuras de base de datos se generan programáticamente. . . . las pruebas de regresión Pruebas automatizadas sobre todos los aspectos del sitio web. No, no necesitamos ISO-9000, gracias Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  4. 4. Motor... Caja... Carrocería... Accesorios... Estadísticas PostgreSQL Motor de base de datos El mejor y más completo manejador de base de datos relacional, libre . . . . . . cumple con todos los estándares . . . 100 % ACID, fuera de la caja . . . se inicia el desarrollo en los 80 – más de 7 años de evolución en el core Replicación SM-MS con promoción automática – 3 seg de latencia observada sobre Internet público Procedimientos almacenados en varios lenguajes, incluyendo Perl Manejo eficiente de contenido no-escalar, como fotos Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  5. 5. Motor... Caja... Carrocería... Accesorios... Estadísticas Debian/GNU Linux Libertad bajo el capó No tenemos que preocuparnos por la licencia: Todo es libre La más ámplia cobertura de CPAN en sistemas Linux – lo que falta se instala con dh-make-perl Abundantes herramientas de control de calidad Soporte multi-plataforma perfecto: Servidores idénticos bajo arquitecturas Intel y PPC Herramientas para construcción y distribución de paquetes Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  6. 6. Motor... Caja... Carrocería... Accesorios... Estadísticas DBIx::Class + SQL Fairy Aceleración del desarrollo Nuestros programas no contienen SQL – sólo Perl Crear el esquema de base de datos es muy simple. . . $ ch−d e p l o y −−w i t h −d r o p Podemos usar bases de datos más livianas en nuestros equipos personales y de desarrollo sin cambiar el código. . . . . . de hecho, cualquier base de datos soportada por DBI Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  7. 7. Motor... Caja... Carrocería... Accesorios... Estadísticas mod_perl + Apache Web Server Más kilómetros por litro Seguridad y confiabilidad Hacemos modificaciones profundas en la forma de atender las peticiones web Persistencia. . . . . . conexiones a la base de datos . . . en los programas . . . en las plantillas, ayudando a HTML::Template Configuración simple, junto a la de Apache Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  8. 8. Motor... Caja... Carrocería... Accesorios... Estadísticas CGI::Application ¿Para qué retroceso? Aplicaciones web simples, basadas en estados Menú de plugins para muchas funciones . . . . . . autenticación . . . CAPTCHA Mínima exposición de información Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  9. 9. Motor... Caja... Carrocería... Accesorios... Estadísticas Template::Toolkit + HTML::Template Latonería y pintura El layout del sitio se genera estáticamente, cuando hay cambios que lo requieren Las aplicaciones mantienen la separación con la vista – look & feel uniforme El contenido puede guardarse donde tenga más sentido: Archivos planos o base de datos Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  10. 10. Motor... Caja... Carrocería... Accesorios... Estadísticas Test::More Arnés de prueba que acompaña a las aplicaciones Fácil de usar – muchas pruebas en poco código . . . @ r s = $schema−>r a t e _ d a t a ( ’ n1 ’ ) ; i s ( $ r s [ 0 ] , 5 , ’ Correct count of r a t i n g s ’ ) ; i s ( $rs [ 1 ] , 3 , ’ Correct average of r a t i n g s ’ ) ; i s ( $ r s [ 2 ] , 1 5 , ’ C o r r e c t sum o f r a t i n g s ’ ) ; . . . no sólo prueban el software . . . l i k e ( $msg−>head−>g e t ( ’ R e p l y −To ’)−>u n f o l d e d B o d y , q r /^<? i c v . t e s t e r @foo . com>?/ i , " $ s : R e p l y −To s e t t o t h e s e n d e r " ) ; l i k e ( $msg−>head−>g e t ( ’ To ’)−>u n f o l d e d B o d y , q r /^<? i c v . t e s t e r @foo . com>?/ i , " $ s : To s e t t o t h e i n v i t e e " ) ; Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  11. 11. Motor... Caja... Carrocería... Accesorios... Estadísticas WWW::Mechanize Fácil acceso al contenido web, siguiendo todos los estándares Integración elemental con otros módulos útiles . . . Útil para generar casos de prueba . . . my $ j a r 1 = HTTP : : C o o k i e s −>new ( ) ; my $mech1 = T e s t : :W W: : Mechanize −>new W ( c o o k i e _ j a r => $ j a r 1 ) ; $mech1−>get_ok ( " h t t p : / / $ s . i n m o b i l i a r i o s . com . v e / " , " $s : Hit 1" ) ; $ j a r 1 −>s c a n (& c b _ c h e c k _ c o o k i e ) ; Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  12. 12. Motor... Caja... Carrocería... Accesorios... Estadísticas La magia de /quiero. . . Espacio web virtual, generado para ayudar al usuario y a Google Manipulación del URL para mantener legibilidad – REST El más rápido acceso posible a la búsqueda http://inmobiliarios.com.ve/quiero/apartamento/ya Compatible con cualquier navegador web Implementación ligera – mínimo consumo de recursos Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  13. 13. Motor... Caja... Carrocería... Accesorios... Estadísticas Algunas estadísticas... . . . al 14 de agosto del 2007 Líneas de código: 9987 Funciones / métodos: 144 Líneas / método: 6.3 Complejidad de McCabe: 6.35 (main), 1.6 (métodos) Pruebas Calidad y correctitud de código: 3577 Regresión: 794 Líneas de código: 8626 Velocidad de desarrollo Aproximadamente 180 horas hombre en ingeniería de software Primer commit: enero 28, 2007 Último commit: agosto 14, 2007 639 revisiones (Una nueva versión cada 3 días) Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV

×