No conocía Sinatra, se ve bueno. Debe ser mucho más rápido de rails.
No me queda claro algo... haría otra aplicación que accede a la misma base
de datos que la actual... y ¿redefino todos los modelos?

2010/3/12 NachoKB <[email protected]>

> 2010/3/12 Nelson Fernandez <[email protected]>
>
>
>> 2010/3/12 dwayne <[email protected]>
>>
>> Quiero generar una API para mi aplicación y no termino de cuál es la
>>> estructura ideal.
>>>
>>> *1)* Una idea que se me ocurrió es generar un namespace "api" e ir
>>> poniendo ahí los controllers con las diferentes funcionalidades que quiera
>>> darle a la api. Generar tal vez un api_application_controller.rb y utilizar
>>> oauth, etc.
>>>
>>> *2)* Otra es hace un api_controller.rb y meter ahí lo method que sean
>>> necesarios y las restricciones via oauth o lo que sea.
>>>
>>> *3)* y finalmente la otra es no generar un controller o namespace en
>>> particular sino que ir utilizando format.xml en los methods ya existentes
>>> para responder a los llamados desde la api y sólo publicar en la API
>>> aquellos que tengan el acceso permitido via Oauth.
>>>
>>> ¿Alguien ya hizo un desarrollo de este tipo? ¿Hay una manera "oficial" de
>>> hacer esto? ¿o una "rails way"?
>>>
>>>
>> lo que yo te aconsejaría es no poner la api  en la misma aplicación.
>> utilizá otro subdominio ej: api.dominio.tld y pone ahí el manejo del api
>> con sinatra por ejemplo.
>> de esa forma el dia de mañana podes tener en servidores distintos el
>> manejador de api de la aplicacion sin ningún problema, hacer upgrades o
>> deploys sin afectar al otro.
>>
>> un tema que aveces no se tiene en cuenta y a largo plazo te puede jugar en
>> contra es el tema del versionado de las llamadas api. una forma puede ser
>> hacerlo explicita, ej:
>>
>> api.dominio.tld/servicio/v1/llamada/parametros
>>
>> otros utilizan los mismos parámetros para pasar a que version del api a
>> llamar  y támbien he visto algo muy prolijo (para mi gusto) que es pasar la
>> versión del api a usar en los headers del request.
>>
>> saludos
>>
>> --
>> :: nelson ::
>> [ artesano de software & software craftsman ]
>> http://netflux.com.ar
>>
>
> Como dice Nelson, no está bueno tener la API junto a los controllers de la
> aplicación web, dado que generalmente a una API se le debe exigir una
> estabilidad mucho mayor (en el sentido de "menos cambios") que a la
> aplicación.
>
> Por este mismo motivo está bueno explicitar la versión de la API (te
> conviene desde un principio tener este mecanismo, aunque parezca medio tonto
> cuando hay una única versión).
>
> En cuanto a la manera de explicitar la versión, usar la URL (a pesar de que
> teóricamente no correspondería) tiene sus ventajas cuando estás debuggeando
> o escribiendo un cliente.
>
> Saludos,
>
> 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