• [^] # RESTfull + ActiveResource

    Posté par . En réponse au journal J2EE vs RoR vs Python. Évalué à 1.

    Exactement. Dans Rails 1.2 (REST), Rails peut directement fournir au client du XML, HTML, etc selon la requete.

    Ce qui est tueur dans Rails 1.2 c'est d'associer l'application RESTful avec le plugin ActiveResource.
    ActiveResource reprend un certain nombre des fonctions du mappeur BdD objet ActiveRecord comme find, delete, etc. En faisant un find(1) il va automatiquement aller fetcher le XML correspondant et l'intégrer dans un objet.

    Au final, on a une abstraction complète de la source des données (qui peut etre un SGBD en local ou un serveur Web au Japon) tout en utilisant des technologies ultra-standard (XML et HTTP).

    Exemple tout bête :
    employe = Employe.find(1)
    employe.prenom ==> "Nicolas"

    Si Employe est un objet ActiveRecord, en backoffice on a un SELECT dans une base quelconque puis un mapping objet.
    Si Employe est un objet ActiveResource, en backoffice on a un fetch http://serveur_distant/employes/1 qui va retourner un XML puis un mapping objet.
    On peut meme gérer la suppression d'enregistrement, l'édition, etc, avec possibilité de gérer une authentification à distance via HTTP(S) Auth.

    Vraiment très bien pensé, absolument simple et efficace.

    Et pour ceux qui trouvent ça déjà avancé, ne vous inquiétez pas, Rails est aussi génial pour faire des choses basiques : formulaires HTML, accès aux bases, etc...