Sessão compartilhada usando Tomcat e IIS

Howdy,

estou com o seguinte problema: preciso trocar informações entre uma sessão que está no Tomcat com uma no IIS e vice-versa. Pelo que andei lendo nas documentações de ambos os servidores, não existe uma forma disto ser feito apenas com uma configuração nos mesmos.

Pensei em trocar as informações que preciso através de um cookie onde ambos poderiam ter acesso, porém, por alguns testes que andei fazendo, o cookie que é gravado com ASP não é lido com JAVA e vice-versa.

Então, considerando tudo que foi falado, as perguntas são:

  1. Existe uma forma de trocar informações através de cookies entre ASP e JAVA? Se existir, como ficaria a solução?

  2. Existe alguma forma de compartilharmos uma sessão entre o IIS e o Tomcat automaticamente, sem precisar de modificações no código da aplicação e criar artifícios utilizando cookies ou banco de dados, por exemplo?

  3. Neste tipo de problema, qual a solução que vocês vêem como mais viável?

Como está configurado seu servidor? Existem 3 maneiras …

  • São máquinas diferentes o IIS e o Tomcat;
  • Estão em uma única máquina, portas diferentes (80 e 8080);
  • IIS com o plugin MOD_JK acessando o Tomcat (AJP13)

Se sua configuração for a última, acredito que vc esteja na mesma sessão …

Estou fazendo testes na mesma máquina com o Tomcat e o IIS rodando em portas diferentes. Também estou utilizando ISAPI_REDIRECT.DLL no IIS para redirecionar as chamadas que são pertinentes ao Tomcat…

A pergunta é bem simples, só quero saber se existe uma forma de trocar informações entre sessões de servidores diferentes e como ficaria esta solução.

Agradeço antecipadamente a ajuda…

Complicado, pois vc está rodando em 2 servicos diferentes… portanto, logicamente seriam 2 sessões diferentes…

tente configurar o plugin do mod_jk no IIS, acredito que assim vc terá tudo na mesma sessão …

É isso que estou percebendo.

Não tenho experiência em ASP, mas tentei fazer uma solução provisória trocando os dados das sessões através de cookie, mesmo assim ainda estou tendo problemas já que o ASP não lê corretamente os cookies de Java e vice-versa. Teria alguma idéia de como resolver isso, se é que tem alguma solução? Ao meu ver, existe alguma forma já que o cookie é gravado do lado cliente, sendo assim pelo mesmo browser em uso, o que em teoria me faz acreditar que não há motivos para as duas plataformas não poderem conversar dessa maneira.

Pois é… tente fazer isso que eu disse… utilize o IIS+Tomcat com o JK2, AJP13 configurado no tomcat … nesse caso, somente as páginas JSP serão processadas pelo Tomcat, mas todo serviço de http ficará com o IIS …

http://ftp.pucpr.br/apache/jakarta/tomcat-connectors/jk2/binaries/win32/

SOLUCIONADO!!!
Como havia previsto. Os cookies são gravados pelo browser, sendo assim não fazia sentido, apesar de usar dois servidores diferentes, não conseguir compartilhar o mesmo cookie.

A solução foi a seguinte… existe uma RFC 2109 que especifica os cookies. Dei uma lida no documento e vi que alguns parâmetros adicionais são passados para o browser para que ele mesmo grave os cookies. Destes parâmetros, dois foram de fundamental importância: DOMAIN e PATH. Mapeando corretamente estes dois parâmetros foi possível fazer a conversa entre um cookie gravado em ASP e lido em JAVA. Estou fazendo agora mesmo os testes para ver se o contrário funciona normalmente, mas acredito que sim.

Valeu a ajuda…
Abraço.

Que beleza!

Porém já que vc está testando, faça isso que eu lhe disse… configure o IIS como webserver e o Tomcat como Container, com ele somente processando o JSP… hoje vc tem o Tomcat como webserver tb, porém em outra porta…

vc resolveu utilizando o lado comum destes 2 webservers, o cliente… porém eu fico pensando como ficaria no caso do cliente estar com os cookies desabilitados? Complicaria sua vida…

Abraços!