¿Soporte de RestFul Object en OpenXava?

2011-11-18
2013-11-05
  • Javier Paniza

    Javier Paniza - 2011-11-18

    Hola amigos,

    ¿Qué opináis de Restful Objects?

    ¿Os gustaría que OX lo soportara?

     
  • pigbar

    pigbar - 2011-11-20

    Hola Javier,
    Le di una mirada al proyecto y se ve bien interesante.
    Ya desde hace un rato que hago exposición de servicios REST en mis aplicaciones de OX usando diversos frameworks, por lo que una integración con algún framework de REST me parece buena idea.

    Dicho eso te devuelvo la pregunta pero con otro enfoque ;-)
    ¿Que opináis de OData?
    ¿Os gustaría que OX lo soportara?

    Un saludo cordial

     
  • Oscar Caro

    Oscar Caro - 2011-11-21

    Hola Javier,
    En nuestros proyectos OX nos hemos encontrado en varias ocasiones con la necesidad de exponer las entidades con servicios REST para ser consumidos después desde aplicaciones web que usan frameworks como jQuery o ExtJs. La guia urbana de Gavà (http://www.elbruguers.cat/GuiaUrbanaGmaps/Carrerer) es un ejemplo en el que el backoffice está desarrollado con OX y tuvimos que hacer aparte la capa de WS-REST

    Creo que sería de mucha utilidad que OX lo soportara.
    Saludos

     
  • Javier Paniza

    Javier Paniza - 2011-11-22

    Hola amigos,

    tomo buena nota. Lo de añadir soporte de odata a OX ya lo tenía en mente, aunque después de esto lo subo un poco de prioridad. OData me parece más interesantes que Restful Objects porque está mucho más extendido y aunque el aspecto puramente técnico es importante si estamos hablando de una tecnología de integración el que se popular es crucial.

    Saludos

     
  • Javier Paniza

    Javier Paniza - 2011-11-23

    Hola amigos,

    pregunté a Dan, el autor de Restful Objects, sobre odata y esto es lo que contestó:

    1. It's mostly about data, and only a little bit about behaviour.  That is, it has the idea of operations , but they don't seem to be extensible, because they are built upon the AtomPub semantics (which targets a particular domain, not any domain).

    2. OData is perceived as being a Microsoft sponsored standard; no bad thing, but I wanted to appeal to other communities (Ruby, PHP etc) as well.  (You can see evidence of the Microsoft-ness in the datatypes they define, ).

    3. (From an additional peruse of the OData pages) It doesn't seem to be have much to say on the topic of media types; all it specifies is application/json as the return type.  The RO spec uses a "profile" parameter to provide additional hints.

    4. I can't see how you would provide the ordering of properties (eg section 9 of )

    5. There's no support for representations of a domain type (section D in the RO spec)

    6. The representation of a link (section 15 of ) is incomplete.

    So I think that RO has a wider scope…

    Dan

    ¿Qué opináis?

     
  • Gabriel Casas Corral

    Hola Javier, estoy interesado en que Ox tenga soporte para Restful ya que lo necesito para un proyecto en el que estoy trabajando.

    La funcionalidad que deseo implementar es la siguiente:

    Las peticiones restful tendrian el siguiente formato:

    POST http://<server>/appOX/{module}/{action}

    y en el cuerpo de la petición iría incrustada la serialización del modelo de datos
    a tratar, por ejemplo: {id:1, name:"john doe"}

    Como respuesta se devolveria el objeto o lista de ellos tambien serializados en formato JSON o XML justo con la posible lista de mensajes y/o errores.

    Para desarrollar todo esto estoy utilizando la libreria Jersey (https://jersey.java.net/)
    pero me estoy encontrando ciertos problemas a la hora de acceder correctamente a las acciones ya que siguiendo el codigo siempre termino en la clase ModuleManager que parece ser la encargada (si no se me ha escapado algo, ya que no llevo mucho tiempo mirandola) de leer pos parametros de la peticion http y ejecutar la accion/acciones indicadas.

    Dado que los parametros que se pasan en las peticiones ajax que genera OX y los parametros que yo genero en restful no tienen el mismo formato, ModuleManager no soporta las peticiones que yo realizo.

    Mis dudas son las siguientes: ¿Habria alguna forma de hacer esto sin reescribir una clase paralela a ModuleManager? ¿Tendrás interés en añadir esta funcionalidad a la proxima version de OX para lo cual podríamos cooperar?¿Todo lo dicho anteriormente es erroneo y estoy dando palos de ciego?

    Gracias de antemano.

    Un Saludo

     
  • Javier Paniza

    Javier Paniza - 2013-11-05

    Hola Gabriel,

    yo creo que podrías hacerlo sin tocar ModuleManager para nada, de hecho cuando pasamos a AJAX no modificamos ModuleManager.

    Tu servlet debe hacer el mismo trabajo que org.openxava.dwr.Module, que básicamente es ejecutar la acción y devolver datos. La diferencia está en el formato de los datos recibidos y enviados. Échale un vistazo a Module y me cuentas.

    ¿Tendrás interés en añadir esta funcionalidad a la proxima version de OX para lo cual podríamos cooperar?

    Por supuesto

    Saludos

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks