Tópicos

Introdução To top of page

Essa diretriz focaliza a identificação de Servlets. Orientação adicional sobre Servlets é fornecida em Diretrizes: Servlets.

Identificando Servlets To top of page

Servlets são classes do servidor que interagem com clientes com base na Web. Eles são identificados principalmente a partir de classes de controle (consulte Diretrizes: Classe de Análise) em arquiteturas da Web. Eles podem ser utilizados para gerar páginas da Web com finalidades de apresentação, mas em geral, isso é melhor adaptado para JSPs (consulte Diretrizes: JavaServer Page). Também é possível utilizá-los para interagir com bancos de dados, como em uma configuração de implementação centrada na Web, conforme descrito em Conceitos: Configurações de Implementação do J2EE. E desde o J2EE 1.4, os servlets também podem ser utilizados para implementar serviços da Web, conforme definido na Especificação JAX-RPC.

Entretanto, para aplicativos com lógica de negócios significativa ou aplicativos que requeiram os recursos oferecidos pelos EJBs, uma configuração de implementação multicamada (consulte Conceitos: Configurações da Implementação do J2EE) é mais apropriada. Nesse caso, os servlets são normalmente utilizados para coordenar a lógica de apresentação e fornecer uma ponte com a lógica de negócios e os dados fornecidos pelos EJBs.

Uma utilização comum de um servlet é como um Controlador Frontal. Esses controladores fornecem um único ponto de entrada para um aplicativo, tornando, assim, a segurança, o estado do aplicativo e a apresentação uniformes e mais fáceis de manter.   Um controlador frontal aceita um pedido do usuário, processa o pedido e determina o componente de apresentação apropriado para o qual redirecioná-lo. Consulte Padrões de Design Núcleo do J2EE - Controlador Frontal ([ALU01]) para obter detalhes.

Se o seu design contiver um grande número de JSPs com código de controle semelhante, considere a introdução de um servlet para consolidar essa lógica em um local.

Modelando Servlets To top of page

Os servlets são representadas no RUP por Artefato: Classe de Design e, portanto, são modelados como classes. Os servlets para manipulação de pedidos HTTP são estereotipados como <<HTTPServlet>>. Os servlets para manipulação de outros protocolos são estereotipados como <<GenericServlet>>.

É possível pensar que todo servlet fornece a mesma interface, uma única operação que atende pedidos e fornece informações padrão de cliente, de sessão e de contexto do servlet. Portanto, a modelagem de um servlet não está relacionada à definição de operações de interface, mas à definição de suas responsabilidades e de como interagirá com outros elementos de design, como clientes, JSPs, classes auxiliares, EJBs, etc.

Nó de Extremidade de Serviços da WebPara o início da página

Como vimos anteriormente, os servlets podem ser utilizados para implementar serviços da Web e precisam preencher os requisitos a seguir:

  • Eles devem ter um construtor público padrão.
  • Eles devem implementar todos os métodos declarados pelo Service Endpoint Interface e seus métodos de negócios devem ser públicos e não finais ou estáticos.
  • Eles devem ser servlets sem preservação de estado.
  • A classe deve ser pública, mas não final ou abstrata.

Rational Unified Process   2003.06.15