MVC o Estrai livello di servizio

0

abbiamo un'applicazione creata con .Net MVC. Ora abbiamo il compito di esporre le API a terze parti. I membri del nostro team vogliono solo continuare il nostro percorso attuale e utilizzare solo più controller in modo da poter riutilizzare il back-end della nostra attuale applicazione. La logica mi dice che dobbiamo creare un livello di servizio separato quando più clienti accederanno a questo, ma. MVC sembra preoccuparsi di tutto questo. E 'davvero un'architettura accettabile utilizzare i controller in un'applicazione stand-alone per esporre le API e quali sarebbero i potenziali vantaggi dell'estrazione del livello di servizio?

    
posta 25.10.2012 - 18:10
fonte

2 risposte

1

Potresti usare controller regolari per creare un'API. Prenderò in considerazione l'idea di non mischiarlo con la tua applicazione e metterlo in un progetto / processo separato.

Il tuo codice controller esistente potrebbe essere un po 'troppo intimo con l'applicazione perché funzioni come API generica.

Come potrebbero "riutilizzare il back-end della nostra attuale applicazione" se tutto è nei controller? Dai nuovi controller API chiamate ai controller esistenti? RedirectToAction? Penso che questo cadrà molto facilmente e includerai un'infrastruttura (MVC) inutilmente nel tuo modello di riutilizzo.

Penso che la creazione di un livello di servizio sia una forma di "riutilizzo del back-end". Un livello di servizio significherebbe estrarre alcuni bit che si desidera riutilizzare. Rendi agnostico il livello di servizio di MVC.

Il livello di servizio può essere potenzialmente utilizzato nelle app desktop e nelle app console. Il prossimo gen cool framework ecc. Per i test unitari può essere molto utile configurare i casi di test senza dover prendere in giro un framework di applicazione.

    
risposta data 12.12.2012 - 23:46
fonte
0

Ho visto ruby su applicazioni rails con un resto-api che può renderizzare il loro contenuto come hmtl leggibile dall'uomo o come jSON o xml leggibile da una macchina in base al tipo mime.

Se Webgui e service api sono abbastanza simili, puoi provare anche questo.

Se Webgui e service api sono diversi, non proverei a forzare il servizio in mvc, ma creerò un servicestay sottile separato che avvolge modell con autenticazione / sicurezza.

    
risposta data 09.09.2013 - 08:52
fonte

Leggi altre domande sui tag