O MVC é o padrão ideal para criar um serviço da web RESTful?

5

Não sendo um praticante de Java, recentemente aprendi sobre a especificação JAX-RS e o framework Apache CXF. Embora ainda envolva todas essas coisas, eu também li o essa pergunta sobre SO .

Como o MVC é um padrão de design, enquanto o JAX-RS é uma especificação, fiquei confuso sobre a comparação. Concedendo meu entendimento inicial do JAX-RS, o que o torna mais adequado para implementar uma API RESTful do que uma estrutura que usa o padrão MVC?

N.B. Eu tenho um fundo em C e Python.

    
por Salman Haq 17.04.2013 / 18:11
fonte

2 respostas

6

Eu não acho que se poderia dizer se algum padrão específico é "ideal" para algo tão amplo quanto o desenvolvimento de serviços RESTful. Se esse padrão é ideal depende das suas necessidades de negócios, design e se ele resolve um problema para você.

Dito isto, o conceito MVC pode ser muito útil no desenvolvimento do REST. A mentalidade de separar sua lógica de negócios (modelos, controladores) dos detalhes do protocolo HTTP (view) pode manter seu código mais flexível / reutilizável. Permitir-lhe-ia adicionar mais facilmente outros protocolos ao seu serviço. Por exemplo, você poderia suportar SOAP, REST e um protocolo de soquete binário personalizado como suas "visualizações", todas usando a mesma lógica central.

No que diz respeito a comparar frameworks (JAX-RS, Apache CXF, outros frameworks MVC), é mais uma questão de encontrar um que atenda às suas necessidades. Você teria que considerar fatores como maturidade, como seus desenvolvedores estão familiarizados com ele, comunidade, etc. É importante não confundir frameworks e padrões (embora muitos frameworks definam se em uma implementação de um padrão).

    
por 17.04.2013 / 20:02
fonte
1

Parece que as pessoas estão usando padrões que funcionam para um tipo de cenário para tudo.
O MVC é totalmente inadequado para o REST.

O REST depende de um protocolo de comunicação sem cliente / servidor.

REST é um estilo de arquitetura para projetar aplicativos em rede. A idéia é que, em vez de usar mecanismos complexos como CORBA, RPC, COM ou SOAP para conectar entre máquinas, todas as chamadas são mensagens e não há objetos. O HTTP simples é usado principalmente para fazer chamadas entre máquinas.

A própria World Wide Web, baseada em HTTP, pode ser vista como uma arquitetura baseada em REST.

    
por 05.03.2016 / 02:57
fonte