Contexto
El
mecanismo de la capa de presentación manejo solicitud debe controlar y
coordinar la tramitación de cada usuario en las distintas solicitudes. Estos
mecanismos de control pueden ser administrados en cualquier forma centralizada
o descentralizada.
Problema
El
sistema requiere un punto de acceso centralizado para la capa de presentación
tratamiento de la petición para apoyar la integración de los servicios del
sistema, recuperación de contenidos, gestión de vista y navegación. Cuando el
usuario accede a la vista directamente sin pasar a través de un mecanismo
centralizado, se pueden presentar dos problemas:
- Se requiere que cada fin de proporcionar a sus propios servicios del sistema, resultando a menudo en código duplicado.
- Ver navegación se deja a los puntos de vista. Esto puede dar lugar a mezclarse contenidos vista y vista de navegación.
Además,
el control distribuido es más difícil de mantener, ya que los cambios a menudo
tendrá que ser hecho en numerosos lugares.
Fortalezas:
- Servicios de procesamiento Sistema común termina por solicitud. Por ejemplo, el servicio de seguridad completa de autenticación y autorización de cheques.
- La lógica que se maneja mejor en una ubicación central en su lugar se replica en numerosos puntos de vista.
- Existen puntos de decisión con respecto a la recuperación y manipulación de datos.
- Múltiples puntos de vista se utilizan para responder a las peticiones de negocio similares.
- Un punto de contacto centralizado para el manejo de una solicitud puede ser útil, por ejemplo, para controlar y registrar el progreso de un usuario a través del sitio.
- Los servicios del sistema y la lógica de control de la vista son relativamente sofisticados.
Solución
Utilice un controlador como el punto de contacto
inicial para manejar una petición.
El controlador gestiona el trámite de
la solicitud, incluyendo la invocación de servicios de seguridad tales como la
autenticación y la autorización, delegando procesos de negocio, la gestión de
la elección de una conclusión acertada, manejo de errores, y la gestión de la
selección de las estrategias de creación de contenido.
Estructura
La
figura 7.7 representa el patrón Front Controller diagrama de clases.
Figura
7.7 Diagrama de clase Front Controller
Participantes
y Responsabilidades
La
Figura 7.8 muestra el diagrama de secuencia que representa el patrón Front
Controller. Describe cómo el controlador controla una solicitud.
Figura
7.8 Diagrama de secuencia Front Controller
Controlador
El
controlador es el punto de contacto inicial para manejar todos los pedidos en
el sistema. El controlador puede delegar a un asistente para completar la
autenticación y autorización de un usuario o para iniciar la recuperación de
contacto.
Dispatcher
Un
despachador es responsable de la gestión de vista y la navegación, controlando
la elección de la siguiente vista a presentar al usuario, y proporcionar el
mecanismo para el control a este recurso.
Un
dispatcher se puede encapsular dentro de un controlador o puede ser un
componente separado de trabajo en coordinación. El operador ofrece ya sea una
estática despachar a la vista o un mecanismo de reenvío dinámico más
sofisticado.
El
operador utiliza el objeto RequestDispatcher (apoyado en la especificación de
servlet) y encapsula algún procesamiento adicional.
Ayudante
Un
ayudante se encarga de ayudar a la vista o al controlador a completar su
procesamiento. Por lo tanto, los ayudantes tienen numerosas responsabilidades,
incluyendo la recopilación de datos requeridos por la vista y el almacenamiento
en el modelo intermedio, en cuyo caso la ayuda se conoce como un value bean.
Además, los asistentes podrán adaptar este modelo de datos para el uso de la
vista. Los helpers pueden servir peticiones de datos desde la vista simplemente
proporcionando acceso a los datos en bruto o formato a los datos como el
contenido Web.
Una
vista podría trabajar con cualquier número de helpers, que normalmente están
implementados como componentes JavaBeans (JSP 1.0 +) y etiquetas personalizadas
(JSP 1.1 +). Además, un ayudante puede representar un objeto Command, un
delegado (ver "Business Delegate" en la página 248), o un
transformador XSL, que se utiliza en combinación con una hoja de estilos para
adaptarse y convertir el modelo en la forma apropiada.
Ver
Una
vista representa y muestra información al cliente. La vista recupera la
información a partir de un modelo. Los helpers soportan vistas encapsulando y
adaptando el modelo de datos subyacente para su uso en la pantalla.
Consecuencias
- Centraliza el Control
Un controlador proporciona un lugar central para manejar los servicios del sistema y la lógica de negocio a través de múltiples peticiones. Un controlador maneja el procesamiento de lógica de negocios y solicitando asistencia. Acceso centralizado a una aplicación significa que las solicitudes son fácilmente rastreados y registrados. Tenga en cuenta, sin embargo, que centraliza el control, es posible introducir un punto único de fallo. En la práctica, esto raramente es un problema, sin embargo, ya que múltiples controladores típicamente existen, ya sea dentro de un único servidor o en un clúster. - Mejora la capacidad de
administración de la Seguridad
Un controlador centraliza el control, proporcionando un punto de estrangulamiento para los intentos de acceso ilegales en la aplicación Web. Además, la auditoría de una sola entrada en la aplicación requiere menos recursos que la distribución de los controles de seguridad en todas las páginas. - Mejora la Reutilización
Un controlador promueve limpiador partición de aplicaciones y fomenta la reutilización, el código que es común entre los componentes se muda a un controlador o es gestionado por un controlador.
(© 2001-2002 Sun Microsystems, Inc. Todos los
derechos reservados.)
No hay comentarios:
Publicar un comentario