O WebIntegrator é um servidor de aplicações web com ambiente de desenvolvimento integrado capaz de agilizar o desenvolvimento de aplicações cliente/servidor com o cliente HTML (browser) acessando bancos de dados com total independência entre os layouts de página e a codificação da regra de negócio.
Um projeto desenvolvido pelo WebIntegrator é composto basicamente por um conjunto de páginas JSP (JavaServer Pages) que correspondem às interfaces de interação do sistema com o usuário. Essas páginas são criadas através do ambiente de desenvolvimento do WebIntegrator (WI_Builder) e editadas dentro do próprio WI_Builder. Do conteúdo das páginas, tudo que estiver delimitado pelo sinal de pipe (|) será substituído por um código JSP equivalente fazendo com que o conteúdo final gerado seja uma página JSP.
Todas as variáveis criadas através do WebIntegrator quer seja diretamente por páginas ou através de componentes de pré ou pós-página são armazenadas diretamente na sessão do usuário porém o tempo de permanência e o comportamento dessas variáveis depende do prefixo usado para identificá-las.
Variáveis de sessão que comecem com o prefixo tmp. são conhecidas pelo WebIntegrator como variáveis temporárias. Esse tipo de variável tem um tempo de vida pré-determinado onde as mesmas são removidas da sessão automaticamente pelo WebIntegrator logo após a execução de um pré-página. Geralmente, a maioria das variáveis e identificadores de um projeto do WebIntegrator são formandos por variáveis temporárias.
Variáveis de sessão que comecem com o prefixo pvt. são conhecidas pelo WebIntegrator como variáveis privadas. Essas variáveis persistem durante todo o tempo de vida da sessão e apenas podem ser removidas ou terem seus valores alterados através do uso dos componentes de pré ou pós-páginas. Geralmente, variáveis privadas são utilizadas para armazenar informações que são acessadas com frequência pelo projeto.
Variáveis de sessão que comecem com o prefixo wi. são conhecidas pelo WebIntegrator como variáveis de sistema. As variáveis de sistema normalmente são de apenas leitura não sendo permitido ao desenvolvedor criar variáveis desse tipo, ele apenas poderá acessar seus valores e em alguns casos atribuir valores.
O uso de qualquer outro prefixo nos identificadores de variáveis fará com que o WebIntegrator sempre mantenha as variáveis armazenadas na sessão sendo que as mesmas poderão ser apagadas e terem seus valores alterados tanto por componentes de página ou através dos métodos GET (passagem de parâmetros via URL) ou POST.
Toda página de um projeto do WebIntegrator tem eventos que são processados antes do conteúdo ser processado e enviado ao cliente. Quando uma página é solicitada o WI_Engine primeiramente verifica se existe na sessão do usuário uma variável wi.page.prev com um identificador valido de uma página, em caso positivo o pós-página dessa página é executado. Perceba que a execução de um pós-página está vinculado com a presença da variável wi.page.prev na sessão do usuário, após a execução do pós-página o WI_Engine valida o contexto de segurança da página requisitada verificando se ela possui segurança ativa, se pode ser acessada sem login, etc. Validado o contexto de segurança o pré-página da página requisitada é processado e em seguida é a página requisitada é processada e enviada ao cliente.