FANDOM


*** Infraestrutura

Melhoria: Lightweight Sessions. Veja documentação a seguir.

Melhoria: A identificação da sessão HTTP corrente passa a ser realizada através de cookie ao invés da modificação das URLs. Esta alteração reduz o tempo de resposta de páginas HTML, pois não é mais necessário realizar a inserção do sessionId.

Melhoria: Foram criadas no Manage/General as opções Max Statefull Sessions e Max Stateless Sessions, permitindo limitar a quantidade máximas de sessões JavaScript.

Alteração: A configuração do iEngine passa a ser realizada através da url "/manage" ao invés de "/startWebConfiguration".

Correção: A sessão do usuário era perdida ao mudar de página em browsers WAP de alguns dispositivos móveis. Corrigido.

Correção: Um usuário poderia assumir a sessão de outro usuário copiando a URL atual do browser e utilizando-a em outra máquina. Corrigido.


Lightweight Sessions

O Gerenciamento de Sessões foi revisto, sendo criado um novo modelo de uso mais robusto, possibilitando o atendimento de um maior número de usuários com menor consumo de memória. Esse novo modelo é restrito à aplicações onde as informações necessárias no fluxo de operação são pequenas, não sendo aplicável ao Framework HTML. A sua aplicação é voltada para sites institucionais, comércio eletrônico ou B2B, onde o tamanho das informações que devem ser mantidas a cada página solicitada seja inferior à 4kb.

O modelo consiste em dois novos recursos:

Compartilhamento de ambiente Agora é possível compartilhar um ambiente JavaScript entre vários usuários, permitindo que poucos ambientes JavaScript atendam a um número elevado de usuários.

Um ambiente compartilhado irá manter o estado da última execução do último usuário e as definições realizadas no ambiente poderão não estar disponíveis na próxima execução. Este tipo de ambiente é chamado de Stateless, pelo fato de não garantir seu estado a cada execução. Esse modo é diferente do atual, Statefull, onde todas as variáveis e funções criadas no ambiente estarão disponíveis a cada execução e as alterações realizadas em um ambiente por um usuário, não interferem no ambiente de outro.

Ao utilizar um ambiente Stateless, o desenvolvedor deve ter em mente que todas as definições da última execução não estarão disponíveis e que ele deve incluir todas as bibliotecas necessárias a cada página. Ele também não pode guardar na variável global do ambiente informações do usuário, pois estas serão visíveis a todos os demais usuários.

Persistência de sessão A utilidade de um ambiente stateless é limitada, pois quase sempre é necessário manter informações do fluxo da operação que o usuário está realizando. Para resolver esta problema, foi criado o conceito de persistência de sessão. Com este recurso, todas as propriedades de uma sessão serão mantidas a cada solicitação do cliente. Isto permite ao desenvolvedor armazenar informações necessárias entre as execuções, como um carrinho de compra ou status de uma operação. Os sites também tornam-se mais robustos, pois uma sessão de usuário não é perdida após uma queda do servidor.

Como uma base de cliente pode ter várias aplicações como o Framework HTML, um Website, uma Intranet e estas possuem características distintas, foi criado o conceito de Realm. Um Realm é uma divisão da árvore de scripts e ele tem a finalidade de agrupar as páginas que compartilham a mesma configuração de sessão.


A configuração de como o sistema deve gerir as sessões é realizada no x-class através da propriedade this.session. Exemplos:

   // Sessão semelhante a atual
   this.session.realm = 'DataChannel'
   this.session.environmentType = SessionEnvironmentType.STATEFULL
   this.session.persistence = SessionPersistence.NONE
   // Sessão para um WebCommerce:
   this.session.realm = 'WebSite'
   this.session.environmentType = SessionEnvironmentType.STATELESS
   this.session.persistence = SessionPersistence.COOKIE


A documentação preliminar das configurações da sessão pode ser localizada em "/products/INTEQengine/library/private/SessionConfiguration.js".

Ao utilizar este novo modelo, sessões persistentes com ambientes compartilhados, o desenvolvedor deve ter em mente que o ambiente JavaScript não mantém as alterações dele e que toda informação do fluxo operacional deve ser armazenada como propriedades do objeto Session.

Interferência de bloqueador de anúncios detectada!


A Wikia é um site grátis que ganha dinheiro com publicidade. Nós temos uma experiência modificada para leitores usando bloqueadores de anúncios

A Wikia não é acessível se você fez outras modificações. Remova o bloqueador de anúncios personalizado para que a página carregue como esperado.

Também no FANDOM

Wiki aleatória