Dispatcher de Pedidos Assíncronos

O ARD (dispatcher de pedidos assíncronos) pode aumentar o tempo de resposta do servlet quando operações lentas puderem ser separadas logicamente e executadas simultaneamente com outras operações necessárias para concluir a resposta. O ARD permite que os programadores do servlet Java™ executem chamadas de inclusão do javax.servlet.RequestDispatcher padrão para o mesmo pedido simultaneamente em encadeamentos separados. Essas chamadas de inclusão do javax.servlet.RequestDispatcher são concluídas em sequência no mesmo encadeamento. O ARD também é útil em CPU lenta, em situações de longa espera como, por exemplo, aguardar uma conexão com o banco de dados.

Se houver requisitos de CPU grande ou muita memória, o ARD sozinho não minimiza esses problemas. Entretanto, em combinação com o dispatcher de pedidos remotos, as operações são acionadas por um pedido do servlet que podem ser executadas simultaneamente em vários servidores de aplicativos, minimizando a demanda de recursos em um único servidor e diminuindo o risco de uma situação de queda do sistema.

Os servlets, portlets e arquivos JSP (JavaServer Pages) podem todos utilizar o ARD. Essa funcionalidade é uma extensão além dos requisitos da Especificação do Servlet Java™, que descreve apenas dispatch de pedidos síncronos. O ARD exige um novo canal, chamado de canal ARD, entre os canais do contêiner de HTTP e de Web para formar uma nova cadeia de canais. Essas novas cadeias correspondem apenas às cadeias de hosts padrão existentes e reutilizam as mesmas portas.

Cada inclusão pode gravar a saída no cliente e como a ordenação é importante para obter resultados válidos, deverá haver alguma agregação dos dados gravados. Geralmente, um servlet grava dados em um buffer e depois de cheio, ele é esvaziado no cliente. Para agregação do lado do servidor, o canal ARD não pode ser esvaziado até que todas as inclusões que tenham marcadores gravados no buffer atual sejam concluídas.

A agregação do lado do cliente da inclusão assíncrona também é suportada. Os programadores do Web 2.0 geralmente utilizam JavaScript e XML (Ajax) Assíncronos no navegador da Web do cliente para recuperar dinamicamente e agregar recursos remotos. Infelizmente, isso coloca a responsabilidade sobre o programador para agregar o conteúdo e aprender novas tecnologias. A agregação do lado do cliente inclui automaticamente o JavaScript necessário para atualizar a página dinamicamente. Para clientes não JavaScript, é possível comutar o ARD para agregação do lado do servidor, o que fornece resultados equivalentes. É possível negar clientes não JavaScript ao utilizar agregação do lado do cliente.

O ARD usa as APIs do contêiner da Web para conectar a lógica de despacho de pedido único. Ele interage com o WCCM para ler as informações de configuração para ativação do status por aplicativo corporativo, bem como uma configuração appserver global. É possível utilizar o console administrativo e o wsadmin para ativar ou desativar o ARD. Os servlets, portlets e arquivos JSP podem todos utilizar o ARD.


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cweb_ard
Nome do arquivo: cweb_ard.html