El mecanismo de manejo de peticiones de la capa de
presentación recibe muchos tipos diferentes de peticiones, cada uno de los
cuales requiere varios tipos de procesamiento. Algunas peticiones simplemente
requieren su reenvió al componente manejador apropiado, mientras que otras
peticiones deben ser modificadas, auditadas, o descomprimidas antes de su
procesamiento posterior.
Problema:
Se requiere un pre-procesamiento y un
post-procesamiento de unas peticiones o respuestas de un cliente Web.
Cuando una petición entra a una aplicación Web,
normalmente debe pasar varios test de entrada antes del estado de procesamiento
principal. Por ejemplo,
§ ¿Se
ha autentificado el cliente?
§
¿Tiene el cliente una sesión válida?
§
¿La dirección IP del cliente es de una red
conocida?
§
¿Viola alguna restricción el path de la
petición?
§
¿Qué codificación usa el cliente para enviar los
datos?
§
¿Soportamos el tipo de navegador del cliente?
Algunos de estos chequeos son tests, que resultan
en una respuesta de si o no que determina si continuará el procesamiento. Otros
chequeos manipulan el stream de datos entrantes a una forma aceptable para el
procesamiento.
Causas
§ Procesamiento
común, como un chequeo del esquema de codificación de datos o la información de
login de cada petición, completo por cada petición.
§ Se
desea la centralización de la lógica común.
§ Se
debería facilitar la adición o eliminación de servicios sin afectar a los
componentes existentes, para que se puedan utilizar en gran variedad de
combinaciones, como
§ Logging
y autentificación.
§ Depuración
y transformación de la salida para un cliente específico
§ Descomprensión
y conversión del esquema de codificación de la entrada.
No hay comentarios:
Publicar un comentario