10 Août 2007, 3:59
Défaut:
by

4 comments

Pas de processus sur le Web

Le principe de statelessness du web veut que chaque requête à un serveur web se fasse sans avoir à connaître d’état, ou sans connaissance de requêtes précédentes.

De facto, le web n’est pas conçu pour porter des processus qui induiraient une suite logique de tâches A, B puis C.
En principe, on doit toujours pouvoir faire des retours arrière avec son navigateur, or ce n’est pas toujours le cas, il y a des violations du principe d’absence d’état (statelessness) ou vous ne pouvez pas revenir en arrière (ou alors votre navigateur vous demandera de réenvoyer des données pour pouvoir retrouver le fil ).

Par essence, un serveur web ne sait pas ce que vous avez fait ni ce que vous allez faire au moment de répondre à la requête d’un client web.

Chaque échange entre un client HTTP et un serveur est un “one shot“, une histoire sans lendemain.

Une architecture conforme aux principes REST ne peut donc théoriquement pas proposer des services en mode Business Process Management.

Je ne comprends pas bien ton propos…

Dans des expériences passées, il me semble avoir travaillé dans un environnement où la session utilisateur comportait énormément d’informations et en particulier des informations permettant de vérifier si l’enchaînement des étapes d’un processus était respecté.
Les applications de workflow documentaires sont toutes basées là-dessus, non ?

Peut-être ai-je mal compris le sens de ton message…

[Reply]

Le protocole http est stateless.
C’est pourquoi depuis l’asp de microsoft – puis php, etc etc. les serveurs proposent un service qui permet de mimer l’état d’une session. Mais c’est uen reconstitution a posteriori, qui se base sur ce protocole mais l’exploite à fond pour pallier ce manque.
Pour cela le serveuir utilise un cookie ou il passe un identifiant dans l’url – qui permet de savoir quel est l’utilisateur qui fait la requête. Puis pour chaque utilisateur, pour chaque requête, il reconstitue un contexte de données à partir de cet identifiant.

De même le protocole ne gère pas la “conversation” (le flow).

l’aspect stateless du web est à la fois sa force et sa faiblesse. Sa faiblesse parce que ça manque vraiment – et on est obligé de jongler pour être sûr de son coup.
Sa force parce que ça allège considérablement le protocole d’échanges, ça rend le web très solide.

[Reply]

Non seulement je n’ai plus besoin de répondre mais en plus j’apprends des choses.
Merci Gabriel.

[Reply]

[…] Et puisqu’il n’y a pas de processus sur le Web, l’automatisation des tâches sous Firefox permet de contourner cette contrainte, au moins pour des tâches simples et administratives. Script (No Ratings Yet)  Loading … […]

 

Répondre à Christian Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.