Directriz: Diseño de servlets
Esta directriz trata la forma en que diseñar servlets para una aplicación J2EE.
Relaciones
Elementos relacionados
Descripción principal

Introducción

Esta directriz se centra en el diseño de servlets. En la sección Directriz de producto de trabajo: servlets encontrará ayuda adicional sobre los servlets como, por ejemplo, para conocer la forma de identificarlos y modelarlos.

Estado de sesión

Los datos de estado de sesión que gestiona un servlet se debería documentar en el diseño del servlet. Consulte la sección Técnica: diseño del estado para aplicaciones J2EE para obtener más ayuda sobre el estado de sesión.

Contexto de servlet

Todas las interacciones con el contexto de servlet se deberían documentar en el diseño del servlet. El contexto de servlet corresponde a los datos globales para la aplicación, y por lo tanto, se debería gestionar con cuidado. Consulte la sección Técnica: diseño del estado para aplicaciones J2EE para obtener más información sobre este mecanismo.

Estado de vida prolongada

Un servlet también puede gestionar datos pensados para que sobrevivan a una única sesión de cliente. Por ejemplo, se puede acceder directamente a una base de datos mediante JDBC o se puede almacenar datos en cookies en el lado del cliente.

Si un servlet gestiona este tipo de datos de vida prolongada, esto se debería indicar en la descripción del servlet en el modelo de diseño. El diseño del estado de vida prolongada también se trata en la sección Técnica: diseño del estado para aplicaciones J2EE.

Granularidad

Los servlets tienen la posibilidad de invocar otros servlets, JSP, clases de ayudante y EJB. Si un servlet se hace demasiado grande, hay que considerar las siguientes opciones:

  • Introducir clases de ayudante que se pueden probar como unidades independientes.
  • Mover todo el código HTML a JSP.
  • Pasar toda la lógica empresarial a EJB.

Transacciones

En general los servlets tratan con estados de sesión no persistente, y por lo tanto no precisan transacciones. Si hay que utilizar las transacciones, se deberían especificar instrucciones acerca de cuándo usarlas en las directrices de diseño específicas del proyecto.