perdón pero... que es un WS? --- *Dwayne Macgowan* Instructor del Método DeRose www.metododerose.org www.metododerose.org/blog
2010/8/17 NachoKB <[email protected]> > 2010/8/17 Instr. Dwayne Macgowan <[email protected]> > >> Las opciones que se me ocurren son: >> - Hago 2 aplicaciones que accedan a la misma base de datos. >> - Hago 2 aplicaciones que se comuniquen via API. ( pero pierdo todo los >> has_many ) >> - mantengo todo en la misma app y a freir churros. >> > > Tener 2 aplicaciones implica ciertos problemas que solo se justifica, según > mi punto de vista, en pocos casos (desde Single Sign On hasta tener en > cuenta que nunca podés considerar que un WS estará "acotado" en tiempo, por > lo que empezás a necesitar replicar y sincronizar datos o pasar a background > / delayed job tareas que deberían ser simples). Lo justificaría si las dos > apps realmente fuesen independientes, teniendo apenas algún punto de > contacto (con la posibilidad de que evolucionen por separado), o estén > hechas en dos tecnologías diferentes (o desarrollada por equipos de > desarrollo diferentes). O sea, lo evitaría. > > Una solución que a mi me gustó (aunque tiene su costo) es utilizar Engines. > O sea, plugins que contienen Models y Controllers y lo que necesiten. Esto > te permite explicitar dependencias que a veces en una app grande se te van > de mambo y mantener cada "módulo" con cierta autonomía (y ciertamente es > mucho más fácil de aprender una app si abrís el directorio de Models y hay > una cantidad manejable de archivos). > > De esta manera se comportan como parte de la app y son más manejables. Algo > interesante que podés hacer es por ejemplo que la app no dependa de los > plugins sino que los plugins en su init se registren y agreguen entradas de > menú y cosas así. > > El gran "pero" de este approach tiene que ver con el reloading que Rails > intenta hacer en development. Desconozco exactamente qué lo dispara (a veces > era un plugin con controllers, pero me pasó en otros casos también), cuando > intenta eliminar alguna clase para luego recargarla (por ej me pasaba con > ActionController::Base) queda alguna referencia dando vueltas por algún lado > y no la puede terminar de descargar; luego al querer redefinir esa clase > levanta un error diciendo que la clase XXX ya existe o algo similar. La > única solución que encontré es desactivar el class reloading en development > (lo que es muy molesto). > > nachokb > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > >
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
