Pergunta

Eu gostaria de criar um RESTful aplicação no Google App Engine.Eu gostaria de dar XML e JSON serviços.Eu tenho brevemente experimentou com Restlet, Resteasy, e Jersey.Eu não tive muito sucesso com qualquer um deles, diferente de alguns exemplos simples em Restlet.

Você poderia compartilhar suas experiências criação de um web Restful aplicação no Google App Engine usando Java ou fornecer qualquer esclarecimento sobre o referido kits de ferramentas no GAE?

Obrigado!

Editar (2009-07-25):

Eu decidi usar Restlet para o momento.Parece funcionar perfeitamente até agora.Favor postar quaisquer outros conhecimentos e opiniões que você pode ter.Quais os problemas que você encontrou?Você já utilizado com sucesso Jersey/Restlet/Resteasy no GAE/J?Se assim for, nós queremos ouvir sobre isso!

Foi útil?

Solução

Fico feliz em relatar que o Restlet M3 funciona perfeitamente no AppEngine 1.2.2. Eu segui os tutoriais "Primeiros passos" e "primeiro recurso" encontrados http://restlet.com/technical-resources/restlet-framework/guide.

Então, parece -me que o Restlet é a resposta para seus aplicativos RESTful GAE/J.

Outras dicas

Eu estou usando Jersey no GAE.Aqui está o link para quem estiver interessado sobre a sua configuração:(Eu estou usando GAE SDK v1.4.0):

http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html

Vou começar a explorar isso também, mas ainda não comecei. Eu encontrei essa estrutura, que diz que deveria funcionar, mas como eu disse ainda não experimentou.

http://wiki.restlet.org/docs_1.2/13-restlet/275-restlet/252-restlet.html

Se você o fizer funcionar ou conseguir uma das sugestões acima funcionando, atualize todos, pois tenho certeza de que há interesse nisso.

Estou usando RestLet junto com Guice no Google AppEngine. IMHO eles se encaixam muito bem. Veja minha recente postagem no blog para obter mais detalhes: http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html

Como essas soluções mais antigas valentes foram corrigidas, o Google aparentemente forneceu um plug -in Eclipse para criar um projeto inicial que produz um aplicativo de mecanismo de aplicativo, um Android APK e um aplicativo da web, todos conversando entre si em uma interface definida por um único conjunto de declarações de objetos anotados.

Ainda não tentei isso, mas dê uma olhada antes de tentar nenhum dos exemplos mais heterogêneos descritos nas mensagens anteriores acima:

https://developers.google.com/eclipse/docs/appengine_connected_android

Este vídeo do Google também é bastante informativo:

http://www.youtube.com/watch?v=NU_WNR_UUN4

Pelo que vale a pena, houve bastante discussão sobre Listas de usuários de camisa WRT Como fazer Jersey trabalhar no GAE. É um trabalho um pouco tedioso devido às restrições do GAE (falta de aulas de listas brancas - espero resolvidas ao longo do tempo), mas aparentemente podem ser feitas para funcionar. Portanto, embora não seja trivialmente fácil, essa pode ser a sua melhor aposta; esp. Como muitos dos problemas enfrentados são os mesmos para todas as estruturas (impostas pelo GAE).

Bem, eu recomendaria que você dê uma olhada estrutura de jogo

Dê uma olhada no vídeo na página inicial

Tem um Módulo GAE

Com Siena Como um ORM para lidar com o GAE DataStore

De todas as estruturas Java que eu já vi até agora, acho que tem a curva de aprendizado mais fácil,

  • excelente documentação,

  • uma tutorial Para desenvolver um aplicativo completo

  • Comunidade muito ativa e útil,

  • livre como na cerveja e também como na fala

  • altamente escalável devido ao seu design de apátrida fora da caixa

  • descansar amigável

  • altamente personalizável por meio de seus módulos e abordagem de plug -in

Mais, levando em consideração que é para um curso universitário, é realmente fácil invadir o código, eu poderia lidar com alguns ingressos e novos recursos sem nenhuma experiência com Java, apenas alguns anos desenvolvendo aplicativos da Web com PHP

outros benefícios

  • É realmente fácil de começar, nenhuma configuração complicada envolvida, basta baixar e descompactar o arquivo e você está pronto

  • Ótima experiência de desenvolvimento, basta consertar o código e atingir a atualização, reproduzir mudanças de autocompiles em tempo real ao executar no modo de desenvolvimento

  • Rápido e leve

  • FullStack, você não precisa integrar estruturas complicadas para fazê -lo funcionar

  • Ótimos relatórios de erros, sem mais inúmeros erros de erro, apenas mostra a linha com erro

  • Nenhuma configuração XML em nenhum lugar

  • Ótimo suporte para TDD com teste integrado de selênio

Eu acho que a principal vantagem como ferramenta de aprendizado é que é possível espiar o código -fonte sem se sentir perdido e o apoio da comunidade ... a documentação é muito clara e você pode aprender muito apenas dando uma olhada na fonte código...

Recentemente, juntei um modelo de projeto com Jersey, Guice e Appengine no Github. Foi desenvolvido com simplificação, mas pode ser modificado para trabalhar com o Objectify / JDO facilmente. O projeto está ao vivo aqui.

Deve ser um bom ponto de partida para novos projetos.

Aqui está um Restlet Tutorial muito bom/Android/GAE/Objectify com um exemplo de um aplicativo simples. Desculpe, está em francês, mas você pode copiar/colar o código ou usar o Google Traduction.

Eu o segui e tinha um servidor Android / GAE em funcionamento se comunicando em duas horas. É uma boa base para iniciar ou testar.

http://www.tutos-android.com/webservice-rest-android-apgengine-restlet-objectify

Boa sorte

As duas ações mais complicadas da API GAE REST para fazer o trabalho, sejam Java ou .py, são gráficos e como não exibir informações privadas. Meu pequeno GAE REST FEED FILHADO outro projeto. Tenho certeza de que o Java consegue onde Python ficou preso devido ao Java toma e dá mais maneiras (vantagens), bem como tempo mais longo (mais lento) para ter sucesso (desvantagem), enquanto os projetos de Python abrem menos maneiras de ter sucesso (desvantajoso) e menos tempo de desenvolvimento ( desenvolvimento rápido vantajoso) para ter sucesso o mesmo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top