Pergunta

Para prefaciar, sou novo no desenvolvimento web.Estou pensando em criar um conjunto básico de serviços da Web RESTful em torno de uma espécie de biblioteca de documentos valiosa (habilidades CRUD iniciais).Ao fazer isso, estou teoricamente criando um back-end perfeitamente reutilizável e escalonável para ser usado por aplicativos imprevistos no futuro.

Minha pergunta gira em torno das melhores práticas para fazer isso.Meu requisito inicial é criar também um front-end exclusivo.Eu faria o front-end e o back-end projetos completamente separados para aumentar a reutilização.Isso aumentaria a sobrecarga.

Analisando o uso de GWT, Restlet e a pilha de tecnologia Java EE, se isso influenciar a configuração.

Foi útil?

Solução

O mais importante é o design de uma API Java limpa - independente do REST, RMI ou qualquer protocolo que você queira usar. A partir de uma API Java limpa, você pode suportar qualquer método de acesso.

A menos que você tenha um caso de uso para esses outros métodos de acesso, não os construa agora. Você pode construí -lo quando precisar.

A interface mais fácil a adicionar inicialmente é uma interface baseada na Web, na qual seu aplicativo da Web é executado na mesma JVM que sua API principal. Eu faria isso se isso funcionar para o seu caso de uso. Construir um aplicativo de console separado que acessa sua API principal por meio de um protocolo REST (ou qualquer outra coisa) é muito mais trabalho.

Outras dicas

Martin Fowler escreveu um artigo muito bom sobre o básico do descanso pouco tempo atrás: Modelo de maturidade de Richardson. Achei muito útil entender os princípios do descanso.

Se quiser usar serviços de back-end baseados em REST, você deve usar o RestyGWT projeto que permite usar um estilo de programação GWT-RPC para acessar seus serviços restful baseados em JSON.

O bom de usar serviços JSON baseados em REST em vez de serviços GWT-RPC tradicionais é que esses serviços podem ser usados ​​por outros clientes ou até mesmo em mashups com mais facilidade.

Você pode considerar o uso do GWT-RPC em vez de descansar se souber que usará o GWT para o front-end. Mais discussão aqui.

No entanto, se você acha que pode eventualmente expor seus dados por meio de uma API REST ou usar uma tecnologia diferente no frontend, o REST pode ser uma escolha melhor.

o GWT-REST O projeto também pode ser útil.

Um colega e eu escrevemos um sistema GWT usando projetos separados para as extremidades dianteiras e traseiras. Foi útil manter as coisas bem claras sobre onde o código está executando. Mas não tenho certeza se me incomodaria em separar as coisas em um sistema futuro.

Além disso, como você é novo no desenvolvimento da web, acho que não deveria esperar fazer um back-end perfeitamente reutilizável. Você aprenderá muitas coisas à medida que avança. Eu acho que os codificadores ágeis recomendariam uma abordagem iterativa de (a) fazer um pequeno aspecto funcionando e, em seguida, (b) refatorá -lo para torná -lo bonito.

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