HyperServer ISAPI Module Mode

O Módulo ISAPI é um dos métodos de implantação preferidos para servidores de produção. A configuração do HyperServer nesse modo é muito semelhante ao modo Standalone Server. Além dessas etapas, você precisa configurar o IIS e criar um Application Pool e uma Application Folder. Configurar o IIS para o HyperServer é semelhante às etapas descritas em Módulo ISAPI, mas há algumas diferenças.

A conta integrada padrão IUSR não concede privilégios suficientes para aplicações HyperServer, portanto você precisa alterá‑la para LocalSystem ou outra conta com privilégios extensivos (como LocalService ou uma conta personalizada com privilégios administrativos). Se você estiver configurando um Pool existente e quiser convertê‑lo para HyperServer, é necessário alterar a conta do Windows usada por esse ISAPI Pool. Se estiver criando um novo Pool, certifique‑se de definir sua Identity como LocalSystem ao criá‑lo.

clip0180
circle-info

Importante: Modifique as configurações de Authentication da aplicação web. Esta etapa é especialmente importante se você escolheu named pipes como o tipo de transporte.

clip0109

Tornar a identidade do Application pool a opção ativa:

clip0110

Após alterar as identidades do pool, você deve verificar se seus Nodes estão sendo executados sob a conta de usuário correta. Isso pode ser feito abrindo o Windows Task Manager. Depois de executar sua aplicação web, localize os processos executáveis dos seus Nodes e verifique o nome de usuário para confirmar que estão sendo executados sob a conta pretendida. Na imagem abaixo todos os Nodes estão sendo executados sob a conta SYSTEM, o que mostra que a aplicação HyperServer ISAPI foi configurada corretamente.

clip0220

Se seu SO for 64 bits e você planeja usar binários HyperServer de 32 bits, certifique‑se de que seu pool suporte DLLs de 32 bits:

clip0146

Após configurar o pool, você pode continuar com a configuração do HyperServer. Copie o arquivo hyper_server.dll para sua pasta de aplicação. Este arquivo pode ser encontrado em ..\uniGUI\HyperServer\bin\.

Agora você precisa renomear hyper_server.dll para qualquer nome desejado — preferencialmente o mesmo nome do seu módulo existente. De fato hyper_server.dll substituirá sua DLL de aplicação e sua própria aplicação deverá ser recompilada em modo Standalone Server.

Considere o seguinte exemplo para converter um módulo uniGUI ISAPI existente chamado myapp.dll para uma aplicação HyperServer.

1

Configure o application pool

Defina a identity do application pool para LocalSystem e habilite aplicações de 32 bits se necessário. Você também pode criar um novo pool se não quiser alterar seu pool existente.

2

Copie arquivos do HyperServer e faça backup da DLL existente

Copie hyper_server.dll e hyper_server.cfg arquivos para a pasta onde sua DLL existente reside. Faça backup da sua myapp.dll existente para outra pasta ou renomeie‑a para myapp.dll.old.

3

Renomeie arquivos do HyperServer

Renomeie hyper_server.dll para myapp.dll e hyper_server.cfg para myapp.cfg.

4

Edite a configuração

Edite myapp.cfg e defina:

5

Converta sua aplicação para Standalone Server

Abra sua aplicação no Delphi e edite seu arquivo .dpr para que sua aplicação seja compilada em um arquivo EXE em vez de uma DLL. Construa myapp.exe.

6

Implante o EXE

Copie myapp.exe na mesma pasta que myapp.dll.

7

Verifique

No seu navegador, navegue até sua myapp.dll aplicação web. Você deverá conseguir ver o formulário principal da sua aplicação web (ou o formulário de login).

No modelo de aplicação HyperServer, suas próprias aplicações são sempre implantadas em modo Standalone Server. O HyperServer em si cuida de outros métodos de implantação, como Windows Service e ISAPI Module. Isso simplifica o desenvolvimento: você cria e testa suas aplicações apenas no formato EXE.

Outra configuração do IIS que pode afetar o HyperServer é o parâmetro Shutdown Time Limit:

clip0157

Este parâmetro determina quanto tempo o IIS aguardará para o término da DLL ISAPI. A DLL do HyperServer normalmente termina quando você recicla ou para o application pool, mas a finalização pode demorar mais porque o HyperServer deve encerrar todos os seus Nodes primeiro. O valor padrão é 90 segundos, mas você pode precisar aumentá‑lo para 180 segundos. Altere esse valor somente se os 90 segundos padrão não forem suficientes para sua aplicação em particular (por exemplo, quando há muitos Nodes).

Atualizado