Alternativa para ServerSocket no Google AppEngine

Olá pessoal,

Estou migrando minha aplicação para o GAE (Google AppEngine).
Parte web ta sendo bem tranquilo.
Parte de persistência, mais trabalhosa, mais ainda sim indo bem.

Agora meu problema:
Tenho um módulo que roda em outra virtual machine do servidor web.
Este módulo é um servidor Socket (que também tem implementação com java.nio) que recebe conexões de diversos clients (máquinas desktops que enviam e recebem dados).

Alguém sabe de alguma alternativa para que eu consiga manter uma conexão direta e aberta entre o servidor e o cliente que funcione no GAE?
Fiz com Socket porque a maioria das requisições saem do Servidor e vão para os Clientes… além de ter um controle para saber quem está online e etc…

Eu poderia manter esse módulo externo fora do GAE, mas se fosse possível também fazer o deploy dele na infra do Google ia ser perfeito! :smiley:

Obigado!

Opa! tambem estou me aventurando com o [google]Google App Engine[/google]! e tendo problemas com a persistência! não sei como resolver o problema do Socket!
no seu sitema você precisou fazer algum like?

Boa sorte ai cara!

oi

eu to usando JDO pra persistencia… entao eu uso o startsWith normalmente pra substituir o like do sql

mas ainda nao encontrei uma solução pra substituir o socket…
estou ciente que a arquitetura terá que ser mudada… a unica coisa que me falta, é saber o que utilizar para manter uma conexão sempre aberta com varios clients…

abraços!

Você faz isso no codigo java! eu quero fazer uma query que traga do Datastore (DataTable) somente os registros que atendem ao critério de pesquisa, achei esta solução mais ainda não tive tempo de implementar http://stackoverflow.com/questions/47786/google-app-engine-is-it-possible-to-do-a-gql-like-query e estou com uma ideia meio maluca, preciso fz o like no nome dos usuarios de um sistema então estou pensando em criar objetos com cada letra e compor o nome com o indice destes objetos! coisa de doido! vou tentar a soluçao do link se não der mãos a obra!

nao é no codigo java… é via jdoql methods…
http://www.jpox.org/docs/1_2/jdo/jdoql_methods.html

mas voltando ao assunto origninal do topico… achei uma alternativa… nao é perfeita, mas é uma alternativa para o Socket (pelo menos no caso que uso)…
é usando XMPP
http://code.google.com/intl/pt-BR/appengine/docs/java/xmpp/overview.html

não é perfeito, pq o tamanho das mensagens tem limite (100kb) e eu as vezes preciso enviar conteúdo binário… acho que nao vai ser possível com XMPP… talvez usando Base64, mas aí vou precisar implementar uma especie de conversação pra concatenar as mensagens maiores do que 100kb

ainda sigo na busca por um substituto do Socket para o GAE

abraços

Blz cara valeu pelo esclarecimento! novamente boa sorte!