MVC è il modello ottimale per creare un servizio web RESTful?

5

Non essendo un professionista Java, di recente sono venuto a conoscenza delle specifiche JAX-RS e del framework Apache CXF. Mentre continuo a girare intorno a tutte queste cose, leggo anche questa domanda su SO .

Poiché MVC è un modello di progettazione mentre JAX-RS è una specifica, ero confuso riguardo al confronto. Concessa la mia comprensione iniziale di JAX-RS, cosa lo rende più adatto all'implementazione di un'API RESTful piuttosto che un framework che utilizza il pattern MVC?

NB. Ho uno sfondo C e Python.

    
posta Salman Haq 17.04.2013 - 18:11
fonte

2 risposte

6

Non penso che si possa dire se uno schema specifico sia "ottimale" per qualcosa di così ampio come lo sviluppo di servizi RESTful. Se quel modello è ottimale dipende dalle esigenze della tua azienda, dalla progettazione e se risolve un problema per te.

Detto questo, il concetto MVC può essere molto utile nello sviluppo REST. La mentalità di separare la logica aziendale (modelli, controllori) dai dettagli del protocollo HTTP (vista) può mantenere il codice più flessibile / riutilizzabile. Ti permetterebbe di aggiungere altri protocolli al tuo servizio più facilmente. Ad esempio, è possibile supportare SOAP, REST e un protocollo di socket binario personalizzato come "viste" che utilizzano tutte la stessa logica di base.

Per quanto riguarda il confronto tra framework (JAX-RS, Apache CXF, altri framework MVC), questo è più un problema di trovare quello che soddisfa le tue esigenze. Dovresti considerare fattori come la maturità, la familiarità con i tuoi sviluppatori, la comunità, ecc. È importante non confondere framework e pattern (anche se molti framework definiscono stessi su un'implementazione di un modello).

    
risposta data 17.04.2013 - 20:02
fonte
1

Sembra che le persone stiano usando schemi che funzionano per un tipo di scenario per tutto.
MVC è totalmente inadatto per REST.

REST si basa su un protocollo di comunicazione client-server senza stato.

REST è uno stile di architettura per la progettazione di applicazioni in rete. L'idea è quella, piuttosto che usare meccanismi complessi come CORBA, RPC, COM o SOAP per connettere tra macchine, Tutte le chiamate sono messaggi e non ci sono oggetti. L'HTTP semplice viene principalmente utilizzato per effettuare chiamate tra macchine.

Il World Wide Web stesso, basato su HTTP, può essere visto come un'architettura basata su REST.

    
risposta data 05.03.2016 - 02:57
fonte

Leggi altre domande sui tag