GE - Como Fazer - Configuração de aplicação com GigaSpaces

De CIGAM WIKI

Como Fazer > Utilidades/Diversos
Voltar

Quais são os pré-requisitos para uso do GigaSpaces?

É necessário ter as seguintes configurações antes de começar o processo de configurar uma aplicação com o GigaSpaces:

  • Processador Quad Core de 2.66 GHz ou superior e no mínimo 4GB de RAM livre no servidor (antes de instalar o Magic XPA);
  • Ter o IIS (Internet Information Services) instalado;
  • Versão do XPA de acordo com a versão Cigam11;
  • Possuir licença MGENT1, com o parâmetro GS=Y.

A figura abaixo apresenta a licença MGENT1com o parâmetro GS=Y.

Licença

Instalação do XPA/GigaSpaces

Para instalação do XPA avaliar o processo em GE - Como Fazer - Instalação do Magic xpa

Configuração do GigaSpaces

Após instalar o XPA', o primeiro passo é configurar o arquivo projectsStartup.xml, disponível no local: C:\MagicXPA\GigaSpaces-xpa\config\. Por padrão, ele vem configurado conforme a imagem a seguir:

ProjectStartup

Neste arquivo deverá ser inserido os parâmetros da aplicação que será iniciada pelo GigaSpaces. No exemplo abaixo, iremos utilizar a aplicação para uso do Cigam Web:

ProjectStartup

Segue abaixo imagem com o detalhamento dos parâmetros:

ProjectStartup

A seguir é detalhado os parâmetros que precisam ser preenchidos:

  • Project Name: Nome do projeto que será iniciado pelo GigaSpaces;
  • Start Application: Aplicação que será carregada pelo serviço;
  • CMDLineArgs: Parâmetros de inicialização da aplicação;
  • Parâmetros de Licença: São dois parâmetros que precisa ser preenchido:
    • ReservedUserLicenses: Parâmetro limitador do número de filas para o projeto, específico para licenças tipo RIA;
    • ReservedThreadsLicenses: Parâmetro limitador do número de filas para o projeto, específico para licenças tipo MGENT1. No nosso exemplo, esse parâmetro deve ser definido de acordo com o número de filas que a licença possui;
ProjectStartup

Os parâmetros a seguir podem otimizar o consumo de recursos do ambiente:
NumberOfInstances: Parâmetro que controla quantos .EXE são colocados em execução para atender a aplicação.
NumberOfWorkers: Parâmetro que controla quantas requisições podem ser atendidas por vez, e está limitado ao número de filas da licença.

Complementando os parâmetros anteriores, no arquivo Magic.ini da instalação do XPA, na seção MAGIC_ENV, também revisar estes valores observando o consumo de recursos que vai gerar para o ambiente para utilizar os valores adequados:
WorkerRequestPollingInterval: Controle do ciclo do temporizador do worker, que pode causar um alto consumo de CPU se a licença possuir muitas filas. O valor esperado é o número de milissegundos, sendo recomendado avaliar um valor entre 50 e 100 para uma licença com um maior número de filas.
WorkerRequestPollingIntervalSchema: Complemento ao controle de ciclo que define o intervalo de verificação de requisições não tratadas. Valores válidos N (Normal) ou I (Intensive). Disponível somente a partir do Magic xpa 3.3d.

Conforme verificamos durante a instalação do XPA, segue abaixo as aplicações criadas no Default Web Site do IIS:

IISManager

Agora é necessário abrir o arquivo Magic.ini da instalação XPA (C:\MagicXPA\Magic.ini) e copiar as configurações da sessão MAGIC_JAVA (igual apresenta na imagem abaixo), logo após devem ser copiadas para o Magic.ini do ambiente Cigam;

ArquivoMagic

Após revisar essas configurações, você já pode iniciar o serviço do XPA, conforme a imagem abaixo:

ServicesWindows

Após iniciar o serviço, para verificar se a aplicação está no ar, basta abrir o Magic XPA Monitor, disponível em: C:\MagicXPA\GigaSpaces-xpa\DotNet\MgXpaGsMonitor.exe. Como vemos na imagem abaixo, a aplicação CGWeb está disponível para consumo:

MonitoGigaSpaces

A DLL utilizada para consumo da aplicação web via GigaSpaces é a MgWebRequester.dll. Para descobrir o endereço de consumo da mesma, basta acessar o IIS, posicionar sobre a aplicação Magic Scripts no Default Web Site e clicar no botão “browser”, igual apresenta a imagem abaixo:

IISManager

O endereço de consumo da DLL é o link “http://basemodelo/MagicScripts/” + o nome da DLL “MgWebRequester.dll”, ficando assim: “http://basemodelo/MagicScripts/MgWebRequester.dll”, igual apresenta na imagem abaixo:

DllWeb

Segue abaixo um exemplo de consumo de uma aplicação via GigaSpaces para a aplicação Cigam Web:

WebAppServicesConfig

E após abrir os Portais as requisições são centralizadas no monitor GigaSpaces como ilusta a seguir:

MonitorGigaSpaces


Como bloquear requisições HTTP GET ao GigaSpaces?

Por fatores de segurança, é necessário que as requisições ao GigaSpaces vindas por GET sejam bloqueadas e é preciso fazer isto manualmente através do Filtro de Requisições (Request Filtering). Os passos para o bloqueio manual através do HTTP são:

  1. Acesse o IIS (Internet Information Services);

  2. Acesse a área de Pool de Aplicativos (Applications Pools);

  3. Escolher o site que gostaria de configurar e duplo clique em Request Filtering;

IISManager
  1. Após abrir a tela de Request Filtering, selecionar a aba HTTP Verbs;

IISManager
  1. Na lateral direita em Actions clicar no “Deny Verb...” e digitar GET em letra maiúscula;

IISManager
IISManager

Após esses passos é necessário reiniciar o site (ou servidor) para as configurações serem válidas.

POOL de reciclagem do IIS

Para que as aplicações CIGAM funcionem corretamente, deve-se configurá-las no Internet Information Services (IIS) corretamente. Os passos para a configuração são:

  1. Acesse o IIS (Internet Information Services);

  2. Acesse a área de Pool de Aplicativos (Applications Pools);

  3. Clique com o botão direito do mouse e selecione “Recycling...” ou selecione a mesma opção na barra lateral. A imagem abaixo apresenta o menu;

IISManager

A partir da opção Recycling, será aberta a janela de configuração das Condições de Reciclagem (Recycling Conditions) que contêm dois grupos de configurações: Intervalos Fixos (Fixed Intervals) e Baseados em Memória Máxima (Memory Based Maximums).

Podem ser usadas combinações destas configurações, mas recomenda-se fortemente que seja usado como na imagem abaixo, em que escolheu-se uma configuração baseada em intervalo fixo, com horário configurado fora do horário comercial.

IISManager

A não utilização desta configuração pode acarretar perda de sessões de usuários, consequentemente, dados que estejam sendo salvos ou editados. O que significam cada uma das Opções:

  • Intervalos de tempo regulares (em minutos): Selecione essa opção para especificar um intervalo de tempo, em minutos, no qual você deseja que o IIS recicle o processo de trabalho.

  • Número fixo de pedidos - Fixed number of requests: Selecione essa opção para especificar o número de solicitações após as quais você deseja que o IIS recicle o processo de trabalho.

  • Tempo(s) específico(s) - Specific time(s): Selecione essa opção para especificar uma hora ou horários em que você deseja que o IIS recicle o processo de trabalho em um período de 24 horas. Por exemplo, para reciclar um processo de trabalho às 4:30 e 16:30, informe “4:30,16:30”. A hora que você especifica usa a hora local no servidor da Web.

  • Memória virtual utilizada (em KB) - Virtual Memory usage (in KB): Selecione essa opção para especificar o número máximo de kilobytes da memória virtual comum do sistema que pode ser usado por um processo de trabalho antes que o processo seja reciclado. Você pode escolher essa opção quando perceber um aumento constante na memória virtual usada em seu servidor.

  • Uso de memória privada (em KB) - Private memory usage (in KB): Selecione essa opção para especificar a memória física máxima do sistema alocada privadamente que um processo de trabalho pode usar antes que o processo seja reciclado.

Tempo Limite no GigaSpaces

    • Para que se possa aumentar a duração máxima, especificada em segundos. Depois que uma solicitação é inserida em um espaço pelo solicitante da Web, esse tempo limite determina a duração máxima que o solicitante da Web aguarda até que uma resposta seja gravada no espaço (por um servidor Magic xpa), a sintexe abaixo pode ser alterada no arquivo mgreq.ini em [REQUESTER_ENV] para que se aumente o tempo de duração.
      • Sintaxe: RequesterTimeoutSec = 60