2009-03-31 6 views
6

Je veux savoir comment je pourrais implémenter REST dans mon application web. Je veux créer une application web basée sur ce service, mais je ne sais pas comment le faire. Maintenant, j'utilise J2EE et Tomcat. Quelles choses devraient être considérées pour ces technologies?Comment implémenter REST dans une application web?

EDIT: Désolé, je veux dire le service RESTful.

Répondre

12

REST n'est pas une interface ou une technologie spécifique, mais un style. Le meilleur exemple est le Web lui-même: votre navigateur envoie une requête HTTP à un serveur Web qui répond par une page Web. Représentation de l'état de transfert dans ce contexte: La représentation est la page Web, l'état est l'information contenue dans ce document. Nous pourrions changer la représentation en changeant pour servir xml au lieu de html, mais l'information serait la même.

Dans un service RESTful, vous utilisez ce style pour envoyer des objets de données dans les deux sens: l'état est transféré du serveur vers vous, puis vous renvoyez un nouvel état. Donc, dans un sens, Tomcat fera déjà REST pour vous, si vous mettez vos pages serveur comme ressources: http://carsales.com/cars/porsche2149 pourrait être la ressource pour votre voiture, à laquelle vous pouvez utiliser HTTP POST ou PUT pour changer les détails de il. Les caractéristiques de REST utilisent des URI pour désigner des ressources, comme ci-dessus, en utilisant JSON ou XML comme moyen d'échange (bien qu'AHAH et d'autres formats sont utilisés), et en argumentant sur la façon de SUPPRIMER des collections. Commencez par déterminer quelles seront vos ressources et organisez votre système d'URI pour l'adapter (utilisez la réécriture d'URL, etc.). Ensuite, déterminez la représentation que vous voulez utiliser. Enfin, écrivez le backend pour gérer les représentations d'état passantes et mettre à jour la base de données.

+0

Merci Phil H, votre réponse est vraiment bon et utile –

+0

+1 pour l'exemple avec porsche. Bien qu'il soit parti maintenant, mais toujours. – zmilojko

0

C'est un peu d'un lecteur par réponse, mais si vous voulez un cadre/api pour aider voici deux options:

Restlet

CXF's jax-rs

1

Je n'ai aucune expérience avec les jax-rs de CXF mais Restlet fonctionne bien pour moi. Il permet de mettre en œuvre des services et des clients RESTful de manière simple. Cela m'a beaucoup aidé dans la programmation de l'interface de service REST de DekiWiki. Il y a un livre O'Reilly sur "RESTful Web Service" qui fournit une bonne introduction. Il a également une courte section sur Restlet.

0

Nous utilisons également Restlet avec JAX-RS.

Si vous utilisez JAX-RS (API Java pour les services Web RESTful), ce document peut être utile (bien qu'il s'agisse d'un guide de référence pour le développement dans JBoss RESTEasy).

Je recommande également REST test client

0

RESTful Web Services est un livre qui pourrait vous aider. Il décrit l'incitation derrière les services Web RESTful et donne des instructions sur la façon dont vous devez concevoir votre service. Vous pouvez ensuite passer à l'implémentation en utilisant un framework ou simplement des servlets simples.

Comme alternative aux méthodes d'implémentation déjà mentionnées, j'aimerais ajouter Spring MVC.Il est possible de créer des applications RESTful already, mais plus de soutien direct sera ajouté dans Spring 3.0

Questions connexes