SOA in .NET 4.5 con durata MSMQ

0

Ho svolto alcune ricerche sull'API Web ASP.NET. Mi è piaciuto usare il modello REST WCF per creare nuovi servizi web RESTful e API Web sembra essere un'iterazione più pulita su questo.

Tuttavia, mi piace la flessibilità di WCF nel consentire HTTP, TCP, MSMQ. Questo aspetto sembra facilitare un'architettura distribuita e scalabile. E 'corretto per me concludere che la WCF continuerà a essere la mia migliore scommessa quando si tratta di accodare messaggi di posta durevoli e dimenticati?

    
posta lorddev 28.11.2012 - 00:56
fonte

1 risposta

2

Se quello che vuoi è fire-and-forget, vai direttamente con MSMQ, o usa qualcosa come NServiceBus o MassTransit. Il problema con WCF è che nel tentativo di astrarre dettagli di trasporto, finisce per nascondere aspetti che dovrebbero essere espliciti. A mio parere, il costo dell'astrazione è troppo alto.

È possibile utilizzare WebAPI insieme a MSMQ + NServiceBus. Risolvono problemi molto diversi. In un'architettura stereotipata, avresti un servizio Web implementato con WebAPI che invia messaggi, in maniera ignifuga, a una tecnologia di messaggistica. Può anche servire query che possono restituire lo stato e i risultati del processo, per esempio.

Se si utilizza WebAPI o WCF dipende dai propri requisiti. Se è necessario utilizzare TCP, andare con WCF. Se è possibile utilizzare HTTP, andrei con WebAPI. Rende l'HTTP esplicito e più facile da lavorare. Dopo tutto, HTTP è già un ricco protocollo di applicazione, perché nasconderlo?

    
risposta data 28.11.2012 - 01:32
fonte

Leggi altre domande sui tag