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

Responder a