Qual é a maneira mais eficiente de implementar um aplicativo cliente RESTful?

5

Estou trabalhando em um aplicativo da web para classificar alguns produtos com base em alguns fatores.

O usuário envia uma consulta de pesquisa para 5 serviços web que por sua vez enviam uma resposta em formato JSON e algumas vezes em formato XML (as respostas não são estruturadas da mesma forma, já que os webservices são diferentes t). Eu escolhi reformatar tudo para uma estrutura json especial para que eu possa usá-lo.

Meu problema atual é que não sei de que maneira devo implementar esse aplicativo, que é basicamente um cliente REST que interfere em outros serviços da Web.

A abordagem do servidor:

A primeira maneira que eu tinha em mente era usar uma implementação do lado do servidor (usando python e flask) para enviar uma solicitação HTTP e receber uma resposta, "ReEncode" tudo em um formato json estruturado e envie de volta para o cliente que irá processá-lo.

Aqui estão as etapas das coisas que devem funcionar usando essa abordagem:

  1. Cliente envia uma solicitação ao meu servidor contendo a consulta de pesquisa
  2. Meu servidor reformatará a solicitação para criar uma solicitação HTTP para cada serviço da web
  3. O servidor envia a solicitação para esses serviços RESTful e recebe de volta uma resposta HTTP de cada servidor.
  4. O servidor decodifica essas respostas para uma estrutura de dados especial que eu fiz, então aplica toda a lógica de classificação e processamento a ele.
  5. O servidor recodifica tudo no formato json e o envia de volta aos clientes.
  6. O navegador do cliente faz uma nova análise e renderiza a resposta do json!

A abordagem do lado do cliente:

A maneira seconde para criar este aplicativo é fazer toda a comunicação HTTP, processamento de dados, análise e renderização em um lado do cliente, com certeza nada aqui é realmente do lado do cliente, já que o aplicativo terá que se comunicar com webservices.

Os passos para esta abordagem são os seguintes:

  1. Tipo de cliente as palavras-chave de pesquisa (a consulta de pesquisa)
  2. Os clientes do navegador criam uma solicitação http (usando as chaves de consulta e consulta de pesquisa) e a enviam diretamente para os serviços da Web.
  3. O navegador do cliente decodifica a resposta (formato json / xml) e cria objetos nativos que eu preciso usar.
  4. Processar os dados decodificados (classificação, filtragem ...)
  5. Re codifique tudo para um formato json estruturado
  6. Render tudo.

Essa abordagem usará apenas JS e alguns frameworks.

A questão : Qual é a maneira mais eficiente e rápida de configurar?

Coisa a considerar:

  • Eu tenho um conhecimento limitado de python e js.
  • Este é um projeto de meio período.
  • Eu preciso terminar em menos de um mês.
  • Essa é a minha primeira aplicação web (mas não meu primeiro projeto de programação, já fiz softwares e jogos antes)
por DeltaWeb 21.12.2015 / 23:21
fonte

1 resposta

1

A abordagem do lado do cliente terá o menor tempo de desenvolvimento, porque você só precisa desenvolver uma camada (o cliente). Se você seguisse a abordagem do lado do servidor, teria que desenvolver o cliente e o servidor. Talvez o número de linhas de código não seja muito diferente, mas com a abordagem do lado do cliente você terá que lidar apenas com um programa e uma linguagem de programação. A depuração será mais fácil, também porque existe apenas um thread.

Se eu entendi corretamente, você não está preocupado com o impacto de longo prazo de sua escolha, então não considero isso na minha resposta.

    
por 31.12.2015 / 10:59
fonte