Voici comment je les comprends et les utilise dans différents cas d'utilisation:
Exemple: gestion de restaurant
cas d'utilisation pour REST : gestion des commandes
- create order (POST), update order (PATCH), cancel order (DELETE), retrieve order (GET)
- endpoint: /order?orderId=123
Pour la gestion des ressources, REST est propre. Un point de terminaison avec des actions prédéfinies. Il peut être vu un moyen d'exposer une DB (Sql ou NoSql) ou des instances de classe au monde.
Exemple d'implémentation:
class order:
on_get(self, req, resp): doThis.
on_patch(self, req, resp): doThat.
Exemple de cadre: Falcon pour python.
cas d'utilisation pour RPC : gestion des opérations
- prepare ingredients: /operation/clean/kitchen
- cook the order: /operation/cook/123
- serve the order /operation/serve/123
Pour les emplois analytiques, opérationnels, non réactifs, non représentatifs, basés sur l'action, le RPC fonctionne mieux et il est très naturel de penser fonctionnel.
Exemple d'implémentation:
@route('/operation/cook/<orderId>')
def cook(orderId): doThis.
@route('/operation/serve/<orderId>')
def serve(orderId): doThat.
Exemple de cadre: Flask pour python