Désolé, cette question peut paraître stupide, mais après avoir développé certains de mes services RESTful en utilisant Jersey, je me suis posé la question suivante : si REST est juste une architecture, et non un protocole comme SOAP, pourquoi avons-nous besoin d'une spécification comme JAX-RS ?
En fait, j'ai cherché sur Google des questions comme "Quelle est la différence entre les servlets et les services RESTful sur HTTP" et pour résumer les réponses de la communauté, j'ai obtenu :
- Le développement de services RESTful (sur Jersey) est une architecture qui utilise intrinsèquement les servlets.
- Les outils conformes à JAX-RS, comme Jersey, facilitent le regroupement et le désassemblage des données XML/JSON, ce qui aide les développeurs.
- REST nous aide à utiliser GET/POST/PUT/DELETE d'une manière bien plus efficace que les servlets normaux.
Selon ces réponses, je suppose que si j'écris une servlet qui utilise JAXB (pour traiter la sérialisation automatique), et que j'utilise efficacement GET/POST/PUT/DELETE dans mon code de servlet, je n'utilise pas un outil comme Jersey, et donc JAX-RS.
Je sais que je me trompe terriblement en passant cette déclaration, veuillez me corriger.
PS : Ce doute est apparu lorsque j'ai dû développer des services RESTful en PHP. Après avoir parcouru certains codes PHP RESTful, j'ai réalisé qu'il s'agissait simplement des mêmes vieux scripts PHP, avec quelques méthodes d'aide pour gérer XML/JSON.
0 votes
Merci pour toutes vos réponses. Mais quelqu'un peut-il répondre à ma première question ? Pourquoi avons-nous besoin d'une spécification pour une "architecture"... peut-être quelqu'un peut-il m'indiquer une autre architecture qui fournit une spécification formelle ?
0 votes
Vous cherchez autre chose que la simplicité (quelques lignes de code) et la portabilité (déploiement sur GlassFish, WebLogic, WebSphere, JBoss, etc.) ? Vous pouvez développer un service RESTful en utilisant des spécifications de niveau inférieur comme Servlets/JAXP/JDBC, mais cela implique généralement plus de code que les spécifications de niveau supérieur comme JAX-RS/JAXB/JPA.